API Reference
Overview
The Atlas Auctioneer API provides JSON-RPC 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 operations slots reserved for whitelisted solvers. Defaults to 0. |
disableSimulations | boolean | Disable auctioneer's simulations. Defaults to false. |
disableTracing | boolean | Disable tracing during auctioneer's simulations. Defaults to false. |
earlyReturn | boolean | Returns with the appropriate error if no solver 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 of the user operation with hints + the full 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[] | 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) are 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 tha auction (optional). |
signature | string | Signature of the keccak of the concatenated chainId , dAppControlAddress and data fields. Only require 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.