Grant RAMS Mandate
Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.
ramsGrantMandate. The principal must already be eligible with the selected ComplianceProvider.
Authorization modes
Key fields
agent, principal, validUntil, identityRef, asset, both value caps, and at least one actions entry are required. validFrom defaults to immediate. Values are raw base units; caps accept max/unlimited. Actions accept bytes32 values or 4-byte selectors.
Response
ReturnstxId, unsigned transactions, and info with the contract, authorization mode, and EIP-712 nonce when applicable. Preparing is free; x402 is charged at send.
Next step
Preparing does not touch the chain. The response gives youtxId, the unsigned transactions, and an x402Requirements quote.
Choose who signs and who broadcasts
brickken-relayed — the relayer signs, broadcasts, and pays the native gas; you sign only the payment, and prepare is free. client-signed (the default) — you sign, Brickken broadcasts. client-broadcast — you sign and broadcast yourself, then confirm with txHash. Both client-controlled modes charge half the price at prepare and half at send.Relaying is available on the ERC-8004 and agent-token facades and on the four signed RAMS lifecycle calls. The other RAMS operations check msg.sender against an on-chain role, so they reject it.Submit it and settle the payment
POST to /send-transactions. The first attempt answers 402 Payment Required; read PAYMENT-REQUIRED, sign the payment locally, and retry with X-PAYMENT. An API key is accepted here only in client-signed mode.Poll until it confirms
GET /get-transaction-status with the txId. Relayed transactions need no credential to poll. Your payment settles only after the operation confirms, and is released if it reverts.Authorizations
Base64-encoded x402 payment payload. Supported for x402-eligible agentic methods on /x402/... facades, /prepare-transactions, and eligible /send-transactions retries.
Body
Target operation chain ID. RAMS is available on Ethereum Sepolia (11155111) only at launch. Decimal and 0x hex values are accepted.
"11155111"
"0xaa36a7"
Agent wallet receiving the mandate.
^0x[a-fA-F0-9]{40}$Principal delegating authority. Direct mode: must equal signerAddress.
^0x[a-fA-F0-9]{40}$Mandate expiry. Must be greater than now and greater than validFrom. Unix timestamp in seconds (uint48).
Compliance identity reference (bytes32, 0x + 64 hex). Must match the principal's record on the compliance provider.
^0x[a-fA-F0-9]{64}$Asset (token) the mandate is scoped to.
^0x[a-fA-F0-9]{40}$Per-transaction value cap. Alias "max" / "unlimited" (case-insensitive) = 2^256-1 (no cap). Raw base units — no decimals scaling is applied. Decimal string (canonical), 0x hex string, or number accepted.
Cumulative value cap over the mandate lifetime. Alias "max" / "unlimited" = 2^256-1 (no cap). Raw base units — no decimals scaling is applied. Decimal string (canonical), 0x hex string, or number accepted.
Allowed actions. Each item is a bytes32 action or a 4-byte function selector, e.g. 0x23b872dd for transferFrom.
1bytes32 action (0x + 64 hex) or 4-byte selector (0x + 8 hex). Selectors are normalized by right-padding to 32 bytes (left-aligned, Solidity bytes32(selector)).
Required for direct/client-signed mode. Omit for brickken-relayed execution; Brickken supplies its operation signer.
^0x[a-fA-F0-9]{40}$Mandate start time. Defaults to 0 (immediately valid). Unix timestamp in seconds (uint48).
Compliance provider contract chosen by the principal. Must be non-zero. Defaults to the chain's configured RAMS ComplianceProvider address.
^0x[a-fA-F0-9]{40}$Optional opaque metadata (bytes32). Defaults to the zero value.
^0x[a-fA-F0-9]{64}$Optional EIP-712 signature from the principal (never the operator). At least 65 bytes for EOAs (r||s||v); longer payloads are allowed for EIP-1271 contract wallets. Omit for direct mode (the transaction sender authorizes on-chain). Obtain the payload to sign from GET /rams/typed-data/{operation}.
^0x([a-fA-F0-9]{2})*$Unix-seconds signature deadline (uint256). Required when signature is provided and must be greater than now — it must equal the deadline that was signed. Ignored (encoded as 0) in direct mode.
Optional. Only valid together with signature + deadline: Brickken's relayer becomes the transaction sender and the on-chain authorization rides on the principal's EIP-712 signature. Omit for client-signed execution (default on all /x402/rams facades).
brickken-relayed Optional AgentMandate contract override; defaults to the chain's configured RAMS AgentMandate address.
^0x[a-fA-F0-9]{40}$Optional explicit gas limit.
Optional explicit transaction nonce when managing nonces manually.
Optional owner attribution email.
Alias for ownerEmail where supported.
Response
Prepared unsigned transaction payload.