Skip to main content
GET
Get GrantMandate typed data
All four API-key authenticated routes return the same envelope shape:

Client flow

  1. Fetch typed data with the exact operation parameters.
  2. Sign the returned typedData.domain, types, and message locally with the principal wallet (ethers._signTypedData / signTypedData). The API’s types intentionally omit EIP712Domain.
  3. Prepare the matching RAMS write using the same parameters, the returned deadline, and the signature.
  4. Client-sign the returned transaction, or request executionMode: "brickken-relayed"; then send and settle x402.
The domain is RAMS version 1, and the verifying contract is the selected AgentMandate. The default deadline is one hour; caller-supplied deadlines cannot exceed 30 days.
The nonce is read on-chain and is shared per principal across all four signed operations. Never default it to zero. Direct lifecycle calls do not consume it, but any successful signature-authorized call invalidates other envelopes using the old nonce.

Authorizations

x-api-key
string
header
required

Query Parameters

chainId
string
default:11155111
required

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

agent
string
required

Agent wallet receiving the mandate.

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

Principal delegating authority (the signer).

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

Mandate expiry (Unix seconds, uint48).

validFrom

Mandate start (Unix seconds, uint48). Defaults to 0 (immediately valid).

complianceProvider
string

Compliance provider contract. Defaults to the chain's configured RAMS ComplianceProvider address.

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

Compliance identity reference (bytes32).

Pattern: ^0x[a-fA-F0-9]{64}$
asset
string
required

Asset (token) the mandate is scoped to.

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

Per-transaction cap in raw base units. Alias "max" / "unlimited" = 2^256-1.

maxCumulativeValue
string
required

Cumulative cap in raw base units. Alias "max" / "unlimited" = 2^256-1.

metadata
string

Optional bytes32 metadata. Defaults to the zero value.

Pattern: ^0x[a-fA-F0-9]{64}$
actions
string
required

Comma-separated list of bytes32 actions and/or 4-byte selectors, minimum 1 (e.g. 0x23b872dd). Selectors are normalized to left-aligned bytes32 before signing.

deadline
string

Optional signature deadline (Unix seconds). Must be greater than now and at most now + 30 days. Defaults to now + 3600 (1 hour). Submit the SAME deadline with the signature at prepare time.

agentMandateAddress
string

Optional AgentMandate contract override.

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

Response

200 - application/json

EIP-712 typed-data envelope ready for wallet._signTypedData(domain, types, message).

data
object