Skip to main content

Summary

DA Builder combines offchain transaction aggregation with onchain EIP-7702 proposer execution so multiple participants can share Ethereum execution overhead.

System Architecture

Component Responsibilities

User EOA With EIP-7702 Proposer Code

The user EOA contains delegated EIP-7702 account code. The proposer code can be Spire’s TrustedProposer or a TrustlessProposer implementation. TrustedProposer is best for dedicated EOAs where trusting Spire’s DA Builder service is acceptable. TrustlessProposer is best for applications that require account-owner authorization for each delegated call.

DA Builder Service

The DA Builder service accepts transaction submissions, validates account setup and GasTank funding, groups compatible transactions, returns transaction hashes, and manages status tracking. DA Builder is not a full Ethereum RPC provider. Use a standard RPC provider for reads, archive queries, event logs, and direct fallback.

ProposerMulticall Contract

ProposerMulticall executes aggregated onchain transactions. It calls each participant’s proposer account code in sequence so multiple user operations can share duplicated execution overhead.

GasTank Contract

GasTank stores user deposits and provides the accounting source for DA Builder transaction costs. dab_accountInfo returns GasTank balance and outstanding_charge for an account.

Data Flow

  1. The user deposits ETH into GasTank.
  2. The user delegates a dedicated EOA to TrustedProposer or TrustlessProposer.
  3. The application sends a signed transaction to the DA Builder RPC endpoint.
  4. DA Builder validates the account, funding, and transaction.
  5. DA Builder aggregates compatible transactions.
  6. ProposerMulticall executes proposer calls onchain.
  7. DA Builder calculates costs and updates GasTank charges.
  8. The application polls eth_getTransactionReceipt or dab_transactionStatus.

Trust Boundaries

BoundaryTrustedProposerTrustlessProposer
Delegated executionSpire’s DA Builder service can execute through the delegated EOAProposer code verifies account-owner authorization before execution using ecrecover
Application signing changesNot required after delegationRequired for EIP-712 proposer payloads
Best account typeDedicated hot-wallet EOA with limited permissionsEOA that needs explicit authorization for delegated calls
Main riskOverbroad delegated authorityIncorrect signing, nonce, deadline, or storage-layout implementation

Failure Modes

Failure modeEffectHandling
GasTank not fundedSubmission will be unable to aggregateDeposit ETH and poll dab_accountInfo
DA Builder unavailableDA Builder submission path failsSubmit directly through standard RPC
Unsupported RPC methodRequest fails or is not appropriate for DA BuilderUse a standard Ethereum RPC provider
Bad TrustlessProposer payloadDelegated call revertsValidate EIP-712 signing, nonce, deadline, and gas limit

Unsupported Uses

Do not use DA Builder as an archive node, indexer, read-heavy RPC provider, general-purpose wallet backend, or blob compression system. DA Builder’s architecture is for transaction aggregation and GasTank-based cost accounting.