Skip to main content
POST
Prepare RAMS revoke principal eligibility
Maps to ramsRevokePrincipal. signerAddress must be the ComplianceProvider owner; this admin operation is always client-signed. reason accepts a numeric code 0–8 or a name such as KYC_EXPIRED, AML_FLAG, JURISDICTION_BLOCKED, or OTHER. Revocation makes mandate execution fail its compliance check; it does not rewrite the mandate record.

Next step

Preparing does not touch the chain. The response gives you txId, the unsigned transactions, and an x402Requirements quote.
1

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.
2

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.
3

Poll until it confirms

Call 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.
See Authentication for the payment handshake and Pricing for the per-operation cost.

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 ComplianceProvider owner (pre-checked). Never brickken-relayed.

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

Principal whose eligibility is revoked. Must have an active (granted, not revoked) record.

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

Revocation reason: enum name or its integer code — COMPLIANT(0), KYC_EXPIRED(1), AML_FLAG(2), NOT_ACCREDITED(3), NOT_QUALIFIED(4), JURISDICTION_BLOCKED(5), IDENTITY_NOT_FOUND(6), ATTESTATION_REVOKED(7), OTHER(8).

Available options:
COMPLIANT,
KYC_EXPIRED,
AML_FLAG,
NOT_ACCREDITED,
NOT_QUALIFIED,
JURISDICTION_BLOCKED,
IDENTITY_NOT_FOUND,
ATTESTATION_REVOKED,
OTHER
complianceProviderAddress
string

Optional ComplianceProvider contract override; defaults to the chain's configured RAMS ComplianceProvider address.

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