Execution Mechanism

After vote allocations are determined, Autopilot handles on-chain execution using a batched voting system. The design ensures efficient processing for users with one or many veAERO positions, while minimizing gas usage and handling edge cases with built-in fallback logic.


🗳️ Batched Voting

Autopilot supports multiple veAERO locks per wallet. To reduce overhead and ensure scalability, votes are submitted in gas-optimized batches.

Why Batching Is Required:

Without batching, each NFT would require its own transaction. This would lead to:

  • Higher gas usage per vote

  • Risk of exceeding block limits

  • Increased latency for users with multiple positions

How It Works:

  • Batch construction: veAERO NFTs are grouped based on availability and owner. Batches are structured to stay within the Base network’s ~30 million gas limit per block.

  • On-chain submission: Each batch contains multiple vote() calls submitted in a single transaction. This allows for fast, low-cost execution during the limited voting window.


🔁 Handling Failures

Autopilot includes logic to handle potential failures during batch execution (e.g., network congestion, invalid pool data, or failed state reads).

Built-in Resilience:

  • Retry logic: NFTs that fail to vote in a batch are retried individually in fallback transactions.

  • Error tracking: Failed operations are logged and emitted on-chain via VotingCompleted and FallbackExecuted events.

  • Non-blocking execution: One failed NFT does not halt the process — remaining NFTs in the batch continue uninterrupted.

📘 Example: If 1 out of 50 NFTs fails due to an outdated gauge, Autopilot completes the batch and retries the failed one in a separate call.


🔐 Nonce Handling

Managing multiple NFTs per wallet requires accurate nonce sequencing to prevent conflicts and failures.

  • Predictive nonce tracking: Autopilot tracks wallet nonce states before each transaction to avoid duplication.

  • Gas-aware execution: Nonce ordering is dynamically adjusted if transactions are pending or fail, ensuring smooth flow even during high usage.


📦 Execution at Scale

Autopilot’s execution model supports:

  • High-volume veAERO holders with dozens of NFTs

  • Institutional wallets and DAOs managing large positions

  • Time-sensitive batch execution under constrained blockspace

The system is designed to complete voting in the final blocks of each epoch, even with many users and dynamic vote targets.


Autopilot handles vote execution across all veAERO locks in an efficient, fault-tolerant way — with no manual input and minimal on-chain overhead. Whether you're managing one lock or hundreds, execution remains predictable and scalable.

Last updated