Skip to main content
POST
Prepare RAMS selector ActionSpec registration
Maps to ramsSetExecutorAction. signerAddress must be the AgentExecutor owner; the operation is always client-signed. Pass either selector (4 bytes) or its left-aligned bytes32 action, then set the ActionSpec fields: supported, hasAmount, and amountIndex when the action carries value.
Registering a value-bearing selector with hasAmount: false bypasses mandate transaction and cumulative caps. Use the correct zero-based ABI word index.

Authorizations

X-Payment
string
header
required

Base64-encoded x402 payment payload. Supported for x402-eligible agentic methods on /x402/... facades, /prepare-transactions, and eligible /send-transactions retries.

Body

application/json
chainId
string
default:11155111
required

Target operation chain ID. RAMS is available on Ethereum Sepolia (11155111) only at launch. Decimal and 0x hex values are accepted.

Examples:

"11155111"

"0xaa36a7"

signerAddress
string
required

MUST be the AgentExecutor owner (pre-checked on-chain). Never brickken-relayed.

Pattern: ^0x[a-fA-F0-9]{40}$
supported
boolean
required

Whether the selector is executable through this executor.

hasAmount
boolean
required

Whether the calldata carries a value amount that must be checked against the mandate caps.

selector
string

4-byte function selector to register, e.g. 0x23b872dd for transferFrom. Provide either selector or action.

Pattern: ^0x[a-fA-F0-9]{8}$
action
string

Alternative to selector: a left-aligned bytes32 action (bytes 4..31 must be zero); the server extracts the first 4 bytes.

Pattern: ^0x[a-fA-F0-9]{64}$
amountIndex
integer

Required when hasAmount is true: zero-based index of the amount word in the calldata (uint8). E.g. 2 for transferFrom(from, to, amount). Ignored (0) when hasAmount is false.

Required range: 0 <= x <= 255
executorAddress
string

Optional AgentExecutor contract override; defaults to the chain's configured (platform) RAMS AgentExecutor address. Executors are per-principal — pass the principal's executor here.

Pattern: ^0x[a-fA-F0-9]{40}$
gasLimit

Optional explicit gas limit.

nonce
number

Optional explicit transaction nonce when managing nonces manually.

ownerEmail
string<email>

Optional owner attribution email.

email
string<email>

Alias for ownerEmail where supported.

Response

Prepared unsigned transaction payload.

data
object