Auctioneer API
This API provides methods to start and manage Atlas auctions.
JSON RPC Methods
atlas_auction
Submits an Atlas user operation for auction.
Parameters
| Type | Description |
|---|---|
| AuctionRequest | The auction request details map (see below). |
AuctionRequest
| Name | Type | Description |
|---|---|---|
| userOperationWithHints | UserOperationWithHints | UserOperationWithHints map (see below), hex encoded. |
| onlyWhitelistedSolvers | boolean | Only allow whitelisted solvers to participate in the auction (the whitelist is maintained by the auctioneer). Defaults to false. |
| auctionDurationInMillis | int | Auction duration. Defaults to 300ms. |
| maxSolutions | int | Max solver operations allowed. Defaults to 10. |
| solverPrioritySlots | int | Number of solver operation slots reserved for whitelisted solvers. Defaults to 0. |
| disableSimulations | boolean | Disable the auctioneer's simulations. Defaults to false. |
| disableTracing | boolean | Disable tracing during the auctioneer's simulations. Defaults to false. |
| earlyReturn | boolean | Returns with the appropriate error if no solver is available at the end of the auction. Defaults to false. |
| enableBundling | boolean | Enables the atlas bundler. If false, the call returns all generated operations for self-bundling. Defaults to false. |
| bundlerAddress | string | Enforce the bundler address on the generated dApp operation. Only allowed when enableBundling is set to false. Defaults to address(0). |
| minSolverBidAmount | string | Enforce minimum bid amount for solvers, hex encoded. Defaults to 0. |
| signature | string | Signature of the keccak256 hash of the concatenated userOperationWithHints map and the full AuctionRequest options map. This is only required when enableBundling is set to true. Only whitelisted signers are allowed to use the Fastlane Atlas bundler. Defaults to empty. |
UserOperationWithHints
| Name | Type | Description |
|---|---|---|
| chainId | string | Chain ID, hex encoded. |
| userOperation | UserOperation | Full user operation map, all fields hex encoded. |
| hints | []string | An array of hint addresses. |
Returns
| Type | Description |
|---|---|
| string[] or Bundle | Returned value depends on the enableBundling option. If false, the generated bundle (type Bundle, see below) is returned. If true, an array of raw transactions is returned. The returned array (typically contains only 1 element) consists of hex-encoded raw transactions that were generated and submitted to the blockchain by the Atlas bundler. |
Bundle
| Name | Type | Description |
|---|---|---|
| chainId | string | Chain ID, hex encoded. |
| userOperation | UserOperation | Full user operation map, all fields hex encoded. |
| solverOperations | []SolverOperation | An array of full solver operation maps, all fields hex encoded. |
| dAppOperation | DappOperation | Full dApp operation map, all fields hex encoded. |
Example Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "atlas_auction",
"params": [{
"userOperationWithHints": "0x12345678901234567890123456789012345678901234567890",
"onlyWhitelistedSolvers": false,
"earlyReturn": true
}]
}
Example Response for bundled request
{
"jsonrpc": "2.0",
"id": 1,
"result": [
"0x1234567890123456789012345678901234567890123456789012345678901234"
]
}
Example Response for non-bundled request
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"chainId": "0x1",
"userOperation": {...},
"solverOperations": [{...}, {...}],
"dAppOperation": {...}
}
}
atlas_permissionlessAuction
Triggers an Atlas auction for a particular dApp.
Parameters
| Type | Description |
|---|---|
| AuctionRequest | The auction request details map (see below). |
AuctionRequest
| Name | Type | Description |
|---|---|---|
| chainId | string | The target chain ID, hex encoded. |
| dAppControlAddress | string | The dApp control address to trigger the auction for. |
| data | string | Hex encoded data needed for triggering the auction (optional). |
| signature | string | Signature of the keccak256 hash of the concatenated chainId, dAppControlAddress and data fields. Only required for restricted dApp access (optional). |
Returns
An empty result on success.
Example Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "atlas_permissionlessAuction",
"params": [{
"chainId": "0x1",
"dAppControlAddress": "0x1234567890123456789012345678901234567890",
"data": "0x12345678901234567890"
}]
}
Example Response
{
"jsonrpc": "2.0",
"id": 1,
"result": "null"
}
info
Empty result is expected on successful submission.