Bundler Endpoint
As per ERC-4337, Bundler is a node (block builder) that can handle UserOperations, create a valid an EntryPoint.handleOps() transaction, and add it to the block while it is still valid. This can be achieved by a number of ways:
Bundler can act as a block builder itself
If the bundler is not a block builder, it MUST work with the block building infrastructure such as
mev-boost
or other kind of PBS (proposer-builder separation)The
bundler
can also rely on an experimentaleth_sendRawTransactionConditional
RPC API if it is available.
Utilize the following API to send the bundle of user operations to the bundler.
/senduserops
Prepare the data, to send the bundle of user operations, to the bundler.
POST
https://api.expand.network/aa/senduserops
Request Body
rpc
String
Remote procedural call URL.
chainId
String
signature*
String
Data passed into the account along with the nonce during the verification step.
paymasterAndData*
String
Address of paymaster sponsoring the transaction, followed by extra data to send to the paymaster. (empty for self-sponsored transaction)
maxPriorityFeePerGas*
String
Maximum priority fee per gas. (similar to EIP-1559 max_priority_fee_per_gas
)
maxFeePerGas*
String
preVerificationGas*
String
The amount of gas to pay for to compensate the bundler for pre-verification execution and calldata.
verificationGasLimit*
String
The amount of gas to allocate for the verification step.
gasLimit*
String
Maximum gas limit provided by the sender, for the transaction.
callGasLimit*
String
The amount of gas to allocate the main execution call.
callData*
String
The data to pass to the sender
during the main execution call.
initCode*
String
The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)
sender*
String
The account making the operation.
userOps*
Array
chainSymbol
String
bundler*
String
Beneficiary address for bundle execution.
gas*
String
Gas limit for bundler transaction.
Last updated