Returns Circle’s fees, your custodian fee, the exact amount the
recipient receives, the total that leaves the wallet (totalDebit) and the
preflight checks for a transfer. Nothing is stored. A quote that can’t go ahead
still returns 200, with ready: false and a message and fix on each failed
check.
For Account Abstraction clients on an EVM source, the SOURCE_GAS and
SPONSORSHIP checks are null on a quote, because the user operation is only
built when you create the transfer. For a Solana source, both are known on the
quote.
USDC the recipient must receive (exact-out). Portal works out the amount to burn so the recipient gets at least this after fees (exactly this when Circle charges the full maxFee, as it does in practice).
Address to receive the USDC, validated against the destination chain. An EVM address for an EVM destination, or a Solana wallet address (not a token account) for a Solana destination, where Circle mints into the wallet's USDC token account. Defaults to the client's own address on the destination chain. Any other address must be on the environment's destination allowlist.
When ROUTE_SUPPORTED fails, only sourceChain, destinationChain, ready and checks are returned.
Show child attributes
Was this page helpful?
{"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":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb9ffe7d3e0e4d340c6d5c","clientVersion":"0.0.4094","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":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/cctp/quote-a-cctp-transfer","slug":"/api-reference/cctp/quote-a-cctp-transfer","pageMetadata":{"title":"Quote a CCTP transfer","description":"Returns Circle's fees, your custodian fee, the exact amount the\nrecipient receives, the total that leaves the wallet (`totalDebit`) and the\npreflight checks for a transfer. Nothing is stored. A quote that can't go ahead\nstill returns `200`, with `ready: false` and a `message` and `fix` on each failed\ncheck.\n\nFor Account Abstraction clients on an EVM source, the `SOURCE_GAS` and\n`SPONSORSHIP` checks are `null` on a quote, because the user operation is only\nbuilt when you create the transfer. For a Solana source, both are known on the\nquote.\n","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/cctp/quote","href":"/api-reference/cctp/quote-a-cctp-transfer","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: [\"Returns Circle’s fees, your custodian fee, the exact amount the\\nrecipient receives, the total that leaves the wallet (\", _jsx(_components.code, {\n children: \"totalDebit\"\n }), \") and the\\npreflight checks for a transfer. Nothing is stored. A quote that can’t go ahead\\nstill returns \", _jsx(_components.code, {\n children: \"200\"\n }), \", with \", _jsx(_components.code, {\n children: \"ready: false\"\n }), \" and a \", _jsx(_components.code, {\n children: \"message\"\n }), \" and \", _jsx(_components.code, {\n children: \"fix\"\n }), \" on each failed\\ncheck.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For Account Abstraction clients on an EVM source, the \", _jsx(_components.code, {\n children: \"SOURCE_GAS\"\n }), \" and\\n\", _jsx(_components.code, {\n children: \"SPONSORSHIP\"\n }), \" checks are \", _jsx(_components.code, {\n children: \"null\"\n }), \" on a quote, because the user operation is only\\nbuilt when you create the transfer. For a Solana source, both are known on the\\nquote.\"]\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":"Quote a CCTP transfer","description":"Returns Circle's fees, your custodian fee, the exact amount the\nrecipient receives, the total that leaves the wallet (`totalDebit`) and the\npreflight checks for a transfer. Nothing is stored. A quote that can't go ahead\nstill returns `200`, with `ready: false` and a `message` and `fix` on each failed\ncheck.\n\nFor Account Abstraction clients on an EVM source, the `SOURCE_GAS` and\n`SPONSORSHIP` checks are `null` on a quote, because the user operation is only\nbuilt when you create the transfer. For a Solana source, both are known on the\nquote.\n","deprecated":null,"version":null,"openapi":"/openapi/client-api.yaml post /clients/me/integrations/cctp/quote","href":"/api-reference/cctp/quote-a-cctp-transfer","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getCctpQuote","summary":"Quote a CCTP transfer","description":"Returns Circle's fees, your custodian fee, the exact amount the\nrecipient receives, the total that leaves the wallet (`totalDebit`) and the\npreflight checks for a transfer. Nothing is stored. A quote that can't go ahead\nstill returns `200`, with `ready: false` and a `message` and `fix` on each failed\ncheck.\n\nFor Account Abstraction clients on an EVM source, the `SOURCE_GAS` and\n`SPONSORSHIP` checks are `null` on a quote, because the user operation is only\nbuilt when you create the transfer. For a Solana source, both are known on the\nquote.\n","tags":["CCTP"],"requestBody":"0bdfa37a-dca5-472b-9cf0-a52f10160484","responses":{"200":"b96c0583-6ef8-42b1-be77-ccade8bf4963","400":"643c2f2d-2998-4c8c-a16f-a6f0ee512db2","401":"03736f72-62eb-4f71-bbc7-b0dec7e52a57","503":"919c26ff-eac1-41f2-857a-1cae39e7a1e5"},"method":"post","type":"path","servers":["16ba486e-8d7f-4284-af4f-28b7a1896d7d"],"security":["03cc5e6f-0644-4250-905d-bbf631cbf6eb"],"path":"/clients/me/integrations/cctp/quote","baseUrlOptions":["https://api.portalhq.io/api/v3"],"title":"Quote a CCTP transfer","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Send exactly one of `amount` or `amountOut`. Unknown fields are rejected.","required":["sourceChain","destinationChain","amount"],"properties":{"sourceChain":{"type":"string","pattern":"^(eip155:\\d+|solana:[1-9A-HJ-NP-Za-km-z]{32})$","description":"CAIP-2 id of the chain to send from, an EVM chain or Solana.","example":"eip155:11155111","isRequired":true,"uniqueKey":"oneOf.0.sourceChain","typeLabel":"string"},"destinationChain":{"type":"string","pattern":"^(eip155:\\d+|solana:[1-9A-HJ-NP-Za-km-z]{32})$","description":"CAIP-2 id of the chain to send to, an EVM chain or Solana.","example":"eip155:84532","isRequired":true,"uniqueKey":"oneOf.0.destinationChain","typeLabel":"string"},"amount":{"type":"string","pattern":"^\\d+(\\.\\d{1,6})?$","description":"USDC to burn on the source chain, as a decimal string with up to 6 decimals (not base units).","example":"0.1","isRequired":true,"uniqueKey":"oneOf.0.amount","typeLabel":"string"},"amountOut":{"type":"string","pattern":"^\\d+(\\.\\d{1,6})?$","description":"USDC the recipient must receive (exact-out). Portal works out the `amount` to burn so the recipient gets at least this after fees (exactly this when Circle charges the full `maxFee`, as it does in practice).","example":"0.045735","uniqueKey":"oneOf.0.amountOut","typeLabel":"string"},"speed":{"type":"string","enum":["auto","fast","standard"],"default":"auto","description":"`auto` and `fast` use Fast when the source chain offers it, otherwise Standard. `standard` always uses Standard.","uniqueKey":"oneOf.0.speed","typeLabel":"enum\u003cstring>"},"recipient":{"type":"string","minLength":1,"maxLength":64,"description":"Address to receive the USDC, validated against the destination chain. An EVM address for an EVM destination, or a Solana wallet address (not a token account) for a Solana destination, where Circle mints into the wallet's USDC token account. Defaults to the client's own address on the destination chain. Any other address must be on the environment's destination allowlist.","uniqueKey":"oneOf.0.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Send exactly one of `amount` or `amountOut`. Unknown fields are rejected.","required":["sourceChain","destinationChain","amountOut"],"properties":{"sourceChain":{"type":"string","pattern":"^(eip155:\\d+|solana:[1-9A-HJ-NP-Za-km-z]{32})$","description":"CAIP-2 id of the chain to send from, an EVM chain or Solana.","example":"eip155:11155111","isRequired":true,"uniqueKey":"oneOf.1.sourceChain","typeLabel":"string"},"destinationChain":{"type":"string","pattern":"^(eip155:\\d+|solana:[1-9A-HJ-NP-Za-km-z]{32})$","description":"CAIP-2 id of the chain to send to, an EVM chain or Solana.","example":"eip155:84532","isRequired":true,"uniqueKey":"oneOf.1.destinationChain","typeLabel":"string"},"amountOut":{"type":"string","pattern":"^\\d+(\\.\\d{1,6})?$","description":"USDC the recipient must receive (exact-out). Portal works out the `amount` to burn so the recipient gets at least this after fees (exactly this when Circle charges the full `maxFee`, as it does in practice).","example":"0.045735","isRequired":true,"uniqueKey":"oneOf.1.amountOut","typeLabel":"string"},"amount":{"type":"string","pattern":"^\\d+(\\.\\d{1,6})?$","description":"USDC to burn on the source chain, as a decimal string with up to 6 decimals (not base units).","example":"0.1","uniqueKey":"oneOf.1.amount","typeLabel":"string"},"speed":{"type":"string","enum":["auto","fast","standard"],"default":"auto","description":"`auto` and `fast` use Fast when the source chain offers it, otherwise Standard. `standard` always uses Standard.","uniqueKey":"oneOf.1.speed","typeLabel":"enum\u003cstring>"},"recipient":{"type":"string","minLength":1,"maxLength":64,"description":"Address to receive the USDC, validated against the destination chain. An EVM address for an EVM destination, or a Solana wallet address (not a token account) for a Solana destination, where Circle mints into the wallet's USDC token account. Defaults to the client's own address on the destination chain. Any other address must be on the environment's destination allowlist.","uniqueKey":"oneOf.1.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"example":{"sourceChain":"eip155:84532","destinationChain":"eip155:43113","amount":"0.09","speed":"auto"},"examples":{"Example":{"title":"Example","value":{"sourceChain":"eip155:84532","destinationChain":"eip155:43113","amount":"0.09","speed":"auto"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"b96c0583-6ef8-42b1-be77-ccade8bf4963":{"description":"Quote","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"When `ROUTE_SUPPORTED` fails, only `sourceChain`, `destinationChain`, `ready` and `checks` are returned.","required":["sourceChain","destinationChain","ready","checks"],"properties":{"sourceChain":{"type":"string","isRequired":true,"uniqueKey":"data.sourceChain","typeLabel":"string"},"destinationChain":{"type":"string","isRequired":true,"uniqueKey":"data.destinationChain","typeLabel":"string"},"ready":{"type":"boolean","description":"`true` when no check has `ok: false`.","isRequired":true,"uniqueKey":"data.ready","typeLabel":"boolean"},"checks":{"type":"array","items":{"type":"object","required":["id","ok"],"properties":{"id":{"type":"string","enum":["ROUTE_SUPPORTED","AMOUNT_ABOVE_MINIMUM","BALANCE","RECIPIENT_ALLOWED","SOURCE_GAS","SPONSORSHIP"],"description":"`SPONSORSHIP` is only returned for Account Abstraction clients and for Solana sources.","isRequired":true,"uniqueKey":"data.checks.items.[INDEX].id","typeLabel":"enum\u003cstring>"},"ok":{"oneOf":[{"type":"boolean","description":"`true` passed, `false` failed and blocks the transfer, `null` can't be known at this stage or a check it depends on failed.","isRequired":true,"uniqueKey":"data.checks.items.[INDEX].ok.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` passed, `false` failed and blocks the transfer, `null` can't be known at this stage or a check it depends on failed.","isRequired":true,"uniqueKey":"data.checks.items.[INDEX].ok.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.checks.items.[INDEX].ok","typeLabel":"boolean | null"},"message":{"type":"string","uniqueKey":"data.checks.items.[INDEX].message","typeLabel":"string"},"fix":{"type":"string","description":"What to do about a failed check.","uniqueKey":"data.checks.items.[INDEX].fix","typeLabel":"string"}},"uniqueKey":"data.checks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.checks","typeLabel":"object[]"},"amount":{"type":"string","description":"USDC to burn on the source chain.","uniqueKey":"data.amount","typeLabel":"string"},"amountRaw":{"type":"string","description":"`amount` in base units (6 decimals).","uniqueKey":"data.amountRaw","typeLabel":"string"},"speed":{"type":"string","enum":["fast","standard"],"description":"The speed Portal picked.","uniqueKey":"data.speed","typeLabel":"enum\u003cstring>"},"minFinalityThreshold":{"type":"integer","description":"CCTP finality threshold for the speed (`1000` Fast, `2000` Standard).","uniqueKey":"data.minFinalityThreshold","typeLabel":"integer"},"fees":{"type":"object","description":"Circle's fees (`protocol`, `forwarding`, `maxFee`) come out of `amount`. The `custodian` fee is paid on top of `amount`, in USDC on the source chain.","properties":{"protocol":{"type":"string","description":"Circle's protocol fee in USDC, in basis points of the amount, rounded up to 0.000001.","example":"0.00001","uniqueKey":"data.fees.protocol","typeLabel":"string"},"forwarding":{"type":"string","description":"Circle's fee in USDC for minting on the destination chain and paying the gas there. Higher into a Solana wallet that has no USDC token account yet.","example":"0.054255","uniqueKey":"data.fees.forwarding","typeLabel":"string"},"maxFee":{"type":"string","description":"`protocol` plus `forwarding`.","example":"0.054265","uniqueKey":"data.fees.maxFee","typeLabel":"string"},"custodian":{"type":"string","description":"Your fee in USDC, set on the CCTP card in the Portal Dashboard (a percentage of `amount`, a flat amount, or both). `0` when no fee is set.","example":"0.0005","uniqueKey":"data.fees.custodian","typeLabel":"string"}},"uniqueKey":"data.fees","typeLabel":"object"},"totalDebit":{"type":"string","description":"The USDC that leaves the wallet, `amount + fees.custodian`. The `BALANCE` check compares the wallet's balance against it.","example":"0.1005","uniqueKey":"data.totalDebit","typeLabel":"string"},"amountOut":{"type":"string","description":"What the recipient receives, `amount - fees.maxFee`. Circle can charge less than `maxFee`, so the recipient never gets less; in practice it charges the full `maxFee`.","uniqueKey":"data.amountOut","typeLabel":"string"},"minAmount":{"type":"string","description":"The smallest `amount` that delivers anything on this route.","uniqueKey":"data.minAmount","typeLabel":"string"},"sourceGas":{"type":"object","properties":{"payer":{"type":"string","enum":["user","sponsor"],"description":"`sponsor` when the user operation is gas sponsored (Account Abstraction clients on an EVM source, on create), or when the environment's Solana gas sponsor pays the transaction fee and rent (Solana source).","uniqueKey":"data.sourceGas.payer","typeLabel":"enum\u003cstring>"},"estimatedWei":{"type":"string","description":"EVM source. Estimated source chain gas in wei for all the transactions or the user operation.","uniqueKey":"data.sourceGas.estimatedWei","typeLabel":"string"},"estimatedLamports":{"type":"string","description":"Solana source. Estimated SOL cost in lamports of the transaction fees and the rent for Circle's event account (and for any fee address token account that doesn't exist yet).","uniqueKey":"data.sourceGas.estimatedLamports","typeLabel":"string"}},"uniqueKey":"data.sourceGas","typeLabel":"object"},"estimatedSeconds":{"type":"integer","description":"Estimated transfer time at the picked speed.","uniqueKey":"data.estimatedSeconds","typeLabel":"integer"},"sender":{"type":"string","description":"The address that signs and sends the burn (the smart account for Account Abstraction clients on an EVM source, the Solana wallet for a Solana source). Use it as `from` when signing on EVM.","uniqueKey":"data.sender","typeLabel":"string"},"recipient":{"type":"string","description":"The address that receives the USDC on the destination chain. On Solana, the wallet that owns the USDC token account Circle mints into.","uniqueKey":"data.recipient","typeLabel":"string"},"warnings":{"type":"array","items":{"type":"string","enum":["LONG_FINALITY","EXTERNAL_RECIPIENT","RECIPIENT_ACCOUNT_SETUP"],"uniqueKey":"data.warnings.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Warnings never block the transfer. `RECIPIENT_ACCOUNT_SETUP` means the Solana recipient has no USDC token account yet, so Circle creates it during the mint and charges a higher forwarding fee.","uniqueKey":"data.warnings","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":{"sourceChain":"eip155:84532","destinationChain":"eip155:43113","amount":"0.09","amountRaw":"90000","speed":"fast","minFinalityThreshold":1000,"fees":{"protocol":"0.000012","forwarding":"0.054181","maxFee":"0.054193","custodian":"0"},"totalDebit":"0.09","amountOut":"0.035807","minAmount":"0.05419","sourceGas":{"payer":"user","estimatedWei":"1237440000000"},"estimatedSeconds":8,"sender":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","recipient":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","warnings":[],"ready":true,"checks":[{"id":"ROUTE_SUPPORTED","ok":true},{"id":"AMOUNT_ABOVE_MINIMUM","ok":true},{"id":"BALANCE","ok":true},{"id":"RECIPIENT_ALLOWED","ok":true},{"id":"SOURCE_GAS","ok":true}]}},"examples":{"Example":{"title":"Example","value":{"data":{"sourceChain":"eip155:84532","destinationChain":"eip155:43113","amount":"0.09","amountRaw":"90000","speed":"fast","minFinalityThreshold":1000,"fees":{"protocol":"0.000012","forwarding":"0.054181","maxFee":"0.054193","custodian":"0"},"totalDebit":"0.09","amountOut":"0.035807","minAmount":"0.05419","sourceGas":{"payer":"user","estimatedWei":"1237440000000"},"estimatedSeconds":8,"sender":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","recipient":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","warnings":[],"ready":true,"checks":[{"id":"ROUTE_SUPPORTED","ok":true},{"id":"AMOUNT_ABOVE_MINIMUM","ok":true},{"id":"BALANCE","ok":true},{"id":"RECIPIENT_ALLOWED","ok":true},{"id":"SOURCE_GAS","ok":true}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"643c2f2d-2998-4c8c-a16f-a6f0ee512db2":{"description":"Bad request. Common causes:\n- The body is malformed or has unknown fields (no `id`)\n- The body has both or neither of `amount` and `amountOut` (`INVALID_AMOUNT`)\n- The integration isn't enabled (`CCTP_NOT_ENABLED`)\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"id":{"type":"string","enum":["CCTP_NOT_ENABLED","INVALID_AMOUNT","IDEMPOTENCY_KEY_REUSED","CCTP_REBUILD_UNAVAILABLE","CCTP_REBUILD_TOO_SOON","ALREADY_SUBMITTED"],"description":"Stable error id. Absent on malformed request errors.","uniqueKey":"id","typeLabel":"enum\u003cstring>"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Send exactly one of amount or amountOut","id":"INVALID_AMOUNT"},"examples":{"Example":{"title":"Example","value":{"error":"Send exactly one of amount or amountOut","id":"INVALID_AMOUNT"}}},"exampleType":"examples"}},"exampleType":"examples"},"03736f72-62eb-4f71-bbc7-b0dec7e52a57":{"description":"Unauthorized","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"},"919c26ff-eac1-41f2-857a-1cae39e7a1e5":{"description":"Circle's API is temporarily unavailable. Retry after `details.retryAfterSeconds`.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"details":{"type":"object","properties":{"retryAfterSeconds":{"type":"integer","description":"Seconds to wait before retrying.","uniqueKey":"details.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"details","typeLabel":"object"},"id":{"type":"string","enum":["CCTP_UPSTREAM_UNAVAILABLE"],"uniqueKey":"id","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":{"retryAfterSeconds":123},"id":"CCTP_UPSTREAM_UNAVAILABLE"}}},"exampleType":"generated"}},"exampleType":"generated"}},"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":"Quote a CCTP transfer - Portal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T15:17:20.676Z","originalFileLocation":"api-reference/cctp/quote-a-cctp-transfer.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=\"Returns Circle\u0026#x27;s fees, your custodian fee, the exact amount the recipient receives, the total that leaves the wallet (totalDebit) and the preflight checks for a transfer. Nothing is stored. A quote that can\u0026#x27;t go ahead still returns 200, with ready: false and a message and fix on each failed check. For Account Abstraction clients on an EVM source, the SOURCE_GAS and SPONSORSHIP checks are null on a quote, because the user operation is only built when you create the transfer. For a Solana source, both are known on the quote.\">\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=\"Quote a CCTP transfer - Portal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns Circle\u0026#x27;s fees, your custodian fee, the exact amount the recipient receives, the total that leaves the wallet (totalDebit) and the preflight checks for a transfer. Nothing is stored. A quote that can\u0026#x27;t go ahead still returns 200, with ready: false and a message and fix on each failed check. For Account Abstraction clients on an EVM source, the SOURCE_GAS and SPONSORSHIP checks are null on a quote, because the user operation is only built when you create the transfer. For a Solana source, both are known on the quote.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Portal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://portal-003221ec.mintlify.site/_mintlify/api/og/v2?division=CCTP\u0026amp;title=Quote+a+CCTP+transfer\u0026amp;description=Returns+Circle%27s+fees%2C+your+custodian+fee%2C+the+exact+amount+the%0Arecipient+receives%2C+the+total+that+leaves+the+wallet+%28%60totalDebit%60%29+and+the%0Apreflight+checks+for\u0026amp;theme=e1b378a47070082a94077904\u0026amp;signature=f436f66e0db23332833d3cfdb150746b23878e6581896a6e31cea71c34c3f6ea\">\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=\"Quote a CCTP transfer - Portal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns Circle\u0026#x27;s fees, your custodian fee, the exact amount the recipient receives, the total that leaves the wallet (totalDebit) and the preflight checks for a transfer. Nothing is stored. A quote that can\u0026#x27;t go ahead still returns 200, with ready: false and a message and fix on each failed check. For Account Abstraction clients on an EVM source, the SOURCE_GAS and SPONSORSHIP checks are null on a quote, because the user operation is only built when you create the transfer. For a Solana source, both are known on the quote.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://portal-003221ec.mintlify.site/_mintlify/api/og/v2?division=CCTP\u0026amp;title=Quote+a+CCTP+transfer\u0026amp;description=Returns+Circle%27s+fees%2C+your+custodian+fee%2C+the+exact+amount+the%0Arecipient+receives%2C+the+total+that+leaves+the+wallet+%28%60totalDebit%60%29+and+the%0Apreflight+checks+for\u0026amp;theme=e1b378a47070082a94077904\u0026amp;signature=f436f66e0db23332833d3cfdb150746b23878e6581896a6e31cea71c34c3f6ea\">\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/cctp/quote-a-cctp-transfer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/cctp/quote-a-cctp-transfer.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/cctp/quote-a-cctp-transfer#webpage\",\"url\":\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer\",\"name\":\"Quote a CCTP transfer\",\"description\":\"Returns Circle's fees, your custodian fee, the exact amount the recipient receives, the total that leaves the wallet (totalDebit) and the preflight checks for a transfer. Nothing is stored. A quote that can't go ahead still returns 200, with ready: false and a message and fix on each failed check. For Account Abstraction clients on an EVM source, the SOURCE_GAS and SPONSORSHIP checks are null on a quote, because the user operation is only built when you create the transfer. For a Solana source, both are known on the quote.\",\"dateModified\":\"2026-11-02T15:17:20.676Z\",\"isPartOf\":{\"@id\":\"https://docs.portalhq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer#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\":\"CCTP\",\"item\":\"https://docs.portalhq.io/api-reference/cctp/list-cctp-routes\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Quote a CCTP transfer\",\"item\":\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer#apireference\",\"headline\":\"Quote a CCTP transfer\",\"name\":\"Quote a CCTP transfer\",\"description\":\"Returns Circle's fees, your custodian fee, the exact amount the recipient receives, the total that leaves the wallet (totalDebit) and the preflight checks for a transfer. Nothing is stored. A quote that can't go ahead still returns 200, with ready: false and a message and fix on each failed check. For Account Abstraction clients on an EVM source, the SOURCE_GAS and SPONSORSHIP checks are null on a quote, because the user operation is only built when you create the transfer. For a Solana source, both are known on the quote.\",\"url\":\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.portalhq.io/api-reference/cctp/quote-a-cctp-transfer#webpage\"},\"dateModified\":\"2026-11-02T15:17:20.676Z\",\"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","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","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","description":"Lists the chains you can move USDC between with CCTP: EVM chains and\nSolana. Any listed chain can be the source or the destination, as long as both\nare on the same `network` (mainnet or testnet) and they're different chains.\n","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","description":"Quotes again with fresh fees, runs every preflight check and, when they all pass,\nstores the transfer as `BUILT` and returns what to sign. If any check fails,\nnothing is stored and the response is `400` with the id `CCTP_PREFLIGHT_FAILED`.\n\n- **EVM source, EOA clients**: sign `transactions` in order, waiting for each\n to be mined successfully before signing the next; stop if one fails. An\n `approve` comes first when the allowance is too low, then the `burn`, then one\n `fee` transfer for your custodian fee.\n- **EVM source, Account Abstraction clients**: sign `userOperation`, which already\n contains every call in `transactions`.\n- **Solana source**: `transactions` holds one Solana transaction with\n `serializedTransaction`, already partially signed by Circle's event account and\n with any fee transfers inside. Sign and broadcast it with\n `sol_signAndSendTransaction`. Its blockhash expires after roughly a minute.\n\nSign and broadcast on the source chain, then call `submit` with the burn\ntransaction hash (EOA), the user operation hash (Account Abstraction on an EVM\nsource) or the Solana signature (Solana source).\n\nWith an `Idempotency-Key`, the same key and body return the same transfer: with\nfreshly built `transactions` while it's `BUILT` or `ABANDONED`, or its current\nstate (without `transactions`) once it's submitted. If Portal can't confirm that\nan earlier burn for the transfer never landed, it returns `409` with the id\n`CCTP_REBUILD_UNAVAILABLE` instead of new `transactions`. The same key with a\ndifferent body returns `409` with the id `IDEMPOTENCY_KEY_REUSED`.\n","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":"Quote a CCTP transfer - Portal","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}