Submit signatures for a pending self-custody withdrawal
Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in pendingSignatures, and returns the withdrawal with whatever is still outstanding.
POST
/
execution
/
withdrawals
/
{withdrawalId}
/
signatures
Submit signatures for a pending self-custody withdrawal
JWT access token from POST /auth/verify. Required with x-app-id on user routes. On the smart-route quote it is optional and turns a preview into an executable quote.
Withdrawal status. pending: accepted, not started (the submit response always returns this). bridging: moving funds across chains. transferring: same-chain transfer in progress. Terminal: completed, partial (some sources delivered; see completedAmountRaw), failed.
Estimated total delivered by the completed parts. null until the withdrawal is terminal. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).
Fee quote state. quoted: expected holds a current quote. unquoted / quoting: no quote yet. unviable: at least one source is too small to cover its fees.
Self-custody only: requests the signing wallet must answer before the withdrawal continues. Absent for managed custody. Answer them on POST /execution/withdrawals/{withdrawalId}/signatures.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Agg.market — Prediction Market Aggregator","description":"White-label prediction market aggregator API: sign users in, quote the best price across venues, execute trades, and track them to a final status. Start with Quickstart: REST.","colors":{"primary":"#ED8200","light":"#FFA366","dark":"#C66F00"},"logo":{"light":"https://mintcdn.com/agg/SLxnoWBYT8Zyhg9W/assets/agg-dark.svg?fit=max\u0026auto=format\u0026n=SLxnoWBYT8Zyhg9W\u0026q=85\u0026s=f1b6e05f3e2529bc2c7698267234f5d1","dark":"https://mintcdn.com/agg/SLxnoWBYT8Zyhg9W/assets/agg-white.svg?fit=max\u0026auto=format\u0026n=SLxnoWBYT8Zyhg9W\u0026q=85\u0026s=4a896195354d17f32101e0ec90fb822c"},"favicon":"https://mintcdn.com/agg/OOif8Fd2iWonTlgU/assets/favicon.svg?fit=max\u0026auto=format\u0026n=OOif8Fd2iWonTlgU\u0026q=85\u0026s=6907ac01c9b9a95394f668f53099f108","background":{"decoration":"grid"},"navbar":{"links":[{"href":"https://storybook.agg.market","label":"Storybook"}],"primary":{"type":"button","label":"Admin Dashboard","href":"https://admin.agg.market"}},"footer":{"socials":{"x":"https://x.com/Snag_Solutions","linkedin":"https://www.linkedin.com/company/snag-solutions"}},"banner":{"content":"AGG is currently in **alpha**. APIs, components, and docs may change.","dismissible":false},"metadata":{"timestamp":false},"markdown":{"instructions":["To integrate AGG, start with Quickstart: REST (https://docs.agg.market/quickstart/rest), then Order lifecycle \u0026 statuses (https://docs.agg.market/concepts/order-lifecycle).","Track every trade until it reaches a terminal status. Before retrying a failed or timed-out call, read Errors, retries \u0026 idempotency (https://docs.agg.market/concepts/errors).","The API reference is generated from https://docs.agg.market/openapi/openapi.json."]},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"agg","hasAudioNarration":false,"actualSubdomain":"agg","customDomains":["docs.agg.market"],"gitSource":{"type":"github","owner":"snag-solutions","repo":"agg","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0ff0761cd4ec58538022a","collectionId":"de2b166a-c58f-4c59-8384-4ac2163e9a00","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0ff0761cd4ec58538022a"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae1e2c5b41e76453cfc0896","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Trading API","count":78},{"language":"default","tag":"Guides","count":68},{"language":"default","tag":"Trading","count":21},{"language":"default","tag":"Server API","count":21},{"language":"default","tag":"Users","count":13},{"language":"default","tag":"Core concepts","count":12},{"language":"default","tag":"Market data","count":11},{"language":"default","tag":"Funding","count":11},{"language":"default","tag":"Partner Admin","count":10},{"language":"default","tag":"Markets","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal","slug":"/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal","pageMetadata":{"title":"Submit signatures for a pending self-custody withdrawal","description":"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in `pendingSignatures`, and returns the withdrawal with whatever is still outstanding.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/withdrawals/{withdrawalId}/signatures","href":"/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in \", _jsx(_components.code, {\n children: \"pendingSignatures\"\n }), \", and returns the withdrawal with whatever is still outstanding.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`integration-guide`,children:`Integration guide`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Before you call:`}),` `,_jsx(_components.a,{href:`/concepts/authentication`,children:`Sign in and manage sessions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Workflow:`}),` `,_jsx(_components.a,{href:`/concepts/funding`,children:`Fund an account and track withdrawals`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Next:`}),` `,_jsx(_components.a,{href:`/concepts/errors`,children:`Handle failures and retry safely`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Submit signatures for a pending self-custody withdrawal","description":"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in `pendingSignatures`, and returns the withdrawal with whatever is still outstanding.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/withdrawals/{withdrawalId}/signatures","href":"/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Integration guide","slug":"integration-guide","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in `pendingSignatures`, and returns the withdrawal with whatever is still outstanding.","summary":"Submit signatures for a pending self-custody withdrawal","tags":["Funding"],"parameters":["adc19586-de04-4e59-8b65-c0ea6369ffa1"],"operationId":"submitWithdrawalSignatures","responses":{"200":"d060a885-d058-44ff-be8b-d94218291e9f","400":"8e138517-65ef-423f-8785-b4e57f4648bf","401":"0a294945-bf59-49b6-8952-e23d9b852f5f","403":"106195b4-93de-4aad-967a-79351f4bcc7e","404":"a79f8450-3ceb-4078-9dfe-7140fd815506"},"requestBody":"9bf913ea-50ad-4eea-9c57-ba9ba1cb8ae1","security":["20e83ad4-e31e-4e7d-b75b-9764ff5476ab"],"x-mint":{"content":"## Integration guide\n\n- **Before you call:** [Sign in and manage sessions](/concepts/authentication).\n- **Workflow:** [Fund an account and track withdrawals](/concepts/funding).\n- **Next:** [Handle failures and retry safely](/concepts/errors)."},"method":"post","type":"path","servers":["62a08f28-d2a6-4457-84ab-d8a5396bec3a"],"path":"/execution/withdrawals/{withdrawalId}/signatures","baseUrlOptions":["https://api.agg.market"],"title":"Submit signatures for a pending self-custody withdrawal","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"adc19586-de04-4e59-8b65-c0ea6369ffa1":{"name":"withdrawalId","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["signatures"],"properties":{"signatures":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","required":["stepId"],"properties":{"stepId":{"minLength":1,"maxLength":128,"description":"`stepId` of the pendingSignatures entry being answered.","type":"string","isRequired":true,"uniqueKey":"signatures.items.[INDEX].stepId","typeLabel":"string"},"signature":{"minLength":1,"maxLength":2048,"description":"0x-prefixed hex signature. Send this for every `type` except `transaction`.","type":"string","uniqueKey":"signatures.items.[INDEX].signature","typeLabel":"string"},"txHash":{"minLength":66,"maxLength":66,"description":"0x-prefixed 32-byte hash of the transaction you broadcast. Send this, and only this, for `type: \"transaction\"`. Exactly one of `signature` and `txHash` is required.","type":"string","uniqueKey":"signatures.items.[INDEX].txHash","typeLabel":"string"}},"uniqueKey":"signatures.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"signatures","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"signatures":[{"stepId":"\u003cstring>","signature":"\u003cstring>","txHash":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"d060a885-d058-44ff-be8b-d94218291e9f":{"description":"200","content":{"application/json":{"schema":{"type":"object","required":["withdrawalId","status","requested","completedAmountRaw","destination","legs","expected","pricingStatus","errorMessage","sources"],"properties":{"withdrawalId":{"description":"Withdrawal id. Poll it on the status endpoint.","type":"string","isRequired":true,"uniqueKey":"withdrawalId","typeLabel":"string"},"status":{"description":"Withdrawal status. `pending`: accepted, not started (the submit response always returns this). `bridging`: moving funds across chains. `transferring`: same-chain transfer in progress. Terminal: `completed`, `partial` (some sources delivered; see `completedAmountRaw`), `failed`.","type":"string","enum":["pending","bridging","transferring","completed","partial","failed"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"requested":{"description":"What is being withdrawn.","type":"object","required":["tokenSymbol","amountRaw"],"properties":{"tokenSymbol":{"description":"Stable-coin symbol the withdrawal is denominated in.","type":"string","enum":["USDC","USDC.e","USDT"],"isRequired":true,"uniqueKey":"requested.tokenSymbol","typeLabel":"enum\u003cstring>"},"amountRaw":{"pattern":"^[1-9][0-9]*$","description":"Amount being withdrawn; with `max`, the capped amount. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).","type":"string","isRequired":true,"uniqueKey":"requested.amountRaw","typeLabel":"string"}},"isRequired":true,"uniqueKey":"requested","typeLabel":"object"},"completedAmountRaw":{"oneOf":[{"description":"Estimated total delivered by the completed parts. `null` until the withdrawal is terminal. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).","type":"string","isRequired":true,"uniqueKey":"completedAmountRaw.oneOf.0","typeLabel":"string"},{"description":"Estimated total delivered by the completed parts. `null` until the withdrawal is terminal. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).","type":"null","isRequired":true,"uniqueKey":"completedAmountRaw.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"completedAmountRaw","typeLabel":"string | null"},"destination":{"description":"Where the funds are delivered.","type":"object","required":["chainId","address","tokenSymbol"],"properties":{"chainId":{"minimum":1,"description":"Delivery chain.","type":"integer","isRequired":true,"uniqueKey":"destination.chainId","typeLabel":"integer"},"address":{"pattern":"^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$","description":"Recipient address.","type":"string","isRequired":true,"uniqueKey":"destination.address","typeLabel":"string"},"tokenSymbol":{"description":"Stable-coin symbol the withdrawal is denominated in.","type":"string","enum":["USDC","USDC.e","USDT"],"isRequired":true,"uniqueKey":"destination.tokenSymbol","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"destination","typeLabel":"object"},"legs":{"description":"Transfers that make up the withdrawal.","type":"array","items":{"type":"object","required":["type","status","sourceChainId","destChainId","amountRaw","txHash","bridgeOperationId"],"properties":{"type":{"description":"`transfer`: same chain and same token, sent straight to the recipient. `bridge`: cross-chain, or a token swap on the same chain.","type":"string","enum":["transfer","bridge"],"isRequired":true,"uniqueKey":"legs.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"status":{"description":"Progress of one leg: `planned` (the submit response always returns this) → `submitted` → `confirmed`, or `failed`.","type":"string","enum":["planned","submitted","confirmed","failed"],"isRequired":true,"uniqueKey":"legs.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"sourceChainId":{"description":"Chain the funds for this leg come from.","type":"integer","isRequired":true,"uniqueKey":"legs.items.[INDEX].sourceChainId","typeLabel":"integer"},"destChainId":{"description":"Chain they are delivered on.","type":"integer","isRequired":true,"uniqueKey":"legs.items.[INDEX].destChainId","typeLabel":"integer"},"amountRaw":{"pattern":"^[1-9][0-9]*$","description":"Amount taken from the source for this leg. Integer string in the source token's atomic units; scale by that source's `decimals` (6 for most stablecoins, 18 on BNB Chain).","type":"string","isRequired":true,"uniqueKey":"legs.items.[INDEX].amountRaw","typeLabel":"string"},"txHash":{"oneOf":[{"description":"Transaction for this leg, once sent.","type":"string","isRequired":true,"uniqueKey":"legs.items.[INDEX].txHash.oneOf.0","typeLabel":"string"},{"description":"Transaction for this leg, once sent.","type":"null","isRequired":true,"uniqueKey":"legs.items.[INDEX].txHash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"legs.items.[INDEX].txHash","typeLabel":"string | null"},"bridgeOperationId":{"oneOf":[{"description":"Id of the cross-chain transfer, once created.","type":"string","isRequired":true,"uniqueKey":"legs.items.[INDEX].bridgeOperationId.oneOf.0","typeLabel":"string"},{"description":"Id of the cross-chain transfer, once created.","type":"null","isRequired":true,"uniqueKey":"legs.items.[INDEX].bridgeOperationId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"legs.items.[INDEX].bridgeOperationId","typeLabel":"string | null"},"sourceTokenSymbol":{"description":"Source token when it differs from the delivered token (e.g. USDC.e funding a USDC withdrawal). Absent when they match: use the withdrawal's `tokenSymbol`.","type":"string","uniqueKey":"legs.items.[INDEX].sourceTokenSymbol","typeLabel":"string"},"errorMessage":{"oneOf":[{"description":"Why this leg failed. Returned by the status endpoint only.","type":"string","uniqueKey":"legs.items.[INDEX].errorMessage.oneOf.0","typeLabel":"string"},{"description":"Why this leg failed. Returned by the status endpoint only.","type":"null","uniqueKey":"legs.items.[INDEX].errorMessage.oneOf.1","typeLabel":"null"}],"uniqueKey":"legs.items.[INDEX].errorMessage","typeLabel":"string | null"}},"uniqueKey":"legs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"legs","typeLabel":"object[]"},"expected":{"description":"Quote for the withdrawal. `null` fields unless `pricingStatus` is `quoted`.","type":"object","required":["outputRaw","feeRaw","etaSeconds"],"properties":{"outputRaw":{"oneOf":[{"description":"Estimated amount delivered. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).","type":"string","isRequired":true,"uniqueKey":"expected.outputRaw.oneOf.0","typeLabel":"string"},{"description":"Estimated amount delivered. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).","type":"null","isRequired":true,"uniqueKey":"expected.outputRaw.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expected.outputRaw","typeLabel":"string | null"},"feeRaw":{"oneOf":[{"description":"Fee deducted from the withdrawn amount (amount in minus amount delivered). The submit response returns the quoted fee; the status endpoint returns the actual fee once the withdrawal is terminal. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).","type":"string","isRequired":true,"uniqueKey":"expected.feeRaw.oneOf.0","typeLabel":"string"},{"description":"Fee deducted from the withdrawn amount (amount in minus amount delivered). The submit response returns the quoted fee; the status endpoint returns the actual fee once the withdrawal is terminal. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).","type":"null","isRequired":true,"uniqueKey":"expected.feeRaw.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expected.feeRaw","typeLabel":"string | null"},"etaSeconds":{"oneOf":[{"description":"Estimated seconds to arrival. Currently always `null`.","type":"integer","isRequired":true,"uniqueKey":"expected.etaSeconds.oneOf.0","typeLabel":"integer"},{"description":"Estimated seconds to arrival. Currently always `null`.","type":"null","isRequired":true,"uniqueKey":"expected.etaSeconds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expected.etaSeconds","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"expected","typeLabel":"object"},"pricingStatus":{"description":"Fee quote state. `quoted`: `expected` holds a current quote. `unquoted` / `quoting`: no quote yet. `unviable`: at least one source is too small to cover its fees.","type":"string","enum":["unquoted","quoting","quoted","unviable"],"isRequired":true,"uniqueKey":"pricingStatus","typeLabel":"enum\u003cstring>"},"errorMessage":{"oneOf":[{"description":"Why the withdrawal failed or only partly completed. `null` otherwise, and always `null` on the submit response (errors there are returned as HTTP errors).","type":"string","isRequired":true,"uniqueKey":"errorMessage.oneOf.0","typeLabel":"string"},{"description":"Why the withdrawal failed or only partly completed. `null` otherwise, and always `null` on the submit response (errors there are returned as HTTP errors).","type":"null","isRequired":true,"uniqueKey":"errorMessage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"errorMessage","typeLabel":"string | null"},"sources":{"description":"Balances the withdrawal is funded from.","type":"array","items":{"type":"object","required":["sourceId","chainId","tokenSymbol","tokenAddress","decimals","amountRaw","status","txHash","bridgeOperationId"],"properties":{"sourceId":{"description":"Id of this funding source; matches lifecycle events.","type":"string","isRequired":true,"uniqueKey":"sources.items.[INDEX].sourceId","typeLabel":"string"},"chainId":{"description":"Chain the funds are drawn from.","type":"integer","isRequired":true,"uniqueKey":"sources.items.[INDEX].chainId","typeLabel":"integer"},"tokenSymbol":{"description":"Stable-coin symbol held by a selected withdrawal source.","type":"string","enum":["USDC","USDC.e","USDT","pUSD","USD1"],"isRequired":true,"uniqueKey":"sources.items.[INDEX].tokenSymbol","typeLabel":"enum\u003cstring>"},"tokenAddress":{"pattern":"^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$","description":"Source token address: EVM ERC-20 address or Solana SPL mint.","type":"string","isRequired":true,"uniqueKey":"sources.items.[INDEX].tokenAddress","typeLabel":"string"},"decimals":{"minimum":0,"maximum":36,"description":"Decimals of the source token. Use it to read `amountRaw`.","type":"integer","isRequired":true,"uniqueKey":"sources.items.[INDEX].decimals","typeLabel":"integer"},"amountRaw":{"pattern":"^[1-9][0-9]*$","description":"Amount drawn from this source. Integer string in the source token's atomic units; scale by that source's `decimals` (6 for most stablecoins, 18 on BNB Chain).","type":"string","isRequired":true,"uniqueKey":"sources.items.[INDEX].amountRaw","typeLabel":"string"},"status":{"description":"Progress of one funding source: `pending` → `submitted` → `confirmed`, or `failed`.","type":"string","enum":["pending","submitted","confirmed","failed"],"isRequired":true,"uniqueKey":"sources.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"txHash":{"oneOf":[{"description":"Transaction moving funds out of this source, once sent.","type":"string","isRequired":true,"uniqueKey":"sources.items.[INDEX].txHash.oneOf.0","typeLabel":"string"},{"description":"Transaction moving funds out of this source, once sent.","type":"null","isRequired":true,"uniqueKey":"sources.items.[INDEX].txHash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"sources.items.[INDEX].txHash","typeLabel":"string | null"},"bridgeOperationId":{"oneOf":[{"description":"Id of the cross-chain transfer, once created.","type":"string","isRequired":true,"uniqueKey":"sources.items.[INDEX].bridgeOperationId.oneOf.0","typeLabel":"string"},{"description":"Id of the cross-chain transfer, once created.","type":"null","isRequired":true,"uniqueKey":"sources.items.[INDEX].bridgeOperationId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"sources.items.[INDEX].bridgeOperationId","typeLabel":"string | null"},"custodyKind":{"description":"Present only for funds held at a venue: `DEPOSIT_WALLET` a venue deposit wallet, `VENUE_ACCOUNT` a venue account.","type":"string","enum":["DEPOSIT_WALLET","VENUE_ACCOUNT"],"uniqueKey":"sources.items.[INDEX].custodyKind","typeLabel":"enum\u003cstring>"},"venue":{"type":"string","description":"Venue holding the funds, with `custodyKind` (pred or tiprun).","enum":["kalshi","polymarket","limitless","predict","pred","tiprun","myriad","hyperliquid","novig","prophetx","betdex"],"uniqueKey":"sources.items.[INDEX].venue","typeLabel":"enum\u003cstring>"},"sourceVenueAccountId":{"minLength":1,"description":"AGG id of the venue account holding the funds.","type":"string","uniqueKey":"sources.items.[INDEX].sourceVenueAccountId","typeLabel":"string"},"sourceExternalAccountId":{"pattern":"^[1-9][0-9]{0,19}$","description":"The venue's own number for that account.","type":"string","uniqueKey":"sources.items.[INDEX].sourceExternalAccountId","typeLabel":"string"},"pendingReason":{"description":"Present only while a venue-account source is submitted but not yet confirmed: what the withdrawal is waiting on. `awaiting_venue_approval` means the venue has not approved the withdrawal yet.","type":"string","enum":["awaiting_venue_submission","awaiting_venue_approval","awaiting_chain","awaiting_venue_balance","rechecking"],"uniqueKey":"sources.items.[INDEX].pendingReason","typeLabel":"enum\u003cstring>"}},"uniqueKey":"sources.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"sources","typeLabel":"object[]"},"pendingSignatures":{"description":"Self-custody only: requests the signing wallet must answer before the withdrawal continues. Absent for managed custody. Answer them on POST /execution/withdrawals/{withdrawalId}/signatures.","type":"array","items":{"description":"One request the user's wallet must sign (or send) before execution continues.","type":"object","required":["stepId","type","venue","signerAddress","payload","expiresAt"],"properties":{"stepId":{"description":"Id of the execution step waiting on this request. Send it back verbatim.","type":"string","isRequired":true,"uniqueKey":"pendingSignatures.items.[INDEX].stepId","typeLabel":"string"},"type":{"description":"What to do with `payload`. `eip712`: sign typed data. `personal_sign`: sign a message (EIP-191). `transaction`: broadcast a transaction and return its hash. `solana_transaction`: sign a Solana transaction (not currently issued). `hl_l1_action`: sign a Hyperliquid action's typed data. `eip7702_authorization`: sign an EIP-7702 authorization (a raw digest many wallets cannot produce; if yours cannot, fill with `approveMode: \"user_broadcast\"` instead of throwing). `safe_tx`: a Polymarket Safe transaction; see `payload`.","type":"string","enum":["eip712","personal_sign","transaction","solana_transaction","hl_l1_action","eip7702_authorization","safe_tx"],"isRequired":true,"uniqueKey":"pendingSignatures.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"venue":{"description":"Who the request is for. Open set: usually a venue (`polymarket`, `hyperliquid`); `relay` for a bridge transfer and `referral` for a referral payout.","type":"string","isRequired":true,"uniqueKey":"pendingSignatures.items.[INDEX].venue","typeLabel":"string"},"signerAddress":{"description":"Address that must sign (or send) this request. For Hyperliquid it may be the user's approved agent address.","type":"string","isRequired":true,"uniqueKey":"pendingSignatures.items.[INDEX].signerAddress","typeLabel":"string"},"payload":{"description":"The data to sign or send, verbatim. Shape depends on `type`: `eip712`: viem-style typed data `{ domain, types, primaryType, message }`; sign it with signTypedData. `personal_sign`: either a string message, or `{ raw: \"0x…\" }` meaning sign those raw bytes (`signMessage({ message: { raw } })`). `transaction`: `{ chainId, to, value, data }` where `chainId` is a decimal string, `value` a decimal wei string and `data` hex; broadcast it from `signerAddress` and return `txHash`. `hl_l1_action`: EIP-712 typed data for a Hyperliquid action (primary type `Agent`, chainId 1337); sign with signTypedData. `eip7702_authorization`: `{ contractAddress, chainId, nonce }` (numbers for `chainId` and `nonce`); sign the EIP-7702 authorization for them. `safe_tx`: `{ domain, types, primaryType: \"SafeTx\", message, safeTxHash }`; sign the raw 32-byte `safeTxHash` with personal_sign (`signMessage({ message: { raw: safeTxHash } })`), not with signTypedData.","isRequired":true,"uniqueKey":"pendingSignatures.items.[INDEX].payload","typeLabel":"any"},"expiresAt":{"description":"ISO-8601. After this the request is void and the trade must be re-quoted.","type":"string","isRequired":true,"uniqueKey":"pendingSignatures.items.[INDEX].expiresAt","typeLabel":"string"},"chainId":{"description":"Chain the request is for, when set. Often absent: read the chain from `payload.domain.chainId` or `payload.chainId`.","type":"number","uniqueKey":"pendingSignatures.items.[INDEX].chainId","typeLabel":"number"},"purpose":{"description":"Why the request is asked for, when known; for display and routing only. Open set. Known values: `funding`, `funding_and_fee`, `fee` (a self-custody funding batch), `app_fee` (the app fee), `referral_payout` (an app-paid referral, signed by `referralPayerAddress`; read `type`, it is a `transaction` on EVM chains and an `eip712` on HyperCore), `hl_referral` (a partner referral code for the user's Hyperliquid account; see `optional`).","type":"string","uniqueKey":"pendingSignatures.items.[INDEX].purpose","typeLabel":"string"},"optional":{"description":"`true` when the trade proceeds without this request, e.g. `purpose: \"hl_referral\"`. If your signer declines it, skip it and submit the rest.","type":"boolean","uniqueKey":"pendingSignatures.items.[INDEX].optional","typeLabel":"boolean"}},"uniqueKey":"pendingSignatures.items.[INDEX]","typeLabel":"object"},"uniqueKey":"pendingSignatures","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"withdrawalId":"\u003cstring>","status":"pending","requested":{"tokenSymbol":"USDC","amountRaw":"\u003cstring>"},"completedAmountRaw":"\u003cstring>","destination":{"chainId":2,"address":"\u003cstring>","tokenSymbol":"USDC"},"legs":[{"type":"transfer","status":"planned","sourceChainId":123,"destChainId":123,"amountRaw":"\u003cstring>","txHash":"\u003cstring>","bridgeOperationId":"\u003cstring>","sourceTokenSymbol":"\u003cstring>","errorMessage":"\u003cstring>"}],"expected":{"outputRaw":"\u003cstring>","feeRaw":"\u003cstring>","etaSeconds":123},"pricingStatus":"unquoted","errorMessage":"\u003cstring>","sources":[{"sourceId":"\u003cstring>","chainId":123,"tokenSymbol":"USDC","tokenAddress":"\u003cstring>","decimals":18,"amountRaw":"\u003cstring>","status":"pending","txHash":"\u003cstring>","bridgeOperationId":"\u003cstring>","custodyKind":"DEPOSIT_WALLET","venue":"kalshi","sourceVenueAccountId":"\u003cstring>","sourceExternalAccountId":"\u003cstring>","pendingReason":"awaiting_venue_submission"}],"pendingSignatures":[{"stepId":"\u003cstring>","type":"eip712","venue":"\u003cstring>","signerAddress":"\u003cstring>","payload":"\u003cunknown>","expiresAt":"\u003cstring>","chainId":123,"purpose":"\u003cstring>","optional":true}]}}},"exampleType":"generated"}},"exampleType":"generated"},"8e138517-65ef-423f-8785-b4e57f4648bf":{"description":"400","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"0a294945-bf59-49b6-8952-e23d9b852f5f":{"description":"401","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"106195b4-93de-4aad-967a-79351f4bcc7e":{"description":"403","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a79f8450-3ceb-4078-9dfe-7140fd815506":{"description":"404","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"20e83ad4-e31e-4e7d-b75b-9764ff5476ab":{"appId":{"type":"apiKey","in":"header","name":"x-app-id","description":"Your application ID. Required on app-tier and user-tier routes. Omitted on routes that authenticate with x-app-api-key only.","scopes":[],"schemeName":"appId"},"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT access token from POST /auth/verify. Required with x-app-id on user routes. On the smart-route quote it is optional and turns a preview into an executable quote.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"62a08f28-d2a6-4457-84ab-d8a5396bec3a":{"url":"https://api.agg.market","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-app-id","description":"Your application ID. Required on app-tier and user-tier routes. Omitted on routes that authenticate with x-app-api-key only.","scopes":[],"schemeName":"appId"},"schema":{"title":"x-app-id","type":"string","description":"Your application ID. Required on app-tier and user-tier routes. Omitted on routes that authenticate with x-app-api-key only.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"appId","name":"x-app-id"},{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT access token from POST /auth/verify. Required with x-app-id on user routes. On the smart-route quote it is optional and turns a preview into an executable quote.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"JWT access token from POST /auth/verify. Required with x-app-id on user routes. On the smart-route quote it is optional and turns a preview into an executable quote.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"appId \u0026 bearerAuth"}]},"originalFileLocation":"openapi/openapi.json"},"subdomain":"agg","siteName":"Agg.market — Prediction Market Aggregator","title":"Submit signatures for a pending self-custody withdrawal - Agg.market — Prediction Market Aggregator","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T11:56:15.592Z","originalFileLocation":"api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal.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=\"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in pendingSignatures, and returns the withdrawal with whatever is still outstanding.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Agg.market — Prediction Market Aggregator\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agg/DToJYvh64DP_aQ9r/_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/agg/DToJYvh64DP_aQ9r/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agg/DToJYvh64DP_aQ9r/_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/agg/DToJYvh64DP_aQ9r/_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/agg/DToJYvh64DP_aQ9r/_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/agg/DToJYvh64DP_aQ9r/_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/agg/DToJYvh64DP_aQ9r/_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/agg/DToJYvh64DP_aQ9r/_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/agg/DToJYvh64DP_aQ9r/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Submit signatures for a pending self-custody withdrawal - Agg.market — Prediction Market Aggregator\">\u003cmeta data-mint-head property=\"og:description\" content=\"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in pendingSignatures, and returns the withdrawal with whatever is still outstanding.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Agg.market — Prediction Market Aggregator\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://agg.mintlify.app/_mintlify/api/og/v2?division=Funding\u0026amp;title=Submit+signatures+for+a+pending+self-custody+withdrawal\u0026amp;description=Accepts+the+signatures+%28or+broadcast+transaction+hashes%29+a+self-custody+withdrawal+asked+for+in+%60pendingSignatures%60%2C+and+returns+the+withdrawal+with+whatever+is\u0026amp;theme=ff94093e070c7a0afe40a144\u0026amp;signature=d416f9429978ca09ded00cdc1efdb6890213c26424c17997a2c2a8350d7bb6e6\">\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 signatures for a pending self-custody withdrawal - Agg.market — Prediction Market Aggregator\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in pendingSignatures, and returns the withdrawal with whatever is still outstanding.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://agg.mintlify.app/_mintlify/api/og/v2?division=Funding\u0026amp;title=Submit+signatures+for+a+pending+self-custody+withdrawal\u0026amp;description=Accepts+the+signatures+%28or+broadcast+transaction+hashes%29+a+self-custody+withdrawal+asked+for+in+%60pendingSignatures%60%2C+and+returns+the+withdrawal+with+whatever+is\u0026amp;theme=ff94093e070c7a0afe40a144\u0026amp;signature=d416f9429978ca09ded00cdc1efdb6890213c26424c17997a2c2a8350d7bb6e6\">\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/agg/DToJYvh64DP_aQ9r/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Agg.market — Prediction Market Aggregator\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ED8200\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.agg.market/#organization\",\"name\":\"Agg.market — Prediction Market Aggregator\",\"url\":\"https://docs.agg.market\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/agg/SLxnoWBYT8Zyhg9W/assets/agg-dark.svg?fit=max\u0026auto=format\u0026n=SLxnoWBYT8Zyhg9W\u0026q=85\u0026s=f1b6e05f3e2529bc2c7698267234f5d1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.agg.market#website\",\"name\":\"Agg.market — Prediction Market Aggregator\",\"url\":\"https://docs.agg.market\",\"publisher\":{\"@id\":\"https://docs.agg.market/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal#webpage\",\"url\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal\",\"name\":\"Submit signatures for a pending self-custody withdrawal\",\"description\":\"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in pendingSignatures, and returns the withdrawal with whatever is still outstanding.\",\"dateModified\":\"2026-10-28T11:56:15.592Z\",\"isPartOf\":{\"@id\":\"https://docs.agg.market#website\"},\"breadcrumb\":{\"@id\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Funding\",\"item\":\"https://docs.agg.market/api-reference/funding/get-deposit-addresses\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Submit signatures for a pending self-custody withdrawal\",\"item\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal#apireference\",\"headline\":\"Submit signatures for a pending self-custody withdrawal\",\"name\":\"Submit signatures for a pending self-custody withdrawal\",\"description\":\"Accepts the signatures (or broadcast transaction hashes) a self-custody withdrawal asked for in pendingSignatures, and returns the withdrawal with whatever is still outstanding.\",\"url\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal\",\"mainEntityOfPage\":{\"@id\":\"https://docs.agg.market/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal#webpage\"},\"dateModified\":\"2026-10-28T11:56:15.592Z\",\"publisher\":{\"@id\":\"https://docs.agg.market/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.agg.market#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Agg.market — Prediction Market Aggregator\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Agg.market — Prediction Market Aggregator","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/sdk/reference"}]},{"tab":"Trading API","groups":[{"group":"Authentication","pages":[{"title":"Start authentication","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /auth/start","href":"/api-reference/authentication/start-authentication"},{"title":"Verify sign-in","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /auth/verify","href":"/api-reference/authentication/verify-sign-in"},{"title":"Complete redirect sign-in","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /auth/token/exchange","href":"/api-reference/authentication/complete-redirect-sign-in"},{"title":"Refresh access token","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /auth/token/refresh","href":"/api-reference/authentication/refresh-access-token"},{"title":"Sign out","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /auth/sign-out","href":"/api-reference/authentication/sign-out"},{"title":"Fetch Turnstile site key","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /bot-protection/site-key","href":"/api-reference/authentication/fetch-turnstile-site-key"},{"title":"Verify Turnstile token","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bot-protection/verify","href":"/api-reference/authentication/verify-turnstile-token"}]},{"group":"Markets","pages":[{"title":"Get the first useful event view","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /venue-events/{id}/bootstrap","href":"/api-reference/markets/get-the-first-useful-event-view"},{"title":"Search events or markets","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /search","href":"/api-reference/markets/search-events-or-markets"},{"title":"List venue events","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /venue-events","href":"/api-reference/markets/list-venue-events"},{"title":"Get Venue Event","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /venue-events/{id}","href":"/api-reference/markets/get-venue-event"},{"title":"List venue markets","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /venue-markets","href":"/api-reference/markets/list-venue-markets"},{"title":"Look up venue market outcomes by external identifier","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /venue-market-outcomes","href":"/api-reference/markets/look-up-venue-market-outcomes-by-external-identifier"},{"title":"List categories","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /categories","href":"/api-reference/markets/list-categories"},{"title":"Get the per-app UI config (disabled venues + categories)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /app/config","href":"/api-reference/markets/get-the-per-app-ui-config-disabled-venues-+-categories"},{"title":"List recurring crypto window markets","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /crypto/recurring-markets","href":"/api-reference/markets/list-recurring-crypto-window-markets"}]},{"group":"Market Data","pages":[{"title":"Get bounded outcome snapshots","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /orderbooks/outcomes","href":"/api-reference/market-data/get-bounded-outcome-snapshots"},{"title":"Get live orderbooks for multiple markets","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /orderbooks","href":"/api-reference/market-data/get-live-orderbooks-for-multiple-markets"},{"title":"Get live orderbook for a single outcome","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /orderbook/outcome/{outcomeId}","href":"/api-reference/market-data/get-live-orderbook-for-a-single-outcome"},{"title":"Get live midpoints for multiple markets","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /midpoints","href":"/api-reference/market-data/get-live-midpoints-for-multiple-markets"},{"title":"Get versioned chart history references","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /charts/history/manifest","href":"/api-reference/market-data/get-versioned-chart-history-references"},{"title":"Get chart bars","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /charts/bars","href":"/api-reference/market-data/get-chart-bars"},{"title":"Get live crypto reference prices","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /crypto/reference-prices","href":"/api-reference/market-data/get-live-crypto-reference-prices"},{"title":"Get live sports scores","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /sports/live","href":"/api-reference/market-data/get-live-sports-scores"}]},{"group":"Trading","pages":[{"title":"Get a quote (smart route)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /orderbook/{venueMarketOutcomeId}/route","href":"/api-reference/trading/get-a-quote-smart-route"},{"title":"Execute quote","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/fill","href":"/api-reference/trading/execute-quote"},{"title":"Submit signatures for a pending self-custody fill","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/fill/{quoteId}/signatures","href":"/api-reference/trading/submit-signatures-for-a-pending-self-custody-fill"},{"title":"Get execution status","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/status","href":"/api-reference/trading/get-execution-status"},{"title":"Place an order directly","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/orders","href":"/api-reference/trading/place-an-order-directly"},{"title":"Place limit order","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/limit-orders","href":"/api-reference/trading/place-limit-order"},{"title":"Cancel an order","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/orders/cancel","href":"/api-reference/trading/cancel-an-order"},{"title":"Redeem winnings for resolved positions","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/redeem","href":"/api-reference/trading/redeem-winnings-for-resolved-positions"},{"title":"Get the per-venue blocked-country lists (ISO 3166-1 alpha-2)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /app/venue-geo-policy","href":"/api-reference/trading/get-the-per-venue-blocked-country-lists-iso-3166-1-alpha-2"}]},{"group":"Portfolio","pages":[{"title":"Get user orders","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/orders","href":"/api-reference/portfolio/get-user-orders"},{"title":"Get balances","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/balances","href":"/api-reference/portfolio/get-balances"},{"title":"Get user positions","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/positions","href":"/api-reference/portfolio/get-user-positions"},{"title":"Get user activity feed","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /users/activity","href":"/api-reference/portfolio/get-user-activity-feed"},{"title":"Trader leaderboard","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /leaderboard","href":"/api-reference/portfolio/trader-leaderboard"},{"title":"Trader leaderboard series","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /leaderboard/series","href":"/api-reference/portfolio/trader-leaderboard-series"}]},{"group":"Funding","pages":[{"title":"Get deposit addresses","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/deposit-addresses","href":"/api-reference/funding/get-deposit-addresses"},{"title":"Quote withdrawable amount","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/withdrawable/quote","href":"/api-reference/funding/quote-withdrawable-amount"},{"title":"Preview a withdrawal","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/withdraw/preview","href":"/api-reference/funding/preview-a-withdrawal"},{"title":"Withdraw funds","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/withdraw","href":"/api-reference/funding/withdraw-funds"},{"title":"Get withdrawal status","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/withdrawals/{withdrawalId}","href":"/api-reference/funding/get-withdrawal-status"},{"title":"List managed balance refill policies","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/balance-refill-policies","href":"/api-reference/funding/list-managed-balance-refill-policies"},{"title":"Create a managed balance refill policy","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/balance-refill-policies","href":"/api-reference/funding/create-a-managed-balance-refill-policy"},{"title":"Update or pause a managed balance refill policy","deprecated":null,"version":null,"openapi":"/openapi/openapi.json patch /execution/balance-refill-policies/{policyId}","href":"/api-reference/funding/update-or-pause-a-managed-balance-refill-policy"},{"title":"List recent managed balance refill attempts","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /execution/balance-refill-policies/{policyId}/attempts","href":"/api-reference/funding/list-recent-managed-balance-refill-attempts"},{"title":"Get crypto purchase quotes","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /ramp/quotes","href":"/api-reference/funding/get-crypto-purchase-quotes"},{"title":"Create a ramp widget session for checkout","description":"Opens a checkout widget. Send the quote amount and currencies plus serviceProvider and walletAddress, and an optional redirectUrl. The response includes id, token, and widgetUrl. Authenticate with x-app-id only. This is not GET /execution/deposit-addresses.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /ramp/session","href":"/api-reference/funding/create-a-ramp-widget-session-for-checkout"},{"title":"Submit signatures for a pending self-custody withdrawal","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /execution/withdrawals/{withdrawalId}/signatures","href":"/api-reference/funding/submit-signatures-for-a-pending-self-custody-withdrawal"}]},{"group":"Users","pages":[{"title":"Get current user","description":"Returns the authenticated user's profile.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /users/me","href":"/api-reference/users/get-current-user"},{"title":"Update username","deprecated":null,"version":null,"openapi":"/openapi/openapi.json patch /users/me","href":"/api-reference/users/update-username"},{"title":"Link partner external user ID (HMAC-verified)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /users/me/external-id","href":"/api-reference/users/link-partner-external-user-id-hmac-verified"},{"title":"Get avatar upload URL","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /users/me/avatar","href":"/api-reference/users/get-avatar-upload-url"},{"title":"Disconnect auth provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /users/me/accounts/{provider}","href":"/api-reference/users/disconnect-auth-provider"},{"title":"Start account linking","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /users/me/link-account/start","href":"/api-reference/users/start-account-linking"},{"title":"Confirm account linking","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /users/me/link-account/confirm","href":"/api-reference/users/confirm-account-linking"},{"title":"Get shared KYC status","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /kyc/status","href":"/api-reference/users/get-shared-kyc-status"},{"title":"Initiate KYC","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /kyc/{venue}","href":"/api-reference/users/initiate-kyc"},{"title":"Upsert a venue API key","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /venue-keys","href":"/api-reference/users/upsert-a-venue-api-key"},{"title":"List venue keys","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /venue-keys","href":"/api-reference/users/list-venue-keys"},{"title":"Delete a venue key","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /venue-keys/{venue}","href":"/api-reference/users/delete-a-venue-key"},{"title":"Get venue key connection status","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /venue-keys/{venue}/status","href":"/api-reference/users/get-venue-key-connection-status"}]},{"group":"Hosted Venue Accounts","pages":[{"title":"Get hosted venue deposit address","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /users/me/venue-accounts/{venue}/deposit-address","href":"/api-reference/hosted-venue-accounts/get-hosted-venue-deposit-address"},{"title":"Withdraw hosted venue funds","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /users/me/venue-accounts/{venue}/withdrawals","href":"/api-reference/hosted-venue-accounts/withdraw-hosted-venue-funds"},{"title":"Get hosted venue withdrawal","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /users/me/venue-accounts/{venue}/withdrawals/{withdrawalId}","href":"/api-reference/hosted-venue-accounts/get-hosted-venue-withdrawal"},{"title":"Get hosted venue account activity","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /users/me/venue-accounts/{venue}/activity","href":"/api-reference/hosted-venue-accounts/get-hosted-venue-account-activity"},{"title":"Get hosted venue account","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /users/me/venue-accounts/{venue}","href":"/api-reference/hosted-venue-accounts/get-hosted-venue-account"},{"title":"Provision hosted venue account","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /users/me/venue-accounts/{venue}","href":"/api-reference/hosted-venue-accounts/provision-hosted-venue-account"}]},{"group":"News","pages":[{"title":"Get news articles for markets with market impact summaries","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /news-feed/market-news","href":"/api-reference/news/get-news-articles-for-markets-with-market-impact-summaries"},{"title":"Article-centric news feed for a category - latest articles with linked markets and live prices","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /news-feed/{category}","href":"/api-reference/news/article-centric-news-feed-for-a-category--latest-articles-with-linked-markets-and-live-prices"},{"title":"Market-centric news feed - markets grouped with their news timeline","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /news-feed/{category}/markets","href":"/api-reference/news/market-centric-news-feed--markets-grouped-with-their-news-timeline"},{"title":"List available news feeds with IDs and item counts","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /news-feed","href":"/api-reference/news/list-available-news-feeds-with-ids-and-item-counts"}]},{"group":"Correlated Markets","pages":[{"title":"Get correlated market signals for a market","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /correlated-markets/{venueMarketId}","href":"/api-reference/correlated-markets/get-correlated-market-signals-for-a-market"},{"title":"Find correlated markets by semantic similarity","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /correlated-markets/query","href":"/api-reference/correlated-markets/find-correlated-markets-by-semantic-similarity"},{"title":"Find events connected via shared market signals","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /correlated-markets/connections/{venueMarketId}","href":"/api-reference/correlated-markets/find-events-connected-via-shared-market-signals"},{"title":"Get ripple effect of a market resolving (by market ID)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /correlated-markets/cascade/{venueMarketId}","href":"/api-reference/correlated-markets/get-ripple-effect-of-a-market-resolving-by-market-id"},{"title":"Resolve a market by venue ID, slug, or text and return cascade","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /correlated-markets/resolve","href":"/api-reference/correlated-markets/resolve-a-market-by-venue-id-slug-or-text-and-return-cascade"}]}]},{"tab":"Server API","pages":[{"title":"Server API","href":"/api-reference/webhooks/rotate-webhook-signing-secret"}]},{"tab":"WebSocket API","pages":[{"title":"WebSocket API","href":"/api-reference/websockets/orderbook"}]}]},"title":"Submit signatures for a pending self-custody withdrawal - Agg.market — Prediction Market Aggregator","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-CJDb0dYK.js","dist-Cv_O2fky.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-BGBGWFTt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","AssistantPageLink-2C5OB2eV.js"]}