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
Name | Type | Description |
---|---|---|
rpc | String | Remote procedural call URL. |
chainId | String | Refer to the Chain ID page for details. |
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 |
maxFeePerGas* | String | Maximum fee per gas. (similar to EIP-1559 |
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 |
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 | The user operation object as per ERC-4337. |
chainSymbol | String | Refer to the Chain ID page for details. |
bundler* | String | Beneficiary address for bundle execution. |
gas* | String | Gas limit for bundler transaction. |
Last updated