{
"error": "Submit the txHash of the broadcast burn transaction"
}
{
"error": "<string>"
}
{
"error": "CCTP transfer does not exist."
}
{
"error": "This transfer was already submitted with a different hash",
"id": "ALREADY_SUBMITTED"
}
CCTP
Submit a CCTP transfer
Tells Portal which transaction to track. Send exactly one of:
txHash: the burn transaction hash (0x), for EOA clients on an EVM source.
For a Solana source, the base58 signature of the burn transaction, for every
client including Account Abstraction clients.
userOpHash: the user operation hash, for Account Abstraction clients on an
EVM source.
Submitting the approve or a fee transfer hash instead of the burn hash ends the
transfer as FAILED with failureReasonTX_MISMATCH. A Solana signature that
doesn’t appear on chain within 30 minutes ends it as FAILED with
SOURCE_TX_NOT_FOUND.
Safe to retry: the same hash again returns the transfer. A different hash, or a
hash already submitted for another transfer, returns 409 with the id
ALREADY_SUBMITTED. A transfer marked ABANDONED still accepts a late submit.
Works even if the integration was disabled after the transfer was created.
Send exactly one of txHash (EOA clients on an EVM source, and every client on a Solana source) or userOpHash (Account Abstraction clients on an EVM source).
{"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/submit-a-cctp-transfer","slug":"/api-reference/cctp/submit-a-cctp-transfer","pageMetadata":{"title":"Submit a CCTP transfer","description":"Tells Portal which transaction to track. Send exactly one of:\n\n- `txHash`: the burn transaction hash (`0x`), for EOA clients on an EVM source.\n For a Solana source, the base58 signature of the burn transaction, for every\n client including Account Abstraction clients.\n- `userOpHash`: the user operation hash, for Account Abstraction clients on an\n EVM source.\n\nSubmitting the approve or a fee transfer hash instead of the burn hash ends the\ntransfer as `FAILED` with `failureReason` `TX_MISMATCH`. A Solana signature that\ndoesn't appear on chain within 30 minutes ends it as `FAILED` with\n`SOURCE_TX_NOT_FOUND`.\n\nSafe to retry: the same hash again returns the transfer. A different hash, or a\nhash already submitted for another transfer, returns `409` with the id\n`ALREADY_SUBMITTED`. A transfer marked `ABANDONED` still accepts a late submit.\nWorks even if the integration was disabled after the transfer was created.\n","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","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 li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Tells Portal which transaction to track. Send exactly one of:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"txHash\"\n }), \": the burn transaction hash (\", _jsx(_components.code, {\n children: \"0x\"\n }), \"), for EOA clients on an EVM source.\\nFor a Solana source, the base58 signature of the burn transaction, for every\\nclient including Account Abstraction clients.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"userOpHash\"\n }), \": the user operation hash, for Account Abstraction clients on an\\nEVM source.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Submitting the approve or a fee transfer hash instead of the burn hash ends the\\ntransfer as \", _jsx(_components.code, {\n children: \"FAILED\"\n }), \" with \", _jsx(_components.code, {\n children: \"failureReason\"\n }), \" \", _jsx(_components.code, {\n children: \"TX_MISMATCH\"\n }), \". A Solana signature that\\ndoesn’t appear on chain within 30 minutes ends it as \", _jsx(_components.code, {\n children: \"FAILED\"\n }), \" with\\n\", _jsx(_components.code, {\n children: \"SOURCE_TX_NOT_FOUND\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Safe to retry: the same hash again returns the transfer. A different hash, or a\\nhash already submitted for another transfer, returns \", _jsx(_components.code, {\n children: \"409\"\n }), \" with the id\\n\", _jsx(_components.code, {\n children: \"ALREADY_SUBMITTED\"\n }), \". A transfer marked \", _jsx(_components.code, {\n children: \"ABANDONED\"\n }), \" still accepts a late submit.\\nWorks even if the integration was disabled after the transfer was created.\"]\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":"Submit a CCTP transfer","description":"Tells Portal which transaction to track. Send exactly one of:\n\n- `txHash`: the burn transaction hash (`0x`), for EOA clients on an EVM source.\n For a Solana source, the base58 signature of the burn transaction, for every\n client including Account Abstraction clients.\n- `userOpHash`: the user operation hash, for Account Abstraction clients on an\n EVM source.\n\nSubmitting the approve or a fee transfer hash instead of the burn hash ends the\ntransfer as `FAILED` with `failureReason` `TX_MISMATCH`. A Solana signature that\ndoesn't appear on chain within 30 minutes ends it as `FAILED` with\n`SOURCE_TX_NOT_FOUND`.\n\nSafe to retry: the same hash again returns the transfer. A different hash, or a\nhash already submitted for another transfer, returns `409` with the id\n`ALREADY_SUBMITTED`. A transfer marked `ABANDONED` still accepts a late submit.\nWorks even if the integration was disabled after the transfer was created.\n","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"submitCctpTransfer","summary":"Submit a CCTP transfer","description":"Tells Portal which transaction to track. Send exactly one of:\n\n- `txHash`: the burn transaction hash (`0x`), for EOA clients on an EVM source.\n For a Solana source, the base58 signature of the burn transaction, for every\n client including Account Abstraction clients.\n- `userOpHash`: the user operation hash, for Account Abstraction clients on an\n EVM source.\n\nSubmitting the approve or a fee transfer hash instead of the burn hash ends the\ntransfer as `FAILED` with `failureReason` `TX_MISMATCH`. A Solana signature that\ndoesn't appear on chain within 30 minutes ends it as `FAILED` with\n`SOURCE_TX_NOT_FOUND`.\n\nSafe to retry: the same hash again returns the transfer. A different hash, or a\nhash already submitted for another transfer, returns `409` with the id\n`ALREADY_SUBMITTED`. A transfer marked `ABANDONED` still accepts a late submit.\nWorks even if the integration was disabled after the transfer was created.\n","tags":["CCTP"],"parameters":["36a87c14-5c84-4058-ba93-829f88231d3d"],"requestBody":"87b1e38f-0291-4d0e-a53c-3645e36b4f47","responses":{"200":"b54f3af2-99cc-406d-9432-6b00b28410b1","400":"6103f01a-e7a3-45bf-acb8-3007fc2ccee6","401":"5120500d-4f33-4ef8-b37a-326ff7b19039","404":"51da5d17-b6ae-4337-8419-d2c0e04fd980","409":"1b8ed60f-12c0-4cff-b2b9-42c2ad27deaa"},"method":"post","type":"path","servers":["16ba486e-8d7f-4284-af4f-28b7a1896d7d"],"security":["03cc5e6f-0644-4250-905d-bbf631cbf6eb"],"path":"/clients/me/integrations/cctp/transfers/{id}/submit","baseUrlOptions":["https://api.portalhq.io/api/v3"],"title":"Submit a CCTP transfer","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"36a87c14-5c84-4058-ba93-829f88231d3d":{"name":"id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"The `transferId` from the create response.","uniqueKey":"","typeLabel":"string"},"description":"The `transferId` from the create response."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Send exactly one of `txHash` (EOA clients on an EVM source, and every client on a Solana source) or `userOpHash` (Account Abstraction clients on an EVM source).","required":["txHash"],"properties":{"txHash":{"type":"string","pattern":"^(0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$","description":"The burn transaction hash (`0x`, EVM source) or the base58 signature of the burn transaction (Solana source). Not the approve or a fee transfer hash.","isRequired":true,"uniqueKey":"oneOf.0.txHash","typeLabel":"string"},"userOpHash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"The hash of the broadcast user operation.","uniqueKey":"oneOf.0.userOpHash","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Send exactly one of `txHash` (EOA clients on an EVM source, and every client on a Solana source) or `userOpHash` (Account Abstraction clients on an EVM source).","required":["userOpHash"],"properties":{"userOpHash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"The hash of the broadcast user operation.","isRequired":true,"uniqueKey":"oneOf.1.userOpHash","typeLabel":"string"},"txHash":{"type":"string","pattern":"^(0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$","description":"The burn transaction hash (`0x`, EVM source) or the base58 signature of the burn transaction (Solana source). Not the approve or a fee transfer hash.","uniqueKey":"oneOf.1.txHash","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"evm":{"title":"evm","value":{"txHash":"0xc7c227eee90af289fceb0d33c66b472457c65b74811f2ba02a8ab21727496dfb"}},"solana":{"title":"solana","value":{"txHash":"3GxLobzBKtFmQUrYEvgCbrcXHbJ6SsgZwiwyXP8TWJeWBeZUCeAU7D1tzqdZqFYr7VvLA41WXsvQuFMqgGjXBMhr"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"b54f3af2-99cc-406d-9432-6b00b28410b1":{"description":"Transfer submitted","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"data.id","typeLabel":"string"},"status":{"type":"string","enum":["BUILT","SUBMITTED","PENDING_SOURCE","ATTESTING","DELAYED","FORWARDING","COMPLETED","FAILED","ABANDONED","STALLED"],"description":"`COMPLETED`, `FAILED` and `STALLED` are final. `ABANDONED` means built but not submitted within 1 hour; a late submit is still accepted.","uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"failureReason":{"type":"string","enum":["SOURCE_REVERTED","TX_MISMATCH","USER_OP_NOT_FOUND","SOURCE_TX_NOT_FOUND"],"description":"Set when `status` is `FAILED`. `SOURCE_TX_NOT_FOUND` means the submitted Solana signature didn't appear on chain within 30 minutes.","uniqueKey":"data.failureReason","typeLabel":"enum\u003cstring>"},"delayReason":{"type":"string","description":"Circle's reason while the transfer is `DELAYED`, for example `insufficient_fee`, `amount_above_max` or `insufficient_allowance_available`.","uniqueKey":"data.delayReason","typeLabel":"string"},"sourceChain":{"type":"string","uniqueKey":"data.sourceChain","typeLabel":"string"},"destinationChain":{"type":"string","uniqueKey":"data.destinationChain","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"data.amount","typeLabel":"string"},"amountOut":{"type":"string","description":"What the recipient receives, `amount - fees.feeExecuted` once known, otherwise `amount - fees.maxFee`. Never less than the quoted `amountOut`, since `feeExecuted` is at most `maxFee`.","uniqueKey":"data.amountOut","typeLabel":"string"},"sender":{"type":"string","description":"The address that burns the USDC (the smart account for Account Abstraction clients on an EVM source, the Solana wallet for a Solana source).","uniqueKey":"data.sender","typeLabel":"string"},"recipient":{"type":"string","uniqueKey":"data.recipient","typeLabel":"string"},"speed":{"type":"string","enum":["fast","standard"],"uniqueKey":"data.speed","typeLabel":"enum\u003cstring>"},"fees":{"type":"object","properties":{"maxFee":{"type":"string","description":"Circle's protocol and forwarding fees, which come out of `amount`.","uniqueKey":"data.fees.maxFee","typeLabel":"string"},"custodian":{"type":"string","description":"Your fee in USDC, paid on top of `amount`.","uniqueKey":"data.fees.custodian","typeLabel":"string"},"feeExecuted":{"type":"string","description":"The fee Circle actually charged, once known.","uniqueKey":"data.fees.feeExecuted","typeLabel":"string"}},"uniqueKey":"data.fees","typeLabel":"object"},"totalDebit":{"type":"string","description":"The USDC that leaves the wallet, `amount + fees.custodian`.","uniqueKey":"data.totalDebit","typeLabel":"string"},"sourceTxHash":{"type":"string","description":"The burn transaction hash, or its base58 signature on Solana. For Account Abstraction clients on an EVM source, present once the user operation is included on chain.","uniqueKey":"data.sourceTxHash","typeLabel":"string"},"userOpHash":{"type":"string","uniqueKey":"data.userOpHash","typeLabel":"string"},"destinationTxHash":{"type":"string","description":"The mint transaction on the destination chain, a base58 signature on Solana. Set when `COMPLETED`.","uniqueKey":"data.destinationTxHash","typeLabel":"string"},"sourceExplorerUrl":{"type":"string","description":"Links to Solscan for a Solana source.","uniqueKey":"data.sourceExplorerUrl","typeLabel":"string"},"destinationExplorerUrl":{"type":"string","description":"Links to Solscan for a Solana destination.","uniqueKey":"data.destinationExplorerUrl","typeLabel":"string"},"estimatedCompletionAt":{"type":"string","format":"date-time","description":"Only present until the status is final.","uniqueKey":"data.estimatedCompletionAt","typeLabel":"string\u003cdate-time>"},"pollAfterMs":{"type":"integer","minimum":2000,"description":"How long to wait before reading again. Only present until the status is final.","uniqueKey":"data.pollAfterMs","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"data.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":{"id":"cmuzgyc2105hw41rg2h19pomm","status":"SUBMITTED","sourceChain":"eip155:84532","destinationChain":"eip155:43113","amount":"0.09","amountOut":"0.035807","sender":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","recipient":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","speed":"fast","fees":{"maxFee":"0.054193","custodian":"0"},"totalDebit":"0.09","sourceTxHash":"0xc7c227eee90af289fceb0d33c66b472457c65b74811f2ba02a8ab21727496dfb","sourceExplorerUrl":"https://sepolia.basescan.org/tx/0xc7c227eee90af289fceb0d33c66b472457c65b74811f2ba02a8ab21727496dfb","estimatedCompletionAt":"2026-10-08T11:44:54.347Z","pollAfterMs":2000,"createdAt":"2026-10-08T11:44:32.137Z","updatedAt":"2026-10-08T11:44:46.349Z"}},"examples":{"Example":{"title":"Example","value":{"data":{"id":"cmuzgyc2105hw41rg2h19pomm","status":"SUBMITTED","sourceChain":"eip155:84532","destinationChain":"eip155:43113","amount":"0.09","amountOut":"0.035807","sender":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","recipient":"0xa7f0c09f250b7f9cc73068c02ceb296a013c0c0c","speed":"fast","fees":{"maxFee":"0.054193","custodian":"0"},"totalDebit":"0.09","sourceTxHash":"0xc7c227eee90af289fceb0d33c66b472457c65b74811f2ba02a8ab21727496dfb","sourceExplorerUrl":"https://sepolia.basescan.org/tx/0xc7c227eee90af289fceb0d33c66b472457c65b74811f2ba02a8ab21727496dfb","estimatedCompletionAt":"2026-10-08T11:44:54.347Z","pollAfterMs":2000,"createdAt":"2026-10-08T11:44:32.137Z","updatedAt":"2026-10-08T11:44:46.349Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"6103f01a-e7a3-45bf-acb8-3007fc2ccee6":{"description":"Bad request. Common causes:\n- The body has both or neither of `txHash` and `userOpHash`, `txHash` isn't a `0x` 32-byte hash or a base58 Solana signature, or `userOpHash` isn't a `0x` 32-byte hash\n- On an EVM source, an EOA client sent `userOpHash`, an Account Abstraction client sent `txHash`, or `txHash` isn't a `0x` hash\n- On a Solana source, the body has `userOpHash` or a `0x` `txHash` instead of the Solana signature\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Submit the txHash of the broadcast burn transaction"},"examples":{"Example":{"title":"Example","value":{"error":"Submit the txHash of the broadcast burn transaction"}}},"exampleType":"examples"}},"exampleType":"examples"},"5120500d-4f33-4ef8-b37a-326ff7b19039":{"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"},"51da5d17-b6ae-4337-8419-d2c0e04fd980":{"description":"The transfer doesn't exist or belongs to another client.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"CCTP transfer does not exist."},"examples":{"Example":{"title":"Example","value":{"error":"CCTP transfer does not exist."}}},"exampleType":"examples"}},"exampleType":"examples"},"1b8ed60f-12c0-4cff-b2b9-42c2ad27deaa":{"description":"The transfer was already submitted with a different hash, or the hash belongs to another transfer (`ALREADY_SUBMITTED`).","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":"This transfer was already submitted with a different hash","id":"ALREADY_SUBMITTED"},"examples":{"Example":{"title":"Example","value":{"error":"This transfer was already submitted with a different hash","id":"ALREADY_SUBMITTED"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"03cc5e6f-0644-4250-905d-bbf631cbf6eb":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Client API Key or Client Session Token (CST). Pass as a Bearer token in the\nAuthorization header.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"16ba486e-8d7f-4284-af4f-28b7a1896d7d":{"url":"https://api.portalhq.io/api/v3","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Client API Key or Client Session Token (CST). Pass as a Bearer token in the\nAuthorization header.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Client API Key or Client Session Token (CST). Pass as a Bearer token in the\nAuthorization header.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/client-api.yaml"},"subdomain":"portal-003221ec","siteName":"Portal","title":"Submit a CCTP transfer - Portal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T15:17:20.695Z","originalFileLocation":"api-reference/cctp/submit-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=\"Tells Portal which transaction to track. Send exactly one of: - txHash: the burn transaction hash (0x), for EOA clients on an EVM source. For a Solana source, the base58 signature of the burn transaction, for every client including Account Abstraction clients. - userOpHash: the user operation hash, for Account Abstraction clients on an EVM source. Submitting the approve or a fee transfer hash instead of the burn hash ends the transfer as FAILED with failureReason TX_MISMATCH. A Solana signature that doesn\u0026#x27;t appear on chain within 30 minutes ends it as FAILED with SOURCE_TX_NOT_FOUND. Safe to retry: the same hash again returns the transfer. A different hash, or a hash already submitted for another transfer, returns 409 with the id ALREADY_SUBMITTED. A transfer marked ABANDONED still accepts a late submit. Works even if the integration was disabled after the transfer was created.\">\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=\"Submit a CCTP transfer - Portal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Tells Portal which transaction to track. Send exactly one of: - txHash: the burn transaction hash (0x), for EOA clients on an EVM source. For a Solana source, the base58 signature of the burn transaction, for every client including Account Abstraction clients. - userOpHash: the user operation hash, for Account Abstraction clients on an EVM source. Submitting the approve or a fee transfer hash instead of the burn hash ends the transfer as FAILED with failureReason TX_MISMATCH. A Solana signature that doesn\u0026#x27;t appear on chain within 30 minutes ends it as FAILED with SOURCE_TX_NOT_FOUND. Safe to retry: the same hash again returns the transfer. A different hash, or a hash already submitted for another transfer, returns 409 with the id ALREADY_SUBMITTED. A transfer marked ABANDONED still accepts a late submit. Works even if the integration was disabled after the transfer was created.\">\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/submit-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=Submit+a+CCTP+transfer\u0026amp;description=Tells+Portal+which+transaction+to+track.+Send+exactly+one+of%3A%0A%0A-+%60txHash%60%3A+the+burn+transaction+hash+%28%600x%60%29%2C+for+EOA+clients+on+an+EVM+source.%0A++For+a+Solana+so\u0026amp;theme=e1b378a47070082a94077904\u0026amp;signature=76e2e4a707b8fc827109a5ad712bfaa209d24673a0818473fb9ea59b7c298b50\">\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=\"Submit a CCTP transfer - Portal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Tells Portal which transaction to track. Send exactly one of: - txHash: the burn transaction hash (0x), for EOA clients on an EVM source. For a Solana source, the base58 signature of the burn transaction, for every client including Account Abstraction clients. - userOpHash: the user operation hash, for Account Abstraction clients on an EVM source. Submitting the approve or a fee transfer hash instead of the burn hash ends the transfer as FAILED with failureReason TX_MISMATCH. A Solana signature that doesn\u0026#x27;t appear on chain within 30 minutes ends it as FAILED with SOURCE_TX_NOT_FOUND. Safe to retry: the same hash again returns the transfer. A different hash, or a hash already submitted for another transfer, returns 409 with the id ALREADY_SUBMITTED. A transfer marked ABANDONED still accepts a late submit. Works even if the integration was disabled after the transfer was created.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://portal-003221ec.mintlify.site/_mintlify/api/og/v2?division=CCTP\u0026amp;title=Submit+a+CCTP+transfer\u0026amp;description=Tells+Portal+which+transaction+to+track.+Send+exactly+one+of%3A%0A%0A-+%60txHash%60%3A+the+burn+transaction+hash+%28%600x%60%29%2C+for+EOA+clients+on+an+EVM+source.%0A++For+a+Solana+so\u0026amp;theme=e1b378a47070082a94077904\u0026amp;signature=76e2e4a707b8fc827109a5ad712bfaa209d24673a0818473fb9ea59b7c298b50\">\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/submit-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/submit-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/submit-a-cctp-transfer#webpage\",\"url\":\"https://docs.portalhq.io/api-reference/cctp/submit-a-cctp-transfer\",\"name\":\"Submit a CCTP transfer\",\"description\":\"Tells Portal which transaction to track. Send exactly one of: - txHash: the burn transaction hash (0x), for EOA clients on an EVM source. For a Solana source, the base58 signature of the burn transaction, for every client including Account Abstraction clients. - userOpHash: the user operation hash, for Account Abstraction clients on an EVM source. Submitting the approve or a fee transfer hash instead of the burn hash ends the transfer as FAILED with failureReason TX_MISMATCH. A Solana signature that doesn't appear on chain within 30 minutes ends it as FAILED with SOURCE_TX_NOT_FOUND. Safe to retry: the same hash again returns the transfer. A different hash, or a hash already submitted for another transfer, returns 409 with the id ALREADY_SUBMITTED. A transfer marked ABANDONED still accepts a late submit. Works even if the integration was disabled after the transfer was created.\",\"dateModified\":\"2026-11-02T15:17:20.695Z\",\"isPartOf\":{\"@id\":\"https://docs.portalhq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.portalhq.io/api-reference/cctp/submit-a-cctp-transfer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.portalhq.io/api-reference/cctp/submit-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\":\"Submit a CCTP transfer\",\"item\":\"https://docs.portalhq.io/api-reference/cctp/submit-a-cctp-transfer\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.portalhq.io/api-reference/cctp/submit-a-cctp-transfer#apireference\",\"headline\":\"Submit a CCTP transfer\",\"name\":\"Submit a CCTP transfer\",\"description\":\"Tells Portal which transaction to track. Send exactly one of: - txHash: the burn transaction hash (0x), for EOA clients on an EVM source. For a Solana source, the base58 signature of the burn transaction, for every client including Account Abstraction clients. - userOpHash: the user operation hash, for Account Abstraction clients on an EVM source. Submitting the approve or a fee transfer hash instead of the burn hash ends the transfer as FAILED with failureReason TX_MISMATCH. A Solana signature that doesn't appear on chain within 30 minutes ends it as FAILED with SOURCE_TX_NOT_FOUND. Safe to retry: the same hash again returns the transfer. A different hash, or a hash already submitted for another transfer, returns 409 with the id ALREADY_SUBMITTED. A transfer marked ABANDONED still accepts a late submit. Works even if the integration was disabled after the transfer was created.\",\"url\":\"https://docs.portalhq.io/api-reference/cctp/submit-a-cctp-transfer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.portalhq.io/api-reference/cctp/submit-a-cctp-transfer#webpage\"},\"dateModified\":\"2026-11-02T15:17:20.695Z\",\"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","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","description":"Returns a transfer's current status. It's a cheap read: Portal tracks the transfer\nin the background, so poll this endpoint and wait `pollAfterMs` between reads.\n","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":"Submit 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"]}