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.
Returns txId, unsigned transactions, and info with the contract, authorization mode, and EIP-712 nonce when applicable. The x402 charge is split evenly between prepare and send.
Preparing does not touch the chain. The response gives you txId, the unsigned transactions, and an x402Requirements quote.
1
Choose who broadcasts
client-signed (the default) — you sign the transaction and Brickken broadcasts it. client-broadcast — you sign and broadcast it yourself, then confirm with txHash. Either way the operation price is split evenly: half at prepare, half at send.
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 x-api-key is accepted here instead of paying.
3
Poll until it confirms
Call GET /get-transaction-status with the txId. 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.
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.
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}.
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).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Brickken Documentation","colors":{"primary":"#4C82df","light":"#4C82df","dark":"#4C82df"},"logo":{"light":"https://mintcdn.com/brickken/UYpLPKOSKNI6CnjX/logo/light.svg?fit=max\u0026auto=format\u0026n=UYpLPKOSKNI6CnjX\u0026q=85\u0026s=192d7d8eaa4997ed5fe5ebf73e4e6aee","dark":"https://mintcdn.com/brickken/UYpLPKOSKNI6CnjX/logo/dark.svg?fit=max\u0026auto=format\u0026n=UYpLPKOSKNI6CnjX\u0026q=85\u0026s=a65d0b5432e2917c02ee6ed31984af6f"},"favicon":"https://mintcdn.com/brickken/UYpLPKOSKNI6CnjX/favicon.svg?fit=max\u0026auto=format\u0026n=UYpLPKOSKNI6CnjX\u0026q=85\u0026s=51afb98395641cf97bb79fb30a48d4b1","navbar":{"links":[{"href":"https://docs.brickken.com/get-started/request-api-key","label":"Get an API key"},{"href":"mailto:support@brickken.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dapp.brickken.com/en/dashboard/home"}},"footer":{"socials":{"x":"https://x.com/brickken","instagram":"https://www.instagram.com/brickken","facebook":"https://www.facebook.com/Brickken","linkedin":"https://www.linkedin.com/company/brickken","youtube":"https://www.youtube.com/@Brickken","discord":"https://discord.com/invite/FBsBVsBqxV"}},"contextual":{"options":[{"title":"Documentation","description":"Open the Brickken documentation home.","icon":"book-open-cover","href":"https://docs.brickken.com"},{"title":"Community","description":"Join the Brickken community on Discord.","icon":"discord","href":"https://discord.com/invite/brickken-official-community-851756929268056086"},{"title":"Blog","description":"Read the Brickken blog.","icon":"newspaper","href":"https://www.brickken.com/blog"}],"display":"toc"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Authentication","icon":"key","href":"/get-started/authentication"},{"anchor":"Request an API key","icon":"envelope","href":"/get-started/request-api-key"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"brickken","hasAudioNarration":false,"actualSubdomain":"brickken","customDomains":["docs.brickken.com"],"gitSource":{"type":"github","owner":"fbrickken","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a9844f4157c701ea07b7cc9","collectionId":"7f2c4ef2-df49-47ac-9084-833a740401c6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a9844f4157c701ea07b7cc9"},"entitlements":{},"buildId":"6a9844f4157c701ea07b7cc9","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Agentic API","count":36},{"language":"default","tag":"Dapp API","count":34},{"language":"default","tag":"SDK","count":14},{"language":"default","tag":"Prepare Transactions","count":13},{"language":"default","tag":"Read Endpoints","count":13},{"language":"default","tag":"CLI","count":13},{"language":"default","tag":"RAMS Mandates (ERC-8226)","count":11},{"language":"default","tag":"Overview","count":8},{"language":"default","tag":"Get Started","count":8},{"language":"default","tag":"Guides","count":8}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/x402-rams-grant-mandate","slug":"/api-reference/endpoint/x402-rams-grant-mandate","pageMetadata":{"title":"Grant RAMS Mandate","openapi":"POST /x402/rams/grant-mandate","description":"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.","href":"/api-reference/endpoint/x402-rams-grant-mandate"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Step,Steps,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Maps to `,_jsx(_components.code,{children:`ramsGrantMandate`}),`. The principal must already be eligible with the selected ComplianceProvider.`]}),`\n`,_jsx(Heading,{level:`2`,id:`authorization-modes`,children:`Authorization modes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mode`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`signerAddress`})}),_jsx(_components.th,{children:`Signature fields`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Direct`}),_jsx(_components.td,{children:`Principal`}),_jsxs(_components.td,{children:[`Omit `,_jsx(_components.code,{children:`signature`}),`; the transaction encodes `,_jsx(_components.code,{children:`0x`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Principal signature`}),_jsx(_components.td,{children:`Any transaction sender/relayer`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`signature`}),` and the same `,_jsx(_components.code,{children:`deadline`}),` returned by `,_jsx(_components.a,{href:`/api-reference/endpoint/rams-typed-data`,children:`Typed Data`})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`key-fields`,children:`Key fields`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`agent`}),`, `,_jsx(_components.code,{children:`principal`}),`, `,_jsx(_components.code,{children:`validUntil`}),`, `,_jsx(_components.code,{children:`identityRef`}),`, `,_jsx(_components.code,{children:`asset`}),`, both value caps, and at least one `,_jsx(_components.code,{children:`actions`}),` entry are required. `,_jsx(_components.code,{children:`validFrom`}),` defaults to immediate. Values are raw base units; caps accept `,_jsx(_components.code,{children:`max`}),`/`,_jsx(_components.code,{children:`unlimited`}),`. Actions accept bytes32 values or 4-byte selectors.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns `,_jsx(_components.code,{children:`txId`}),`, unsigned `,_jsx(_components.code,{children:`transactions`}),`, and `,_jsx(_components.code,{children:`info`}),` with the contract, authorization `,_jsx(_components.code,{children:`mode`}),`, and EIP-712 nonce when applicable. The x402 charge is split evenly between prepare and send.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-step`,children:`Next step`}),`\n`,_jsxs(_components.p,{children:[`Preparing does not touch the chain. The response gives you `,_jsx(_components.code,{children:`txId`}),`, the unsigned `,_jsx(_components.code,{children:`transactions`}),`, and an `,_jsx(_components.code,{children:`x402Requirements`}),` quote.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Choose who broadcasts`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`client-signed`}),` (the default) — you sign the transaction and Brickken broadcasts it. `,_jsx(_components.code,{children:`client-broadcast`}),` — you sign and broadcast it yourself, then confirm with `,_jsx(_components.code,{children:`txHash`}),`. Either way the operation price is split evenly: half at prepare, half at send.`]})}),_jsx(Step,{title:`Submit it and settle the payment`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST`}),` to `,_jsx(_components.a,{href:`/api-reference/endpoint/send`,children:_jsx(_components.code,{children:`/send-transactions`})}),`. The first attempt answers `,_jsx(_components.code,{children:`402 Payment Required`}),`; read `,_jsx(_components.code,{children:`PAYMENT-REQUIRED`}),`, sign the payment locally, and retry with `,_jsx(_components.code,{children:`X-PAYMENT`}),`. An `,_jsx(_components.code,{children:`x-api-key`}),` is accepted here instead of paying.`]})}),_jsx(Step,{title:`Poll until it confirms`,children:_jsxs(_components.p,{children:[`Call `,_jsx(_components.a,{href:`/api-reference/endpoint/get-transaction-status`,children:_jsx(_components.code,{children:`GET /get-transaction-status`})}),` with the `,_jsx(_components.code,{children:`txId`}),`. Your payment settles only after the operation confirms, and is released if it reverts.`]})})]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/get-started/authentication`,children:`Authentication`}),` for the payment handshake and `,_jsx(_components.a,{href:`/api-reference/endpoint/agentic-pricing`,children:`Pricing`}),` for the per-operation cost.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Grant RAMS Mandate","openapi":"POST /x402/rams/grant-mandate","description":"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.","href":"/api-reference/endpoint/x402-rams-grant-mandate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Authorization modes","slug":"authorization-modes","depth":2,"children":[]},{"title":"Key fields","slug":"key-fields","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Next step","slug":"next-step","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"prepareRamsGrantMandate","summary":"Prepare RAMS grant mandate","description":"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.","security":["c1d690d1-979c-49e7-b101-d6f103a44a9c","a4f26cd9-e9c0-459a-b947-c73d940507c8"],"requestBody":"0d862b17-66d2-40e1-836c-4dfdb59bd1d8","responses":{"200":"72fc2e5b-0f96-4d23-94cf-ecec9da2077a","402":"abf3f042-56b1-4adc-83db-6e36eb812f95"},"method":"post","type":"path","servers":["c49d4b74-8565-45d3-9488-a1db87f8218a","d17a9f2b-96ea-4c3e-a855-b25208a2a781"],"path":"/x402/rams/grant-mandate","baseUrlOptions":["https://api.sandbox.brickken.com","https://api.brickken.com"],"title":"Prepare RAMS grant mandate","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"required":["chainId","agent","principal","validUntil","identityRef","asset","maxTransactionValue","maxCumulativeValue","actions"],"properties":{"chainId":{"type":"string","default":"11155111","examples":["11155111","0xaa36a7"],"description":"Target operation chain ID. RAMS is available on Ethereum Sepolia (11155111) only at launch. Decimal and 0x hex values are accepted.","isRequired":true,"uniqueKey":"chainId","typeLabel":"string"},"agent":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Agent wallet receiving the mandate.","isRequired":true,"uniqueKey":"agent","typeLabel":"string"},"principal":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Principal delegating authority. Direct mode: must equal signerAddress.","isRequired":true,"uniqueKey":"principal","typeLabel":"string"},"validUntil":{"oneOf":[{"type":"integer","description":"Mandate expiry. Must be greater than now and greater than validFrom. Unix timestamp in seconds (uint48).","isRequired":true,"uniqueKey":"validUntil.oneOf.0","typeLabel":"integer"},{"type":"string","description":"Mandate expiry. Must be greater than now and greater than validFrom. Unix timestamp in seconds (uint48).","isRequired":true,"uniqueKey":"validUntil.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"validUntil","typeLabel":"integer | string"},"identityRef":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"Compliance identity reference (bytes32, 0x + 64 hex). Must match the principal's record on the compliance provider.","isRequired":true,"uniqueKey":"identityRef","typeLabel":"string"},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Asset (token) the mandate is scoped to.","isRequired":true,"uniqueKey":"asset","typeLabel":"string"},"maxTransactionValue":{"oneOf":[{"type":"string","description":"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.","isRequired":true,"uniqueKey":"maxTransactionValue.oneOf.0","typeLabel":"string"},{"type":"number","description":"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.","isRequired":true,"uniqueKey":"maxTransactionValue.oneOf.1","typeLabel":"number"}],"isRequired":true,"uniqueKey":"maxTransactionValue","typeLabel":"string | number"},"maxCumulativeValue":{"oneOf":[{"type":"string","description":"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.","isRequired":true,"uniqueKey":"maxCumulativeValue.oneOf.0","typeLabel":"string"},{"type":"number","description":"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.","isRequired":true,"uniqueKey":"maxCumulativeValue.oneOf.1","typeLabel":"number"}],"isRequired":true,"uniqueKey":"maxCumulativeValue","typeLabel":"string | number"},"actions":{"type":"array","minItems":1,"items":{"type":"string","description":"bytes32 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)).","uniqueKey":"actions.items.[INDEX]","typeLabel":"string"},"description":"Allowed actions. Each item is a bytes32 action or a 4-byte function selector, e.g. 0x23b872dd for transferFrom.","isRequired":true,"uniqueKey":"actions","typeLabel":"string[]"},"signerAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Required for direct/client-signed mode. Omit for brickken-relayed execution; Brickken supplies its operation signer.","uniqueKey":"signerAddress","typeLabel":"string"},"validFrom":{"oneOf":[{"type":"integer","description":"Mandate start time. Defaults to 0 (immediately valid). Unix timestamp in seconds (uint48).","uniqueKey":"validFrom.oneOf.0","typeLabel":"integer"},{"type":"string","description":"Mandate start time. Defaults to 0 (immediately valid). Unix timestamp in seconds (uint48).","uniqueKey":"validFrom.oneOf.1","typeLabel":"string"}],"uniqueKey":"validFrom","typeLabel":"integer | string"},"complianceProvider":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Compliance provider contract chosen by the principal. Must be non-zero. Defaults to the chain's configured RAMS ComplianceProvider address.","uniqueKey":"complianceProvider","typeLabel":"string"},"metadata":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"Optional opaque metadata (bytes32). Defaults to the zero value.","uniqueKey":"metadata","typeLabel":"string"},"signature":{"type":"string","pattern":"^0x([a-fA-F0-9]{2})*$","description":"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}.","uniqueKey":"signature","typeLabel":"string"},"deadline":{"oneOf":[{"type":"string","description":"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.","uniqueKey":"deadline.oneOf.0","typeLabel":"string"},{"type":"number","description":"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.","uniqueKey":"deadline.oneOf.1","typeLabel":"number"}],"uniqueKey":"deadline","typeLabel":"string | number"},"executionMode":{"type":"string","enum":["brickken-relayed"],"description":"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).","uniqueKey":"executionMode","typeLabel":"enum\u003cstring>"},"agentMandateAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Optional AgentMandate contract override; defaults to the chain's configured RAMS AgentMandate address.","uniqueKey":"agentMandateAddress","typeLabel":"string"},"gasLimit":{"oneOf":[{"type":"string","description":"Optional explicit gas limit.","uniqueKey":"gasLimit.oneOf.0","typeLabel":"string"},{"type":"number","description":"Optional explicit gas limit.","uniqueKey":"gasLimit.oneOf.1","typeLabel":"number"}],"uniqueKey":"gasLimit","typeLabel":"string | number"},"nonce":{"type":"number","description":"Optional explicit transaction nonce when managing nonces manually.","uniqueKey":"nonce","typeLabel":"number"},"ownerEmail":{"type":"string","format":"email","description":"Optional owner attribution email.","uniqueKey":"ownerEmail","typeLabel":"string\u003cemail>"},"email":{"type":"string","format":"email","description":"Alias for ownerEmail where supported.","uniqueKey":"email","typeLabel":"string\u003cemail>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"chainId":"11155111","agent":"\u003cstring>","principal":"\u003cstring>","validUntil":123,"identityRef":"\u003cstring>","asset":"\u003cstring>","maxTransactionValue":"\u003cstring>","maxCumulativeValue":"\u003cstring>","actions":["\u003cstring>"],"signerAddress":"\u003cstring>","validFrom":123,"complianceProvider":"\u003cstring>","metadata":"\u003cstring>","signature":"\u003cstring>","deadline":"\u003cstring>","executionMode":"brickken-relayed","agentMandateAddress":"\u003cstring>","gasLimit":"\u003cstring>","nonce":123,"ownerEmail":"jsmith@example.com","email":"jsmith@example.com"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"72fc2e5b-0f96-4d23-94cf-ecec9da2077a":{"description":"Prepared unsigned transaction payload.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"data":{"type":"object","additionalProperties":true,"properties":{"transactions":{"type":"object","additionalProperties":true,"description":"Single EIP-1559 unsigned transaction: from, to, data, value, nonce, chainId, gasLimit, maxPriorityFeePerGas, maxFeePerGas, type.","uniqueKey":"data.transactions","typeLabel":"object"},"txId":{"type":"string","description":"Prepared transaction ID for POST /send-transactions and status polling.","uniqueKey":"data.txId","typeLabel":"string"},"info":{"type":"object","additionalProperties":true,"description":"Operation echo. Always includes contractAddress (resolved target), mode (direct | principal-signature | brickken-relayed) and, on signed lifecycle operations, eip712Nonce (current AgentMandate nonce for the principal — detect stale signatures before sending).","uniqueKey":"data.info","typeLabel":"object"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"transactions":{},"txId":"\u003cstring>","info":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"abf3f042-56b1-4adc-83db-6e36eb812f95":{"description":"x402 payment required.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 payment request.","schema":{"type":"string"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"c1d690d1-979c-49e7-b101-d6f103a44a9c":{"x402Payment":{"type":"apiKey","in":"header","name":"X-Payment","description":"Base64-encoded x402 payment payload. Supported for x402-eligible agentic methods on /x402/... facades, /prepare-transactions, and eligible /send-transactions retries.","scopes":[]}},"a4f26cd9-e9c0-459a-b947-c73d940507c8":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[]}}},"servers":{"c49d4b74-8565-45d3-9488-a1db87f8218a":{"url":"https://api.sandbox.brickken.com","description":"Sandbox Environment"},"d17a9f2b-96ea-4c3e-a855-b25208a2a781":{"url":"https://api.brickken.com","description":"Production Environment"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Payment","description":"Base64-encoded x402 payment payload. Supported for x402-eligible agentic methods on /x402/... facades, /prepare-transactions, and eligible /send-transactions retries.","scopes":[]},"schema":{"title":"X-Payment","type":"string","description":"Base64-encoded x402 payment payload. Supported for x402-eligible agentic methods on /x402/... facades, /prepare-transactions, and eligible /send-transactions retries.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"x402Payment","name":"X-Payment"}],"title":"x402Payment"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[]},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"x-api-key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"brickken","siteName":"Brickken Documentation","title":"Grant RAMS Mandate - Brickken Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-02T15:47:25.085Z","originalFileLocation":"api-reference/endpoint/x402-rams-grant-mandate.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Brickken Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Grant RAMS Mandate - Brickken Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Brickken Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://brickken.mintlify.app/_mintlify/api/og/v2?division=RAMS+Mandates+%28ERC-8226%29\u0026amp;title=Grant+RAMS+Mandate\u0026amp;description=Prepare+a+compliance-gated+ERC-8226+mandate%2C+directly+or+with+a+principal+EIP-712+signature.\u0026amp;theme=2a5dee1e52c4281f2511c0cb\u0026amp;signature=11bad2f4fabc8692de33b3b60aea0577adfe9a119907b7b6d4053ee7cdf3ae1d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Grant RAMS Mandate - Brickken Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://brickken.mintlify.app/_mintlify/api/og/v2?division=RAMS+Mandates+%28ERC-8226%29\u0026amp;title=Grant+RAMS+Mandate\u0026amp;description=Prepare+a+compliance-gated+ERC-8226+mandate%2C+directly+or+with+a+principal+EIP-712+signature.\u0026amp;theme=2a5dee1e52c4281f2511c0cb\u0026amp;signature=11bad2f4fabc8692de33b3b60aea0577adfe9a119907b7b6d4053ee7cdf3ae1d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/brickken/7zynTh_4u-m-NSjz/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Brickken Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4C82df\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/x402-rams-grant-mandate.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.brickken.com/#organization\",\"name\":\"Brickken Documentation\",\"url\":\"https://docs.brickken.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/brickken/UYpLPKOSKNI6CnjX/logo/light.svg?fit=max\u0026auto=format\u0026n=UYpLPKOSKNI6CnjX\u0026q=85\u0026s=192d7d8eaa4997ed5fe5ebf73e4e6aee\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.brickken.com#website\",\"name\":\"Brickken Documentation\",\"url\":\"https://docs.brickken.com\",\"publisher\":{\"@id\":\"https://docs.brickken.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate#webpage\",\"url\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate\",\"name\":\"Grant RAMS Mandate\",\"description\":\"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.\",\"dateModified\":\"2026-09-02T15:47:25.085Z\",\"isPartOf\":{\"@id\":\"https://docs.brickken.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"RAMS Mandates (ERC-8226)\",\"item\":\"https://docs.brickken.com/api-reference/endpoint/rams-overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Grant RAMS Mandate\",\"item\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate#apireference\",\"headline\":\"Grant RAMS Mandate\",\"name\":\"Grant RAMS Mandate\",\"description\":\"Prepare a compliance-gated ERC-8226 mandate, directly or with a principal EIP-712 signature.\",\"url\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate\",\"mainEntityOfPage\":{\"@id\":\"https://docs.brickken.com/api-reference/endpoint/x402-rams-grant-mandate#webpage\"},\"dateModified\":\"2026-09-02T15:47:25.085Z\",\"publisher\":{\"@id\":\"https://docs.brickken.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.brickken.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Brickken Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Brickken Documentation","nav":{"global":{"anchors":[{"anchor":"Authentication","icon":"key","href":"/get-started/authentication"},{"anchor":"Request an API key","icon":"envelope","href":"/get-started/request-api-key"}]},"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":""}]},{"tab":"Dapp API","pages":[{"title":"Dapp API","href":"/api-reference/introduction"}]},{"tab":"Agentic API","groups":[{"group":"Overview","pages":[{"title":"Agentic API","href":"/api-reference/endpoint/agentic-methods-x402"},{"title":"Pricing","href":"/api-reference/endpoint/agentic-pricing"}]},{"group":"Agent Identity","pages":[{"title":"Register Agent","openapi":"POST /x402/agent/register","href":"/api-reference/endpoint/x402-agent-register"},{"title":"Set Agent URI","openapi":"POST /x402/agent/set-uri","href":"/api-reference/endpoint/x402-agent-set-uri"},{"title":"Set Agent Metadata","openapi":"POST /x402/agent/set-metadata","href":"/api-reference/endpoint/x402-agent-set-metadata"},{"title":"Set Agent Wallet","openapi":"POST /x402/agent/set-wallet","href":"/api-reference/endpoint/x402-agent-set-wallet"},{"title":"Transfer Agent Ownership","openapi":"POST /x402/agent/transfer-ownership","href":"/api-reference/endpoint/x402-agent-transfer-ownership"}]},{"group":"Agent Reads","pages":[{"title":"List Agents","openapi":"GET /get-agents","href":"/api-reference/endpoint/get-agents"},{"title":"Get Agent Information","openapi":"GET /get-agent-info","href":"/api-reference/endpoint/get-agent-info"},{"title":"Get Agent Transactions","openapi":"GET /get-agent-transactions","href":"/api-reference/endpoint/get-agent-transactions"}]},{"group":"Reputation","pages":[{"title":"Give Feedback","openapi":"POST /x402/agent/feedback/give","href":"/api-reference/endpoint/x402-agent-feedback-give"},{"title":"Revoke Feedback","openapi":"POST /x402/agent/feedback/revoke","href":"/api-reference/endpoint/x402-agent-feedback-revoke"},{"title":"Respond to Feedback","openapi":"POST /x402/agent/feedback/respond","href":"/api-reference/endpoint/x402-agent-feedback-respond"}]},{"group":"Agent Token Operations","pages":[{"title":"Create Agent Token","openapi":"POST /x402/token/create","href":"/api-reference/endpoint/x402-token-create"},{"title":"Mint Agent Token","openapi":"POST /x402/token/mint","href":"/api-reference/endpoint/x402-token-mint"},{"title":"Burn Agent Token","openapi":"POST /x402/token/burn","href":"/api-reference/endpoint/x402-token-burn"},{"title":"Transfer Agent Token","openapi":"POST /x402/token/transfer","href":"/api-reference/endpoint/x402-token-transfer"},{"title":"Transfer From Agent Token","openapi":"POST /x402/token/transfer-from","href":"/api-reference/endpoint/x402-token-transfer-from"},{"title":"Approve Agent Token","openapi":"POST /x402/token/approve","href":"/api-reference/endpoint/x402-token-approve"}]},{"group":"RAMS Mandates (ERC-8226)","pages":[{"title":"RAMS Mandates (ERC-8226)","description":"Compliance-gated, value-capped on-chain mandates that let principals delegate execution authority to AI agents.","href":"/api-reference/endpoint/rams-overview"},{"title":"Grant RAMS Mandate","openapi":"POST /x402/rams/grant-mandate","href":"/api-reference/endpoint/x402-rams-grant-mandate"},{"title":"Revoke RAMS Mandate","openapi":"POST /x402/rams/revoke-mandate","description":"Prepare revocation of an ERC-8226 mandate.","href":"/api-reference/endpoint/x402-rams-revoke-mandate"},{"title":"Extend RAMS Mandate","openapi":"POST /x402/rams/extend-mandate","href":"/api-reference/endpoint/x402-rams-extend-mandate"},{"title":"Set RAMS Operator","openapi":"POST /x402/rams/set-operator","href":"/api-reference/endpoint/x402-rams-set-operator"},{"title":"Execute RAMS Action","openapi":"POST /x402/rams/execute","href":"/api-reference/endpoint/x402-rams-execute"},{"title":"Set RAMS Executor Action","openapi":"POST /x402/rams/set-executor-action","href":"/api-reference/endpoint/x402-rams-set-executor-action"},{"title":"Freeze RAMS Agent","openapi":"POST /x402/rams/freeze-agent","href":"/api-reference/endpoint/x402-rams-freeze-agent"},{"title":"Unfreeze RAMS Agent","openapi":"POST /x402/rams/unfreeze-agent","href":"/api-reference/endpoint/x402-rams-unfreeze-agent"},{"title":"Grant RAMS Principal Eligibility","openapi":"POST /x402/rams/grant-principal","href":"/api-reference/endpoint/x402-rams-grant-principal"},{"title":"Revoke RAMS Principal Eligibility","openapi":"POST /x402/rams/revoke-principal","href":"/api-reference/endpoint/x402-rams-revoke-principal"}]},{"group":"RAMS Reads \u0026 Typed Data","pages":[{"title":"Get RAMS Mandate","openapi":"GET /rams/mandate","href":"/api-reference/endpoint/rams-get-mandate"},{"title":"Check RAMS Execution","openapi":"GET /rams/can-execute","href":"/api-reference/endpoint/rams-can-execute"},{"title":"Get RAMS Status","openapi":"GET /rams/status","href":"/api-reference/endpoint/rams-status"},{"title":"Check RAMS Compliance","openapi":"GET /rams/compliance-status","href":"/api-reference/endpoint/rams-compliance-status"},{"title":"Get RAMS Executor Action","openapi":"GET /rams/executor-action","href":"/api-reference/endpoint/rams-executor-action"},{"title":"RAMS EIP-712 Typed Data","openapi":"GET /rams/typed-data/grant-mandate","href":"/api-reference/endpoint/rams-typed-data"}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/introduction"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/introduction"}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/sdk/introduction"}]},{"tab":"Skill","pages":[{"title":"Skill","href":"/skill/introduction"}]}]},"title":"Grant RAMS Mandate - Brickken Documentation","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}