Skip to main content
Get up and running with DA Builder quickly. This guide covers the essential steps to start aggregating transactions and reducing costs.

Prerequisites

  • Whitelisted EOA address (request access↗)
  • Basic understanding of EIP-7702
  • ETH for GasTank deposit

Quick Setup (5 Steps)

1. Whitelist Your Address

Contact us to get your EOA address whitelisted for DA Builder access.

2. Deploy Proposer Contract

Deploy a TrustlessProposer contract or implement the IProposer interface:
interface IProposer {
    function onCall(address _target, bytes calldata _data, uint256 _value) external returns (bool);
}
See the sample integration↗ for a complete implementation.

3. Set Up EIP-7702 Account Code

Submit an EIP-7702 transaction to associate your proposer contract with your EOA:
// Using Alloy
let authorization = Authorization {
    chain_id: U256::from(chain_id),
    address: proposer_address,
    nonce: auth_nonce,
};

let signed_authorization = authorization.into_signed(signature);
let tx = TransactionRequest::default()
    .with_authorization_list(vec![signed_authorization])
    .with_chain_id(chain_id);

4. Fund Your GasTank

Deposit ETH to the GasTank contract to cover transaction costs:
gas_tank_contract.deposit()
    .value(deposit_amount)
    .send()
    .await?;
Important: After depositing to the GasTank, it can take a couple minutes for the deposit to be indexed and processed before you can execute aggregated transactions through DA Builder. Use dab_accountInfo to check when your balance is available.
Contract addresses and endpoints are in the Quick Reference.

5. Submit Your First Transaction

Submit transactions through DA Builder’s RPC endpoint:
let pending_tx = da_builder_client
    .send_da_builder_transaction(tx_request, deadline_secs)
    .await?;

let receipt = pending_tx.await?;

RPC Endpoints

Next Steps

Support

Questions? Reach out at [email protected].