Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction
client from one or more calls, which the smart account executes in order.
Returns the user operation and the hash to sign. Sign userOpHash with the
Enclave MPC API POST /v1/raw/sign/SECP256K1 (or rawSign in the SDKs), then
submit both with broadcast-user-operation.
metadata.sponsored says whether gas sponsorship covers the built operation.
It can be false even when the environment has gas sponsorship configured for
the chain (no gas policy matches, or the allowance is used up); the build still
succeeds, and the smart account pays for gas.
The environment’s transaction policies and security firewall are evaluated on every call.
The blockchain chain identifier. Use either a friendly name or CAIP-2 format.
When using CAIP-2 format in URLs, ensure the colon (:) is URI-encoded as %3A.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Portal","description":"Portal is a key management platform for stablecoin companies. Create wallets, send and receive funds on-chain - all in a day.","colors":{"primary":"#5a86fa","light":"#789CFA","dark":"#3E71F8"},"logo":{"light":"https://mintcdn.com/portal-003221ec/GSEv3FWt9xT6P4p5/logo/light.svg?fit=max\u0026auto=format\u0026n=GSEv3FWt9xT6P4p5\u0026q=85\u0026s=589c25ed9717a63807caa49ef88b9541","dark":"https://mintcdn.com/portal-003221ec/GSEv3FWt9xT6P4p5/logo/dark.svg?fit=max\u0026auto=format\u0026n=GSEv3FWt9xT6P4p5\u0026q=85\u0026s=60a15ea88f068be82954514cc71f558c","href":"https://docs.portalhq.io"},"favicon":"https://mintcdn.com/portal-003221ec/8nhTiKJyGlrD5CbB/favicon.png?fit=max\u0026auto=format\u0026n=8nhTiKJyGlrD5CbB\u0026q=85\u0026s=2bbda68250f65a434b3f9eb0fe709ac1","navbar":{"links":[{"href":"mailto:support@portalhq.io","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.portalhq.io"}},"footer":{"socials":{"x":"https://twitter.com/portal_hq","github":"https://github.com/portal-hq","linkedin":"https://www.linkedin.com/company/portal-labs-inc"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/portal-hq"},{"anchor":"Blog","icon":"newspaper","href":"https://www.portalhq.io/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"portal-003221ec","hasAudioNarration":false,"actualSubdomain":"portal-003221ec","customDomains":["docs.portalhq.io"],"gitSource":{"type":"github","owner":"portal-hq","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb9ffe7d3e0e4d340c6d5c","collectionId":"b2f22d31-7944-4aa8-a646-e3656a30e503","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb9ffe7d3e0e4d340c6d5c"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb9ffe7d3e0e4d340c6d5c","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Documentation","count":394},{"language":"default","tag":"SDKs","count":294},{"language":"default","tag":"API Reference","count":271},{"language":"default","tag":"Client API","count":209},{"language":"default","tag":"Guide","count":164},{"language":"default","tag":"Reference","count":139},{"language":"default","tag":"Flutter","count":99},{"language":"default","tag":"iOS","count":91},{"language":"default","tag":"Due","count":56},{"language":"default","tag":"Resources","count":47}]},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/transactions/build-a-user-operation","slug":"/api-reference/transactions/build-a-user-operation","pageMetadata":{"title":"Build a user operation","description":"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction\nclient from one or more calls, which the smart account executes in order.\nReturns the user operation and the hash to sign. Sign `userOpHash` with the\nEnclave MPC API `POST /v1/raw/sign/SECP256K1` (or `rawSign` in the SDKs), then\nsubmit both with `broadcast-user-operation`.\n\n`metadata.sponsored` says whether gas sponsorship covers the built operation.\nIt can be `false` even when the environment has gas sponsorship configured for\nthe chain (no gas policy matches, or the allowance is used up); the build still\nsucceeds, and the smart account pays for gas.\nThe environment's transaction policies and security firewall are evaluated on every call.\n","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/send/build-user-operation","href":"/api-reference/transactions/build-a-user-operation","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction\\nclient from one or more calls, which the smart account executes in order.\\nReturns the user operation and the hash to sign. Sign \", _jsx(_components.code, {\n children: \"userOpHash\"\n }), \" with the\\nEnclave MPC API \", _jsx(_components.code, {\n children: \"POST /v1/raw/sign/SECP256K1\"\n }), \" (or \", _jsx(_components.code, {\n children: \"rawSign\"\n }), \" in the SDKs), then\\nsubmit both with \", _jsx(_components.code, {\n children: \"broadcast-user-operation\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"metadata.sponsored\"\n }), \" says whether gas sponsorship covers the built operation.\\nIt can be \", _jsx(_components.code, {\n children: \"false\"\n }), \" even when the environment has gas sponsorship configured for\\nthe chain (no gas policy matches, or the allowance is used up); the build still\\nsucceeds, and the smart account pays for gas.\\nThe environment’s transaction policies and security firewall are evaluated on every call.\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Build a user operation","description":"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction\nclient from one or more calls, which the smart account executes in order.\nReturns the user operation and the hash to sign. Sign `userOpHash` with the\nEnclave MPC API `POST /v1/raw/sign/SECP256K1` (or `rawSign` in the SDKs), then\nsubmit both with `broadcast-user-operation`.\n\n`metadata.sponsored` says whether gas sponsorship covers the built operation.\nIt can be `false` even when the environment has gas sponsorship configured for\nthe chain (no gas policy matches, or the allowance is used up); the build still\nsucceeds, and the smart account pays for gas.\nThe environment's transaction policies and security firewall are evaluated on every call.\n","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/send/build-user-operation","href":"/api-reference/transactions/build-a-user-operation","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"buildUserOperation","summary":"Build a user operation","description":"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction\nclient from one or more calls, which the smart account executes in order.\nReturns the user operation and the hash to sign. Sign `userOpHash` with the\nEnclave MPC API `POST /v1/raw/sign/SECP256K1` (or `rawSign` in the SDKs), then\nsubmit both with `broadcast-user-operation`.\n\n`metadata.sponsored` says whether gas sponsorship covers the built operation.\nIt can be `false` even when the environment has gas sponsorship configured for\nthe chain (no gas policy matches, or the allowance is used up); the build still\nsucceeds, and the smart account pays for gas.\nThe environment's transaction policies and security firewall are evaluated on every call.\n","tags":["Transactions"],"parameters":["1f84f3dc-7e54-43ce-af23-1d44feaa8e6f"],"requestBody":"0437f975-fcf5-46b4-9523-077847a4e0c7","responses":{"200":"19cd1606-d9c9-4a7c-ab70-8268897a0636","400":"c2341597-7589-4461-815f-81f5a71eef7d","401":"738f5088-44eb-49d2-8407-210266ad49a2","403":"6c3d68a0-f798-4fed-8e71-59252b6e8ec8","500":"7cd6ed0a-afc7-4c5c-bdd9-2742b762383f"},"method":"post","type":"path","servers":["16ba486e-8d7f-4284-af4f-28b7a1896d7d"],"security":["03cc5e6f-0644-4250-905d-bbf631cbf6eb"],"path":"/clients/me/chains/{chain}/assets/send/build-user-operation","baseUrlOptions":["https://api.portalhq.io/api/v3"],"title":"Build a user operation","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"1f84f3dc-7e54-43ce-af23-1d44feaa8e6f":{"name":"chain","in":"path","required":true,"description":"The blockchain chain identifier. Use either a friendly name or CAIP-2 format.\nWhen using CAIP-2 format in URLs, ensure the colon (`:`) is URI-encoded as `%3A`.\n\n**Supported chains:**\n- `ethereum` (`eip155:1`)\n- `sepolia` (`eip155:11155111`)\n- `base` (`eip155:8453`)\n- `base-sepolia` (`eip155:84532`)\n- `polygon` (`eip155:137`)\n- `polygon-mumbai` (`eip155:80001`)\n- `celo` (`eip155:42220`)\n- `celo-alfajores` (`eip155:44787`)\n- `monad` (`eip155:143`)\n- `monad-testnet` (`eip155:10143`)\n- `solana` (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`)\n- `solana-devnet` (`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`)\n- `tron` (`tron:mainnet`)\n- `tron-nile` (`tron:nile`)\n- `tron-shasta` (`tron:shasta`)\n- `stellar` (`stellar:pubnet`)\n- `stellar-testnet` (`stellar:testnet`)\n- `bitcoin-segwit` (`bip122:000000000019d6689c085ae165831e93-p2wpkh`)\n- `bitcoin-segwit-testnet` (`bip122:000000000933ea01ad0ee984209779ba-p2wpkh`)\n- `bitcoin-p2wpkh` (`bip122:000000000019d6689c085ae165831e93-p2wpkh`)\n- `bitcoin-p2wpkh-testnet` (`bip122:000000000933ea01ad0ee984209779ba-p2wpkh`)\n","schema":{"type":"string","isRequired":true,"description":"The blockchain chain identifier. Use either a friendly name or CAIP-2 format.\nWhen using CAIP-2 format in URLs, ensure the colon (`:`) is URI-encoded as `%3A`.\n\n**Supported chains:**\n- `ethereum` (`eip155:1`)\n- `sepolia` (`eip155:11155111`)\n- `base` (`eip155:8453`)\n- `base-sepolia` (`eip155:84532`)\n- `polygon` (`eip155:137`)\n- `polygon-mumbai` (`eip155:80001`)\n- `celo` (`eip155:42220`)\n- `celo-alfajores` (`eip155:44787`)\n- `monad` (`eip155:143`)\n- `monad-testnet` (`eip155:10143`)\n- `solana` (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`)\n- `solana-devnet` (`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`)\n- `tron` (`tron:mainnet`)\n- `tron-nile` (`tron:nile`)\n- `tron-shasta` (`tron:shasta`)\n- `stellar` (`stellar:pubnet`)\n- `stellar-testnet` (`stellar:testnet`)\n- `bitcoin-segwit` (`bip122:000000000019d6689c085ae165831e93-p2wpkh`)\n- `bitcoin-segwit-testnet` (`bip122:000000000933ea01ad0ee984209779ba-p2wpkh`)\n- `bitcoin-p2wpkh` (`bip122:000000000019d6689c085ae165831e93-p2wpkh`)\n- `bitcoin-p2wpkh-testnet` (`bip122:000000000933ea01ad0ee984209779ba-p2wpkh`)\n","uniqueKey":"","typeLabel":"string"},"examples":{"ethereum":{"value":"ethereum","summary":"Ethereum mainnet (friendly name)"},"eip155":{"value":"eip155:1","summary":"Ethereum mainnet (CAIP-2)"},"solana":{"value":"solana","summary":"Solana mainnet (friendly name)"},"bitcoin":{"value":"bitcoin-segwit","summary":"Bitcoin segwit (friendly name)"}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["calls"],"properties":{"calls":{"type":"array","minItems":1,"description":"The calls the smart account makes, in order.","items":{"type":"object","required":["to"],"properties":{"to":{"type":"string","description":"The address to call.","isRequired":true,"uniqueKey":"calls.items.[INDEX].to","typeLabel":"string"},"value":{"type":"string","description":"Native value in wei, as a decimal or hex string. Defaults to `0`.","uniqueKey":"calls.items.[INDEX].value","typeLabel":"string"},"data":{"type":"string","description":"Hex calldata. Defaults to `0x`.","uniqueKey":"calls.items.[INDEX].data","typeLabel":"string"}},"uniqueKey":"calls.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"calls","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"calls":[{"to":"0xd2b58253741d22bc530b214f8fe81bf1a78a72b1","value":"0"},{"to":"0x9533731C8224CEc3E53D76B72b590D347d9257eC","value":"0","data":"0x"}]},"examples":{"Example":{"title":"Example","value":{"calls":[{"to":"0xd2b58253741d22bc530b214f8fe81bf1a78a72b1","value":"0"},{"to":"0x9533731C8224CEc3E53D76B72b590D347d9257eC","value":"0","data":"0x"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"19cd1606-d9c9-4a7c-ab70-8268897a0636":{"description":"User operation built","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"userOperation":{"type":"string","description":"The user operation as a JSON string. Pass it unchanged to `broadcast-user-operation`.","uniqueKey":"data.userOperation","typeLabel":"string"},"userOpHash":{"type":"string","description":"The user operation hash to sign.","uniqueKey":"data.userOpHash","typeLabel":"string"}},"uniqueKey":"data","typeLabel":"object"},"metadata":{"type":"object","properties":{"chainId":{"type":"string","uniqueKey":"metadata.chainId","typeLabel":"string"},"sponsored":{"type":"boolean","description":"Whether gas sponsorship covers the user operation. When `false`, the smart account pays for gas and needs enough native token to cover `estimatedGasCostWei`.","uniqueKey":"metadata.sponsored","typeLabel":"boolean"},"totalGas":{"type":"string","description":"Gas units the user operation is bounded by (sum of its gas limits), as a decimal string.","uniqueKey":"metadata.totalGas","typeLabel":"string"},"maxFeePerGas":{"type":"string","description":"Maximum price per gas unit in wei, as a decimal string.","uniqueKey":"metadata.maxFeePerGas","typeLabel":"string"},"estimatedGasCostWei":{"type":"string","description":"`totalGas` times `maxFeePerGas`: the most the user operation can cost in wei when the smart account pays for gas.","uniqueKey":"metadata.estimatedGasCostWei","typeLabel":"string"}},"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":{"userOperation":"{\"sender\":\"0xF86e3fAe8443e4494a689fcDd4C8e6C76c1b2C96\",\"nonce\":\"0x5\",\"initCode\":\"0x\",\"callData\":\"0x34fcd5be...\",\"paymasterAndData\":\"0x\",\"signature\":\"0x00000000ffff...\",\"maxFeePerGas\":\"0x58556415\",\"maxPriorityFeePerGas\":\"0x15d0ea4\",\"callGasLimit\":\"0x3f9b\",\"verificationGasLimit\":\"0x13d75\",\"preVerificationGas\":\"0xc808\"}","userOpHash":"0xba1f6f1fe76b7a39d660bd02f54a3de5eae99ab413a95246e394c06786003847"},"metadata":{"chainId":"eip155:11155111","sponsored":false,"totalGas":"148760","maxFeePerGas":"1481991189","estimatedGasCostWei":"220461009275640"}},"examples":{"Example":{"title":"Example","value":{"data":{"userOperation":"{\"sender\":\"0xF86e3fAe8443e4494a689fcDd4C8e6C76c1b2C96\",\"nonce\":\"0x5\",\"initCode\":\"0x\",\"callData\":\"0x34fcd5be...\",\"paymasterAndData\":\"0x\",\"signature\":\"0x00000000ffff...\",\"maxFeePerGas\":\"0x58556415\",\"maxPriorityFeePerGas\":\"0x15d0ea4\",\"callGasLimit\":\"0x3f9b\",\"verificationGasLimit\":\"0x13d75\",\"preVerificationGas\":\"0xc808\"}","userOpHash":"0xba1f6f1fe76b7a39d660bd02f54a3de5eae99ab413a95246e394c06786003847"},"metadata":{"chainId":"eip155:11155111","sponsored":false,"totalGas":"148760","maxFeePerGas":"1481991189","estimatedGasCostWei":"220461009275640"}}}},"exampleType":"examples"}},"exampleType":"examples"},"c2341597-7589-4461-815f-81f5a71eef7d":{"description":"Bad request. Common causes:\n- The client does not have Account Abstraction enabled\n- `calls` is missing or empty, or a call has an invalid `to`, `value` or `data`\n- The chain is not an EVM chain\n- One of the calls reverts in simulation, most often because the wallet holds less\n of the token than it is sending. The response carries an `id` and the revert reason\n in `details.reason`; see `UserOperationRejectedErrorResponse`. Retrying the same\n calls fails the same way until the cause is fixed.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","uniqueKey":"oneOf.0.error","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Returned (HTTP 400) by `build-user-operation` and `broadcast-user-operation` when the bundler rejects the user operation for a reason you can act on. Key off `id` and `details.aaCode`, not `error`.","required":["error","id","details"],"properties":{"error":{"type":"string","description":"A Portal message for the `id`. For `USER_OPERATION_REVERTED` it is followed by the revert reason.","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"},"id":{"type":"string","enum":["USER_OPERATION_REJECTED","USER_OPERATION_EXPIRED","USER_OPERATION_INVALID_SIGNATURE","USER_OPERATION_REVERTED","USER_OPERATION_INVALID"],"isRequired":true,"uniqueKey":"oneOf.1.id","typeLabel":"enum\u003cstring>"},"details":{"type":"object","properties":{"reason":{"type":"string","description":"The revert reason, only for `USER_OPERATION_REVERTED`.","uniqueKey":"oneOf.1.details.reason","typeLabel":"string"},"rpcCode":{"type":"integer","description":"The ERC-4337 bundler JSON-RPC error code.","example":-32500,"uniqueKey":"oneOf.1.details.rpcCode","typeLabel":"integer"},"aaCode":{"type":"string","description":"The ERC-4337 EntryPoint error code (`AA21`, `AA25`, ...), when the bundler returned one.","example":"AA21","uniqueKey":"oneOf.1.details.aaCode","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.details","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"accountAbstractionDisabled":{"title":"accountAbstractionDisabled","value":{"error":"Account Abstraction is not enabled, contact support to enable it"}},"callReverted":{"title":"callReverted","value":{"error":"User operation reverted during simulation: UserOperation reverted during simulation with reason: ERC20: transfer amount exceeds balance","id":"USER_OPERATION_REVERTED","details":{"reason":"UserOperation reverted during simulation with reason: ERC20: transfer amount exceeds balance","rpcCode":-32521}}}},"exampleType":"examples"}},"exampleType":"examples"},"738f5088-44eb-49d2-8407-210266ad49a2":{"description":"Unauthorized - invalid or missing authentication token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6c3d68a0-f798-4fed-8e71-59252b6e8ec8":{"description":"A transaction policy (`POLICY_AMOUNT_LIMIT_EXCEEDED`) or the security firewall (`ADDRESS_BLOCKED`) blocked the user operation.\nThe firewall checks each call's `to`, including token contracts, and every address a call pays.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","id","policyViolation"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"id":{"type":"string","enum":["POLICY_AMOUNT_LIMIT_EXCEEDED"],"isRequired":true,"uniqueKey":"oneOf.0.id","typeLabel":"enum\u003cstring>"},"policyViolation":{"type":"object","properties":{"policyId":{"type":"string","uniqueKey":"oneOf.0.policyViolation.policyId","typeLabel":"string"},"policyName":{"type":"string","uniqueKey":"oneOf.0.policyViolation.policyName","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"oneOf.0.policyViolation.reason","typeLabel":"string"},"ruleId":{"type":"string","uniqueKey":"oneOf.0.policyViolation.ruleId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.policyViolation","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","id","firewallViolation"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"},"id":{"type":"string","enum":["ADDRESS_BLOCKED"],"isRequired":true,"uniqueKey":"oneOf.1.id","typeLabel":"enum\u003cstring>"},"firewallViolation":{"type":"object","properties":{"blockedAddress":{"type":"string","uniqueKey":"oneOf.1.firewallViolation.blockedAddress","typeLabel":"string"},"code":{"type":"integer","description":"`212` when the address is on one of Portal's blocklists, `213` when the environment blocked it.","uniqueKey":"oneOf.1.firewallViolation.code","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.1.firewallViolation","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"policy":{"title":"policy","value":{"error":"Policy violation: amount exceeds limit (Max transfer)","id":"POLICY_AMOUNT_LIMIT_EXCEEDED","policyViolation":{"policyId":"policyId","policyName":"Max transfer","reason":"amount exceeds limit (Max transfer)","ruleId":"ruleId"}}},"firewall":{"title":"firewall","value":{"error":"Firewall: 0x1234567890abcdef1234567890abcdef12345678 blocked","id":"ADDRESS_BLOCKED","firewallViolation":{"blockedAddress":"0x1234567890abcdef1234567890abcdef12345678","code":213}}}},"exampleType":"examples"}},"exampleType":"examples"},"7cd6ed0a-afc7-4c5c-bdd9-2742b762383f":{"description":"Portal or an upstream provider failed, for example when gas sponsorship is temporarily\nunavailable. The request itself may be fine: retry it, and if it keeps failing contact\nsupport with the `X-Trace-Id` response header.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"An unknown server error occurred."},"examples":{"Example":{"title":"Example","value":{"error":"An unknown server error occurred."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"03cc5e6f-0644-4250-905d-bbf631cbf6eb":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Client API Key or Client Session Token (CST). Pass as a Bearer token in the\nAuthorization header.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"16ba486e-8d7f-4284-af4f-28b7a1896d7d":{"url":"https://api.portalhq.io/api/v3","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Client API Key or Client Session Token (CST). Pass as a Bearer token in the\nAuthorization header.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Client API Key or Client Session Token (CST). Pass as a Bearer token in the\nAuthorization header.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/client-api.yaml"},"subdomain":"portal-003221ec","siteName":"Portal","title":"Build a user operation - Portal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T15:17:20.392Z","originalFileLocation":"api-reference/transactions/build-a-user-operation.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=\"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction client from one or more calls, which the smart account executes in order. Returns the user operation and the hash to sign. Sign userOpHash with the Enclave MPC API POST /v1/raw/sign/SECP256K1 (or rawSign in the SDKs), then submit both with broadcast-user-operation. metadata.sponsored says whether gas sponsorship covers the built operation. It can be false even when the environment has gas sponsorship configured for the chain (no gas policy matches, or the allowance is used up); the build still succeeds, and the smart account pays for gas. The environment\u0026#x27;s transaction policies and security firewall are evaluated on every call.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Portal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/portal-003221ec/V8g2PPGq3WmDlhV8/_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/portal-003221ec/V8g2PPGq3WmDlhV8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/portal-003221ec/V8g2PPGq3WmDlhV8/_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/portal-003221ec/V8g2PPGq3WmDlhV8/_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/portal-003221ec/V8g2PPGq3WmDlhV8/_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/portal-003221ec/V8g2PPGq3WmDlhV8/_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/portal-003221ec/V8g2PPGq3WmDlhV8/_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/portal-003221ec/V8g2PPGq3WmDlhV8/_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/portal-003221ec/V8g2PPGq3WmDlhV8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Build a user operation - Portal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction client from one or more calls, which the smart account executes in order. Returns the user operation and the hash to sign. Sign userOpHash with the Enclave MPC API POST /v1/raw/sign/SECP256K1 (or rawSign in the SDKs), then submit both with broadcast-user-operation. metadata.sponsored says whether gas sponsorship covers the built operation. It can be false even when the environment has gas sponsorship configured for the chain (no gas policy matches, or the allowance is used up); the build still succeeds, and the smart account pays for gas. The environment\u0026#x27;s transaction policies and security firewall are evaluated on every call.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Portal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://portal-003221ec.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Build+a+user+operation\u0026amp;description=Builds+an+ERC-4337+user+operation+%28EntryPoint+v0.6%29+for+an+Account+Abstraction%0Aclient+from+one+or+more+calls%2C+which+the+smart+account+executes+in+order.%0AReturns\u0026amp;theme=d1692d6d2d4391f288b08827\u0026amp;signature=484734e04d04a965fe234e429fb578018a518412cb3812bfe10a16a696970de7\">\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=\"Build a user operation - Portal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction client from one or more calls, which the smart account executes in order. Returns the user operation and the hash to sign. Sign userOpHash with the Enclave MPC API POST /v1/raw/sign/SECP256K1 (or rawSign in the SDKs), then submit both with broadcast-user-operation. metadata.sponsored says whether gas sponsorship covers the built operation. It can be false even when the environment has gas sponsorship configured for the chain (no gas policy matches, or the allowance is used up); the build still succeeds, and the smart account pays for gas. The environment\u0026#x27;s transaction policies and security firewall are evaluated on every call.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://portal-003221ec.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Build+a+user+operation\u0026amp;description=Builds+an+ERC-4337+user+operation+%28EntryPoint+v0.6%29+for+an+Account+Abstraction%0Aclient+from+one+or+more+calls%2C+which+the+smart+account+executes+in+order.%0AReturns\u0026amp;theme=d1692d6d2d4391f288b08827\u0026amp;signature=484734e04d04a965fe234e429fb578018a518412cb3812bfe10a16a696970de7\">\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/portal-003221ec/V8g2PPGq3WmDlhV8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Portal\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5a86fa\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/transactions/build-a-user-operation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.portalhq.io/#organization\",\"name\":\"Portal\",\"url\":\"https://docs.portalhq.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/portal-003221ec/GSEv3FWt9xT6P4p5/logo/light.svg?fit=max\u0026auto=format\u0026n=GSEv3FWt9xT6P4p5\u0026q=85\u0026s=589c25ed9717a63807caa49ef88b9541\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.portalhq.io#website\",\"name\":\"Portal\",\"url\":\"https://docs.portalhq.io\",\"publisher\":{\"@id\":\"https://docs.portalhq.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation#webpage\",\"url\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation\",\"name\":\"Build a user operation\",\"description\":\"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction client from one or more calls, which the smart account executes in order. Returns the user operation and the hash to sign. Sign userOpHash with the Enclave MPC API POST /v1/raw/sign/SECP256K1 (or rawSign in the SDKs), then submit both with broadcast-user-operation. metadata.sponsored says whether gas sponsorship covers the built operation. It can be false even when the environment has gas sponsorship configured for the chain (no gas policy matches, or the allowance is used up); the build still succeeds, and the smart account pays for gas. The environment's transaction policies and security firewall are evaluated on every call.\",\"dateModified\":\"2026-11-02T15:17:20.392Z\",\"isPartOf\":{\"@id\":\"https://docs.portalhq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Client API\",\"item\":\"https://docs.portalhq.io/api-reference/clients/get-the-clients-details\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transactions\",\"item\":\"https://docs.portalhq.io/api-reference/transactions/build-a-transaction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Build a user operation\",\"item\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation#apireference\",\"headline\":\"Build a user operation\",\"name\":\"Build a user operation\",\"description\":\"Builds an ERC-4337 user operation (EntryPoint v0.6) for an Account Abstraction client from one or more calls, which the smart account executes in order. Returns the user operation and the hash to sign. Sign userOpHash with the Enclave MPC API POST /v1/raw/sign/SECP256K1 (or rawSign in the SDKs), then submit both with broadcast-user-operation. metadata.sponsored says whether gas sponsorship covers the built operation. It can be false even when the environment has gas sponsorship configured for the chain (no gas policy matches, or the allowance is used up); the build still succeeds, and the smart account pays for gas. The environment's transaction policies and security firewall are evaluated on every call.\",\"url\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.portalhq.io/api-reference/transactions/build-a-user-operation#webpage\"},\"dateModified\":\"2026-11-02T15:17:20.392Z\",\"publisher\":{\"@id\":\"https://docs.portalhq.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.portalhq.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Portal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Portal","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/portal-hq"},{"anchor":"Blog","icon":"newspaper","href":"https://www.portalhq.io/blog"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Reference","href":"/apis/api-reference-overview"}]},{"group":"Enclave MPC API","pages":[{"group":"Wallet Management","pages":[{"title":"Create the client's wallet","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml post /v1/generate","href":"/api-reference/mpc-operations/create-the-clients-wallet"},{"title":"Back up the client's wallet","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml post /v1/backup","href":"/api-reference/mpc-operations/back-up-the-clients-wallet"},{"title":"Recover the client's wallet","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml post /v1/recover","href":"/api-reference/mpc-operations/recover-the-clients-wallet"}]},{"group":"Signing","pages":[{"title":"Send the client's assets","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml post /v1/assets/send","href":"/api-reference/mpc-operations/send-the-clients-assets"},{"title":"Sign a transaction or message by chain","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml post /v1/sign","href":"/api-reference/mpc-operations/sign-a-transaction-or-message-by-chain"},{"title":"Sign a transaction or message by curve","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml post /v1/raw/sign/{curve}","href":"/api-reference/mpc-operations/sign-a-transaction-or-message-by-curve"}]},{"group":"Presignatures","pages":[{"title":"Create a presignature","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml post /v1/presign/{curve}","href":"/api-reference/mpc-operations/create-a-presignature"},{"title":"List active presignatures","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml get /v1/presignatures","href":"/api-reference/mpc-operations/list-active-presignatures"},{"title":"Delete a presignature","deprecated":null,"version":null,"openapi":"/openapi/enclave-mpc-api.yaml delete /v1/presignatures/{id}","href":"/api-reference/mpc-operations/delete-a-presignature"}]}]},{"group":"Client API","pages":[{"group":"Clients","pages":[{"title":"Get the client's details","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me","href":"/api-reference/clients/get-the-clients-details"}]},{"group":"Wallet","pages":[{"title":"Get wallet balances","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/chains/{chain}/assets","href":"/api-reference/wallet/get-wallet-balances"},{"title":"Get wallet NFTs","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/chains/{chain}/assets/nfts","href":"/api-reference/wallet/get-wallet-nfts"},{"title":"Get wallet transactions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/chains/{chain}/transactions","href":"/api-reference/wallet/get-wallet-transactions"},{"title":"Get transaction details by signature","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/chains/{chain}/transactions/{signature}","href":"/api-reference/wallet/get-transaction-details-by-signature"},{"title":"Get wallet capabilities","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/wallet_getCapabilities","href":"/api-reference/wallet/get-wallet-capabilities"}]},{"group":"Transactions","pages":[{"title":"Build a transaction","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/clients/{clientId}/chains/{chain}/assets/send/build-transaction","href":"/api-reference/transactions/build-a-transaction"},{"title":"Broadcast a signed transaction","description":"Broadcasts a signed transaction to the network. Currently only supports Bitcoin\n(bip122 P2WPKH) chains. Returns 400 for all other chain types.\n","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/send/broadcast-transaction","href":"/api-reference/transactions/broadcast-a-signed-transaction"},{"title":"Build a user operation","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/send/build-user-operation","href":"/api-reference/transactions/build-a-user-operation"},{"title":"Broadcast a user operation","description":"Attaches a signature to a user operation and submits it to the bundler. The user\noperation can be the one `build-user-operation` returned, or one you built yourself\nfor the client's smart account (EntryPoint v0.6, ZeroDev Kernel v2). Pass the\nsignature exactly as the raw signing endpoint returned it; Portal formats it for\nthe smart account. Returns the user operation hash; look\nit up with the get transaction endpoint for the on-chain transaction hash once a\nbundler includes it.\n","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/send/broadcast-user-operation","href":"/api-reference/transactions/broadcast-a-user-operation"},{"title":"Evaluate a transaction for risks","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/evaluate-transaction","href":"/api-reference/transactions/evaluate-a-transaction-for-risks"}]},{"group":"Funding","pages":[{"title":"Get the testnet funding configuration","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/fund/config","href":"/api-reference/funding/get-the-testnet-funding-configuration"},{"title":"Fund the client's wallet with testnet tokens","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/fund","href":"/api-reference/funding/fund-the-clients-wallet-with-testnet-tokens"}]},{"group":"Wallet Shares","pages":[{"title":"Update signing share pair statuses","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml patch /clients/me/signing-share-pairs","href":"/api-reference/wallet-shares/update-signing-share-pair-statuses"},{"title":"Update backup share pair statuses","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml patch /clients/me/backup-share-pairs","href":"/api-reference/wallet-shares/update-backup-share-pair-statuses"},{"title":"Get ejectable backup shares for a wallet","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/wallets/{walletId}/ejectable-backup-shares","href":"/api-reference/wallet-shares/get-ejectable-backup-shares-for-a-wallet"},{"title":"Delete a signing share pair","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml delete /clients/me/wallets/{walletId}/signing-share-pairs/{signingSharePairId}","href":"/api-reference/wallet-shares/delete-a-signing-share-pair"},{"title":"Get backup share pairs","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/wallets/{walletId}/backup-share-pairs","href":"/api-reference/wallet-shares/get-backup-share-pairs"},{"title":"Get signing share pairs","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/wallets/{walletId}/signing-share-pairs","href":"/api-reference/wallet-shares/get-signing-share-pairs"},{"title":"Complete wallet ejection","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml patch /clients/me/wallets/{walletId}/complete-eject","href":"/api-reference/wallet-shares/complete-wallet-ejection"},{"title":"Mark client as ejected","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/eject","href":"/api-reference/clients/mark-client-as-ejected"}]},{"group":"Delegations","pages":[{"title":"Approve a token delegation","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/{token}/approvals","href":"/api-reference/delegations/approve-a-token-delegation"},{"title":"Revoke a token delegation","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/{token}/revocations","href":"/api-reference/delegations/revoke-a-token-delegation"},{"title":"Get delegation status for a token","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/chains/{chain}/assets/{token}/delegations","href":"/api-reference/delegations/get-delegation-status-for-a-token"},{"title":"Transfer tokens as a delegate","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/assets/{token}/delegations/transfers","href":"/api-reference/delegations/transfer-tokens-as-a-delegate"},{"title":"Initialize a delegation system account","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/delegation/init-system-account","href":"/api-reference/delegations/initialize-a-delegation-system-account"},{"title":"Initialize a delegation token account","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/delegation/init-token-account","href":"/api-reference/delegations/initialize-a-delegation-token-account"},{"title":"Approve a Solana delegation","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/delegation/approve","href":"/api-reference/delegations/approve-a-solana-delegation"},{"title":"Transfer as a Solana delegate","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/delegation/transfer","href":"/api-reference/delegations/transfer-as-a-solana-delegate"},{"title":"Get Solana delegation status","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/chains/{chain}/delegation/status","href":"/api-reference/delegations/get-solana-delegation-status"},{"title":"Revoke a Solana delegation","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/delegation/revoke","href":"/api-reference/delegations/revoke-a-solana-delegation"}]},{"group":"EIP-7702","pages":[{"title":"Get account type","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/chains/{chain}/wallet/account-type","href":"/api-reference/eip-7702/get-account-type"},{"title":"Build an EIP-7702 authorization","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/wallet/build-authorization-list","href":"/api-reference/eip-7702/build-an-eip-7702-authorization"},{"title":"Build an EIP-7702 authorization transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/chains/{chain}/wallet/build-authorization-transaction","href":"/api-reference/eip-7702/build-an-eip-7702-authorization-transaction"}]},{"group":"Li.Fi","pages":[{"title":"Get a Li.Fi swap/bridge quote","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/lifi/quote","href":"/api-reference/lifi/get-a-lifi-swapbridge-quote"},{"title":"Get Li.Fi swap/bridge routes","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/lifi/routes","href":"/api-reference/lifi/get-lifi-swapbridge-routes"},{"title":"Get details for a route step","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/lifi/route-step-details","href":"/api-reference/lifi/get-details-for-a-route-step"},{"title":"Get Li.Fi transaction status","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/lifi/status","href":"/api-reference/lifi/get-lifi-transaction-status"},{"title":"Get Li.Fi supported tokens","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/lifi/tokens","href":"/api-reference/lifi/get-lifi-supported-tokens"}]},{"group":"CCTP","pages":[{"title":"List CCTP routes","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/cctp/routes","href":"/api-reference/cctp/list-cctp-routes"},{"title":"Quote a CCTP transfer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/cctp/quote","href":"/api-reference/cctp/quote-a-cctp-transfer"},{"title":"Create a CCTP transfer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/cctp/transfers","href":"/api-reference/cctp/create-a-cctp-transfer"},{"title":"Submit a CCTP transfer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/cctp/transfers/{id}/submit","href":"/api-reference/cctp/submit-a-cctp-transfer"},{"title":"Get a CCTP transfer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/cctp/transfers/{id}","href":"/api-reference/cctp/get-a-cctp-transfer"},{"title":"List CCTP transfers","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/cctp/transfers","href":"/api-reference/cctp/list-cctp-transfers"}]},{"group":"0x","pages":[{"title":"Get available swap sources","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/0x/swap/sources","href":"/api-reference/0x/get-available-swap-sources"},{"title":"Get a swap quote","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/0x/swap/quote","href":"/api-reference/0x/get-a-swap-quote"},{"title":"Get a swap price estimate","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/0x/swap/price","href":"/api-reference/0x/get-a-swap-price-estimate"},{"title":"Get cross-chain swap quotes","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/0x/cross-chain/quotes","href":"/api-reference/0x/get-cross-chain-swap-quotes"},{"title":"Get cross-chain transaction status","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/0x/cross-chain/status","href":"/api-reference/0x/get-cross-chain-transaction-status"},{"title":"List cross-chain bridge and swap sources","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/0x/cross-chain/sources","href":"/api-reference/0x/list-cross-chain-bridge-and-swap-sources"},{"title":"Get cross-chain transaction history","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/0x/cross-chain/tx-history","href":"/api-reference/0x/get-cross-chain-transaction-history"}]},{"group":"Yield","pages":[{"title":"Get yield opportunities","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz/yields","href":"/api-reference/yieldxyz/get-yield-opportunities"},{"title":"Get default yield opportunities","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz/yields/defaults","href":"/api-reference/yieldxyz/get-default-yield-opportunities"},{"title":"Get yield validators","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz/yields/{yieldId}/validators","href":"/api-reference/yieldxyz/get-yield-validators"},{"title":"Get yield balances","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz/yields/balances","href":"/api-reference/yieldxyz/get-yield-balances"},{"title":"Enter a yield position","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz/actions/enter","href":"/api-reference/yieldxyz/enter-a-yield-position"},{"title":"Exit a yield position","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz/actions/exit","href":"/api-reference/yieldxyz/exit-a-yield-position"},{"title":"Manage a yield position","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz/actions/manage","href":"/api-reference/yieldxyz/manage-a-yield-position"},{"title":"Submit a transaction hash","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml put /clients/me/integrations/yield-xyz/transactions/{transactionId}/submit-hash","href":"/api-reference/yieldxyz/submit-a-transaction-hash"},{"title":"Get a yield transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz/transactions/{transactionId}","href":"/api-reference/yieldxyz/get-a-yield-transaction"},{"title":"Get yield action history","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz/actions","href":"/api-reference/yieldxyz/get-yield-action-history"}]},{"group":"Yield.xyz Borrow","pages":[{"title":"Get positions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/positions","href":"/api-reference/yieldxyz-borrow/get-positions"},{"title":"Get liquidation history","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/positions/liquidations","href":"/api-reference/yieldxyz-borrow/get-liquidation-history"},{"title":"Execute a borrow action","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-borrow/actions","href":"/api-reference/yieldxyz-borrow/execute-a-borrow-action"},{"title":"List actions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/actions","href":"/api-reference/yieldxyz-borrow/list-actions"},{"title":"Get action by ID","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/actions/{id}","href":"/api-reference/yieldxyz-borrow/get-action-by-id"},{"title":"Get next step transactions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-borrow/actions/{id}/step","href":"/api-reference/yieldxyz-borrow/get-next-step-transactions"},{"title":"Submit signed transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-borrow/transactions/{transactionId}/submit","href":"/api-reference/yieldxyz-borrow/submit-signed-transaction"},{"title":"List integrations","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/integrations","href":"/api-reference/yieldxyz-borrow/list-integrations"},{"title":"Get integration details","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/integrations/{integrationId}","href":"/api-reference/yieldxyz-borrow/get-integration-details"},{"title":"List lending markets","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/markets","href":"/api-reference/yieldxyz-borrow/list-lending-markets"},{"title":"Get market by ID","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/markets/{marketId}","href":"/api-reference/yieldxyz-borrow/get-market-by-id"},{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-borrow/health","href":"/api-reference/yieldxyz-borrow/health-check"}]},{"group":"Agg","pages":[{"title":"Start an Agg link","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/link/challenge","href":"/api-reference/agg/start-an-agg-link"},{"title":"Complete an Agg link","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/link","href":"/api-reference/agg/complete-an-agg-link"},{"title":"Get the Agg link","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/link","href":"/api-reference/agg/get-the-agg-link"},{"title":"Remove the Agg link","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml delete /clients/me/integrations/agg/link","href":"/api-reference/agg/remove-the-agg-link"},{"title":"List events","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/events","href":"/api-reference/agg/list-events"},{"title":"Get an event","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/events/{eventId}","href":"/api-reference/agg/get-an-event"},{"title":"Get an event page","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/events/{eventId}/bootstrap","href":"/api-reference/agg/get-an-event-page"},{"title":"List markets","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/markets","href":"/api-reference/agg/list-markets"},{"title":"Search events or markets","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/search","href":"/api-reference/agg/search-events-or-markets"},{"title":"List categories","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/categories","href":"/api-reference/agg/list-categories"},{"title":"Get venue geo restrictions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/venue-geo-policy","href":"/api-reference/agg/get-venue-geo-restrictions"},{"title":"Get the Agg app config","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/app-config","href":"/api-reference/agg/get-the-agg-app-config"},{"title":"Get midpoints","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/midpoints","href":"/api-reference/agg/get-midpoints"},{"title":"Get order books","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/orderbooks","href":"/api-reference/agg/get-order-books"},{"title":"Get an outcome's order book","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/orderbooks/outcome/{outcomeId}","href":"/api-reference/agg/get-an-outcomes-order-book"},{"title":"Get chart bars","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/charts/bars","href":"/api-reference/agg/get-chart-bars"},{"title":"Get chart history","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/charts/history/manifest","href":"/api-reference/agg/get-chart-history"},{"title":"Get the Agg user","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/me","href":"/api-reference/agg/get-the-agg-user"},{"title":"Get deposit addresses","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/deposit-addresses","href":"/api-reference/agg/get-deposit-addresses"},{"title":"Get balances","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/balances","href":"/api-reference/agg/get-balances"},{"title":"List positions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/positions","href":"/api-reference/agg/list-positions"},{"title":"List orders","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/orders","href":"/api-reference/agg/list-orders"},{"title":"Fill a quote","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/orders","href":"/api-reference/agg/fill-a-quote"},{"title":"List activity","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/activity","href":"/api-reference/agg/list-activity"},{"title":"Redeem winnings","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/redemptions","href":"/api-reference/agg/redeem-winnings"},{"title":"Preview a withdrawal","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/withdrawals/preview","href":"/api-reference/agg/preview-a-withdrawal"},{"title":"Get the withdrawable amount","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/withdrawals/quote","href":"/api-reference/agg/get-the-withdrawable-amount"},{"title":"Withdraw","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/withdrawals","href":"/api-reference/agg/withdraw"},{"title":"Get a withdrawal","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/withdrawals/{withdrawalId}","href":"/api-reference/agg/get-a-withdrawal"},{"title":"Get a quote","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/quotes","href":"/api-reference/agg/get-a-quote"},{"title":"Place a market order on one venue","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/orders/direct","href":"/api-reference/agg/place-a-market-order-on-one-venue"},{"title":"Place a limit order","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/orders/limit","href":"/api-reference/agg/place-a-limit-order"},{"title":"Cancel a limit order","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/orders/cancel","href":"/api-reference/agg/cancel-a-limit-order"},{"title":"Answer self-custody signature requests","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/agg/orders/{quoteId}/signatures","href":"/api-reference/agg/answer-self-custody-signature-requests"},{"title":"Get fill progress","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/agg/orders/{quoteId}","href":"/api-reference/agg/get-fill-progress"}]},{"group":"Yield.xyz Perps","pages":[{"title":"List trading venues","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/providers","href":"/api-reference/yieldxyz-perps/list-trading-venues"},{"title":"Get a trading venue","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/providers/{providerId}","href":"/api-reference/yieldxyz-perps/get-a-trading-venue"},{"title":"List markets","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/markets","href":"/api-reference/yieldxyz-perps/list-markets"},{"title":"Get a market","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/markets/{marketId}","href":"/api-reference/yieldxyz-perps/get-a-market"},{"title":"Get market candles","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/markets/{marketId}/candles","href":"/api-reference/yieldxyz-perps/get-market-candles"},{"title":"Get positions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-perps/positions","href":"/api-reference/yieldxyz-perps/get-positions"},{"title":"Get orders","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-perps/orders","href":"/api-reference/yieldxyz-perps/get-orders"},{"title":"Get account balances","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-perps/balances","href":"/api-reference/yieldxyz-perps/get-account-balances"},{"title":"Execute a perps action","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-perps/actions","href":"/api-reference/yieldxyz-perps/execute-a-perps-action"},{"title":"List actions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/actions","href":"/api-reference/yieldxyz-perps/list-actions"},{"title":"Get an action","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/actions/{id}","href":"/api-reference/yieldxyz-perps/get-an-action"},{"title":"Get activity feed","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/activity","href":"/api-reference/yieldxyz-perps/get-activity-feed"},{"title":"List events","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/events","href":"/api-reference/yieldxyz-perps/list-events"},{"title":"Get an event","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/events/{id}","href":"/api-reference/yieldxyz-perps/get-an-event"},{"title":"Submit a signed transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/yield-xyz-perps/transactions/{transactionId}/submit","href":"/api-reference/yieldxyz-perps/submit-a-signed-transaction"},{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/health","href":"/api-reference/yieldxyz-perps/health-check"},{"title":"Per-venue health","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/yield-xyz-perps/health/providers","href":"/api-reference/yieldxyz-perps/per-venue-health"}]},{"group":"Blockaid","pages":[{"title":"Scan an EVM transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/blockaid/evm/scan","href":"/api-reference/blockaid/scan-an-evm-transaction"},{"title":"Scan Solana transactions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/blockaid/solana/scan","href":"/api-reference/blockaid/scan-solana-transactions"},{"title":"Scan a TRON transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/blockaid/tron/scan","href":"/api-reference/blockaid/scan-a-tron-transaction"},{"title":"Scan an address","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/blockaid/address/scan","href":"/api-reference/blockaid/scan-an-address"},{"title":"Scan tokens","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/blockaid/tokens/scan","href":"/api-reference/blockaid/scan-tokens"},{"title":"Scan a URL","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/blockaid/url/scan","href":"/api-reference/blockaid/scan-a-url"}]},{"group":"Hypernative","pages":[{"title":"Scan addresses","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/hypernative/addresses/scan","href":"/api-reference/hypernative/scan-addresses"},{"title":"Scan an EVM transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/hypernative/evm/scan","href":"/api-reference/hypernative/scan-an-evm-transaction"},{"title":"Scan an EIP-712 message","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/hypernative/eip-712/scan","href":"/api-reference/hypernative/scan-an-eip-712-message"},{"title":"Scan a Solana transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/hypernative/solana/scan","href":"/api-reference/hypernative/scan-a-solana-transaction"},{"title":"Scan NFTs","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/hypernative/nfts/scan","href":"/api-reference/hypernative/scan-nfts"},{"title":"Scan tokens","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/hypernative/tokens/scan","href":"/api-reference/hypernative/scan-tokens"},{"title":"Scan a URL","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/hypernative/url/scan","href":"/api-reference/hypernative/scan-a-url"}]},{"group":"Noah","pages":[{"title":"Initiate KYC onboarding","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/noah/customers/kyc","href":"/api-reference/noah/initiate-kyc-onboarding"},{"title":"Initiate payin","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/noah/payins","href":"/api-reference/noah/initiate-payin"},{"title":"Simulate fiat deposit","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/noah/payins/simulate","href":"/api-reference/noah/simulate-fiat-deposit"},{"title":"Get payout countries","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/noah/payouts/countries","href":"/api-reference/noah/get-payout-countries"},{"title":"Get payout channels","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/noah/payouts/channels","href":"/api-reference/noah/get-payout-channels"},{"title":"Get payout channel form","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/noah/payouts/channels/{channelId}/form","href":"/api-reference/noah/get-payout-channel-form"},{"title":"Quote payout","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/noah/payouts/quote","href":"/api-reference/noah/quote-payout"},{"title":"Initiate payout","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/noah/payouts","href":"/api-reference/noah/initiate-payout"},{"title":"List payment methods","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/noah/payouts/payment-methods","href":"/api-reference/noah/list-payment-methods"}]},{"group":"Meld","pages":[{"title":"List service providers","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/service-providers","href":"/api-reference/meld/list-service-providers"},{"title":"List countries","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/countries","href":"/api-reference/meld/list-countries"},{"title":"List fiat currencies","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/fiat-currencies","href":"/api-reference/meld/list-fiat-currencies"},{"title":"List crypto currencies","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/crypto-currencies","href":"/api-reference/meld/list-crypto-currencies"},{"title":"List payment methods","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/payment-methods","href":"/api-reference/meld/list-payment-methods"},{"title":"List country defaults","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/defaults","href":"/api-reference/meld/list-country-defaults"},{"title":"List buy limits","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/buy-limits","href":"/api-reference/meld/list-buy-limits"},{"title":"List sell limits","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/sell-limits","href":"/api-reference/meld/list-sell-limits"},{"title":"List KYC limits","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/discovery/kyc-limits","href":"/api-reference/meld/list-kyc-limits"},{"title":"Create Meld customer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/meld/customers","href":"/api-reference/meld/create-meld-customer"},{"title":"Get Meld customer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/customers","href":"/api-reference/meld/get-meld-customer"},{"title":"Get quote","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/meld/retail/quote","href":"/api-reference/meld/get-quote"},{"title":"Create widget session","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/meld/retail/widget","href":"/api-reference/meld/create-widget-session"},{"title":"List transactions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/retail/transactions","href":"/api-reference/meld/list-transactions"},{"title":"Get transaction","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/retail/transactions/{id}","href":"/api-reference/meld/get-transaction"},{"title":"Get transaction by session","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/meld/retail/transactions/sessions/{sessionId}","href":"/api-reference/meld/get-transaction-by-session"}]},{"group":"Due","pages":[{"title":"Provision Due customer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/customers","href":"/api-reference/due/provision-due-customer"},{"title":"Get Due customer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/customers","href":"/api-reference/due/get-due-customer"},{"title":"List channels","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/channels","href":"/api-reference/due/list-channels"},{"title":"List financial institutions","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/financial-institutions/{country2}/{schema}","href":"/api-reference/due/list-financial-institutions"},{"title":"Get financial institution","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/financial-institutions/{financialInstitutionId}","href":"/api-reference/due/get-financial-institution"},{"title":"Start KYC submission","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/kyc","href":"/api-reference/due/start-kyc-submission"},{"title":"Get KYC status","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/kyc","href":"/api-reference/due/get-kyc-status"},{"title":"Start hosted KYC session","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/kyc/session","href":"/api-reference/due/start-hosted-kyc-session"},{"title":"Get KYC submission","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/kyc/submissions/{id}","href":"/api-reference/due/get-kyc-submission"},{"title":"Submit KYC information","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/kyc/submissions/{id}/info","href":"/api-reference/due/submit-kyc-information"},{"title":"Create KYC document","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/kyc/submissions/{id}/documents","href":"/api-reference/due/create-kyc-document"},{"title":"Upload KYC document","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/kyc/submissions/documents/{token}","href":"/api-reference/due/upload-kyc-document"},{"title":"Complete KYC submission","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/kyc/submissions/{id}/complete","href":"/api-reference/due/complete-kyc-submission"},{"title":"List endorsements","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/kyc/endorsements","href":"/api-reference/due/list-endorsements"},{"title":"Request endorsement","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/kyc/endorsements/{code}","href":"/api-reference/due/request-endorsement"},{"title":"Get endorsement","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/kyc/endorsements/{code}","href":"/api-reference/due/get-endorsement"},{"title":"Get terms of service","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/tos/{token}","href":"/api-reference/due/get-terms-of-service"},{"title":"Accept terms of service","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/tos/{token}","href":"/api-reference/due/accept-terms-of-service"},{"title":"Get usage","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/usage","href":"/api-reference/due/get-usage"},{"title":"Create transfer quote","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/transfers/quote","href":"/api-reference/due/create-transfer-quote"},{"title":"Estimate transfer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/transfers/estimate","href":"/api-reference/due/estimate-transfer"},{"title":"List transfers","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/transfers","href":"/api-reference/due/list-transfers"},{"title":"Create transfer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/transfers","href":"/api-reference/due/create-transfer"},{"title":"Get transfer","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/transfers/{id}","href":"/api-reference/due/get-transfer"},{"title":"Create transfer intent","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/transfers/{id}/transfer-intent","href":"/api-reference/due/create-transfer-intent"},{"title":"Create funding address","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/transfers/{id}/funding-address","href":"/api-reference/due/create-funding-address"},{"title":"Create FX quote","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/fx/quote","href":"/api-reference/due/create-fx-quote"},{"title":"List FX markets","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/fx/markets","href":"/api-reference/due/list-fx-markets"},{"title":"Get FX market","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/fx/markets/{base}/{quote}","href":"/api-reference/due/get-fx-market"},{"title":"Get FX market history","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/fx/markets/{base}/{quote}/history","href":"/api-reference/due/get-fx-market-history"},{"title":"List recipients","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/recipients","href":"/api-reference/due/list-recipients"},{"title":"Create recipient","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/recipients","href":"/api-reference/due/create-recipient"},{"title":"Get recipient","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/recipients/{id}","href":"/api-reference/due/get-recipient"},{"title":"Delete recipient","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml delete /clients/me/integrations/due/recipients/{id}","href":"/api-reference/due/delete-recipient"},{"title":"Register wallet","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/wallets","href":"/api-reference/due/register-wallet"},{"title":"List wallets","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/wallets","href":"/api-reference/due/list-wallets"},{"title":"Get wallet balance","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/wallets/{walletId}/balance","href":"/api-reference/due/get-wallet-balance"},{"title":"Create virtual account","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/virtual-accounts","href":"/api-reference/due/create-virtual-account"},{"title":"Get virtual account by query","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/virtual-accounts","href":"/api-reference/due/get-virtual-account-by-query"},{"title":"List virtual accounts","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/virtual-accounts/list","href":"/api-reference/due/list-virtual-accounts"},{"title":"Get virtual account","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/integrations/due/virtual-accounts/key/{key}","href":"/api-reference/due/get-virtual-account"},{"title":"Update virtual account","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/due/virtual-accounts/key/{key}","href":"/api-reference/due/update-virtual-account"}]},{"group":"Deprecated","pages":[{"title":"Simulate a transaction","deprecated":true,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/simulate-transaction","href":"/api-reference/deprecated/simulate-a-transaction"},{"title":"Prepare wallet ejection (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/wallets/{walletId}/prepare-eject","href":"/api-reference/wallet-shares/prepare-wallet-ejection-deprecated"},{"title":"Get transactions (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/transactions","href":"/api-reference/deprecated/get-transactions-deprecated"},{"title":"Get NFTs (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/nfts","href":"/api-reference/deprecated/get-nfts-deprecated"},{"title":"Get balances (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/client-api.yaml get /clients/me/balances","href":"/api-reference/deprecated/get-balances-deprecated"}]}]},{"group":"Authentication API","pages":[{"group":"Auth Methods","pages":[{"title":"Get the enabled auth methods","deprecated":null,"version":null,"openapi":"/openapi/authentication-api.yaml get /methods","href":"/api-reference/auth-methods/get-the-enabled-auth-methods"}]},{"group":"Magic Links","pages":[{"title":"Send a magic link","deprecated":null,"version":null,"openapi":"/openapi/authentication-api.yaml post /magic-links","href":"/api-reference/magic-links/send-a-magic-link"},{"title":"Validate a magic link token","deprecated":null,"version":null,"openapi":"/openapi/authentication-api.yaml post /magic-links/validations","href":"/api-reference/magic-links/validate-a-magic-link-token"}]},{"group":"OAuth","pages":[{"title":"Get the OAuth authorize URLs","deprecated":null,"version":null,"openapi":"/openapi/authentication-api.yaml get /oauth/urls","href":"/api-reference/oauth/get-the-oauth-authorize-urls"},{"title":"Validate an OAuth token","deprecated":null,"version":null,"openapi":"/openapi/authentication-api.yaml post /oauth/tokens","href":"/api-reference/oauth/validate-an-oauth-token"}]},{"group":"Two-Factor Authentication","pages":[{"title":"Validate a TOTP code","deprecated":null,"version":null,"openapi":"/openapi/authentication-api.yaml post /totps/validations","href":"/api-reference/two-factor-authentication/validate-a-totp-code"}]}]},{"group":"Custodian API","pages":[{"group":"Clients","pages":[{"title":"Create a client","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/clients","href":"/api-reference/clients/create-a-client"},{"title":"List clients","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients","href":"/api-reference/clients/list-clients"},{"title":"Get a client","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}","href":"/api-reference/clients/get-a-client"},{"title":"Disable or enable a client capability","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml patch /custodians/me/clients/{clientId}/capabilities","href":"/api-reference/clients/disable-or-enable-a-client-capability"},{"title":"Create a client session token","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/clients/{clientId}/sessions","href":"/api-reference/clients/create-a-client-session-token"},{"title":"Create a web OTP","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/clients/{clientId}/web-otps","href":"/api-reference/clients/create-a-web-otp"}]},{"group":"Transactions","pages":[{"title":"Build a transaction","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/clients/{clientId}/chains/{chain}/assets/send/build-transaction","href":"/api-reference/transactions/build-a-transaction"}]},{"group":"Wallet Metadata","pages":[{"title":"Get asset balances","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/chains/{chain}/assets","href":"/api-reference/wallet-metadata/get-asset-balances"},{"title":"Get NFTs","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/chains/{chain}/assets/nfts","href":"/api-reference/wallet-metadata/get-nfts"}]},{"group":"Wallet Shares","pages":[{"title":"Enable wallet ejection","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml patch /custodians/me/clients/{clientId}/enable-eject","href":"/api-reference/wallet-shares/enable-wallet-ejection"},{"title":"Get ejectable backup shares","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/wallets/{walletId}/ejectable-backup-shares","href":"/api-reference/wallet-shares/get-ejectable-backup-shares"},{"title":"Prepare a client for eject (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/clients/{clientId}/prepare-eject","href":"/api-reference/wallet-shares/prepare-a-client-for-eject-deprecated"}]},{"group":"Delegations","pages":[{"title":"Get Solana delegation status","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/chains/{chain}/delegation/status","href":"/api-reference/delegations/get-solana-delegation-status"},{"title":"Get delegation status for a token","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/chains/{chain}/assets/{token}/delegations","href":"/api-reference/delegations/get-delegation-status-for-a-token"},{"title":"Transfer as a delegate","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/clients/{clientId}/chains/{chain}/assets/{token}/delegations/transfers","href":"/api-reference/delegations/transfer-as-a-delegate"}]},{"group":"Informational Webhooks","pages":[{"title":"List informational webhooks","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/alerts/webhooks","href":"/api-reference/informational-webhooks/list-informational-webhooks"},{"title":"List informational webhook delivery events","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/alerts/webhooks/{alertWebhookId}/delivery-events","href":"/api-reference/informational-webhooks/list-informational-webhook-delivery-events"},{"title":"Retry an informational webhook delivery event","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/alerts/webhooks/{alertWebhookId}/delivery-events/{deliveryEventId}/retries","href":"/api-reference/informational-webhooks/retry-an-informational-webhook-delivery-event"},{"title":"List informational webhook events","deprecated":true,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/alerts/webhooks/{alertWebhookId}/events","href":"/api-reference/informational-webhooks/list-informational-webhook-events"},{"title":"Replay failed informational webhook events","deprecated":true,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/alerts/webhooks/{alertWebhookId}/events/failed/replay","href":"/api-reference/informational-webhooks/replay-failed-informational-webhook-events"},{"title":"Format a raw informational webhook event (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/alerts/wallets/format","href":"/api-reference/informational-webhooks/format-a-raw-informational-webhook-event-deprecated"},{"title":"Format raw informational webhook events (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/alerts/format","href":"/api-reference/informational-webhooks/format-raw-informational-webhook-events-deprecated"},{"title":"Replay events by block number (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/alerts/retry-by-block-number","href":"/api-reference/informational-webhooks/replay-events-by-block-number-deprecated"},{"title":"List external addresses","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/alerts/webhooks/external-addresses","href":"/api-reference/informational-webhooks/list-external-addresses"},{"title":"Create an external address","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/alerts/webhooks/external-addresses","href":"/api-reference/informational-webhooks/create-an-external-address"},{"title":"Delete an external address","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml delete /custodians/me/alerts/webhooks/external-addresses/{externalAddressId}","href":"/api-reference/informational-webhooks/delete-an-external-address"}]},{"group":"Gas Sponsorship","pages":[{"title":"Get gas sponsors","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/gas-sponsorship/chains","href":"/api-reference/gas-sponsorship/get-gas-sponsors"},{"title":"Update gas sponsorship for a chain","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml patch /custodians/me/gas-sponsorship/chains/{chainId}","href":"/api-reference/gas-sponsorship/update-gas-sponsorship-for-a-chain"},{"title":"Get historical gas sponsorship usage (deprecated)","deprecated":true,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/gas-sponsors/chains/{chainId}/usage","href":"/api-reference/gas-sponsorship/get-historical-gas-sponsorship-usage-deprecated"}]},{"group":"Due","pages":[{"title":"List webhook event types","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/integrations/due/webhooks/events","href":"/api-reference/due/list-webhook-event-types"},{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/integrations/due/webhooks","href":"/api-reference/due/list-webhook-endpoints"},{"title":"Create webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/integrations/due/webhooks","href":"/api-reference/due/create-webhook-endpoint"},{"title":"List webhook deliveries","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/integrations/due/webhooks/{webhookId}/events","href":"/api-reference/due/list-webhook-deliveries"},{"title":"Retry webhook delivery","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/integrations/due/webhooks/{webhookId}/events/{eventId}/retry","href":"/api-reference/due/retry-webhook-delivery"},{"title":"Update webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml post /custodians/me/integrations/due/webhooks/{webhookId}","href":"/api-reference/due/update-webhook-endpoint"},{"title":"Delete webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml delete /custodians/me/integrations/due/webhooks/{webhookId}","href":"/api-reference/due/delete-webhook-endpoint"}]},{"group":"Audit Events","pages":[{"title":"List audit events","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/audit-events","href":"/api-reference/audit-events/list-audit-events"},{"title":"List audit event types","deprecated":null,"version":null,"openapi":"/openapi/custodian-api.yaml get /custodians/me/audit-events/types","href":"/api-reference/audit-events/list-audit-event-types"}]}]},{"group":"Reseller API","pages":[{"group":"Reseller Statistics","pages":[{"title":"Get reseller statistics","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml get /resellers/stats","href":"/api-reference/reseller-statistics/get-reseller-statistics"}]},{"group":"Sub-Custodians","pages":[{"title":"Create a sub-custodian","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml post /resellers/custodians","href":"/api-reference/sub-custodians/create-a-sub-custodian"},{"title":"List sub-custodians","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml get /resellers/custodians","href":"/api-reference/sub-custodians/list-sub-custodians"},{"title":"Suspend a sub-custodian","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml put /resellers/custodians/{custodianId}/suspend","href":"/api-reference/sub-custodians/suspend-a-sub-custodian"},{"title":"Activate a sub-custodian","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml put /resellers/custodians/{custodianId}/activate","href":"/api-reference/sub-custodians/activate-a-sub-custodian"},{"title":"Disable or enable signing for a sub-custodian","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml patch /resellers/custodians/{custodianId}/capabilities","href":"/api-reference/sub-custodians/disable-or-enable-signing-for-a-sub-custodian"}]},{"group":"Sub-Custodian Environments","pages":[{"title":"List sub-custodian environments","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml get /resellers/custodians/{custodianId}/environments","href":"/api-reference/sub-custodian-environments/list-sub-custodian-environments"}]},{"group":"Sub-Custodian API Keys","pages":[{"title":"Create a sub-custodian API key","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml post /resellers/custodians/{custodianId}/environments/{environmentId}/api-keys","href":"/api-reference/sub-custodian-api-keys/create-a-sub-custodian-api-key"},{"title":"Delete a sub-custodian API key","deprecated":null,"version":null,"openapi":"/openapi/reseller-api.yaml delete /resellers/custodians/{custodianId}/environments/{environmentId}/api-keys/{apiKeyId}","href":"/api-reference/sub-custodian-api-keys/delete-a-sub-custodian-api-key"}]}]}]}]},"basePath":"","title":"Build a user operation - Portal","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}