On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (userLockAmount or serverLockAmount). The maker returns lockupDetails (where you lock) and claimDetails (where it locks for you). Verify both against your keys before funding. The response carries swapAuth, issued once.
Secret organization API key from the partner panel, for servers. Sent on swap creation as Authorization: Bearer <key> to attribute the swap to your organization. Optional; an invalid key is rejected. Never use it in client-side code.
Body
application/json
Body of POST /v2/swap/chain — Boltz-shaped, camelCase. Atomic routes return one HTLC description per side and do not require a
destination address at creation. The legacy plain-send route remains
address-driven for backward compatibility.
The taker's BOLT11-style payment hash — SHA256(preimage),
32 bytes hex. Goes into the BTC lockup's claim leaf; the maker
reveals the preimage at claim time.
Taker's 33-byte compressed refund pubkey (BTC side). The maker
is the claim party on the BTC P2TR — taker refunds via script-
path if the maker fails to claim.
Taker's 33-byte compressed claim pubkey for the Liquid side. Required for an atomic pair (the taker is the claim party on the
maker's L-USDT HTLC); ignored for the plain-send pair.
Optional pairHash rate-lock: the hash the taker quoted against. Verified against the pair's current rate card when present;
a mismatch is rejected with 400 pair_hash_mismatch.
POST /v2/swap/chain response. Atomic Liquid pairs use Boltz's standard
lockupDetails + claimDetails shape. The optional flat fields preserve
the existing plain-send and Arkade extension responses.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"KaleidoSwap Documentation","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/kaleidoswap/jZkXeFEXDE4-8PkF/assets/logos/kaleidoswap-full-logo-horizontal-onlight.svg?fit=max\u0026auto=format\u0026n=jZkXeFEXDE4-8PkF\u0026q=85\u0026s=8cf2002b5e2b8ea1cfb0523af2525f09","dark":"https://mintcdn.com/kaleidoswap/jZkXeFEXDE4-8PkF/assets/logos/kaleidoswap-full-logo-horizontal.svg?fit=max\u0026auto=format\u0026n=jZkXeFEXDE4-8PkF\u0026q=85\u0026s=1d5d02f344b0a00783670693d8d928ec"},"favicon":"https://mintcdn.com/kaleidoswap/jZkXeFEXDE4-8PkF/assets/logos/kaleidoswap-favicon.ico?fit=max\u0026auto=format\u0026n=jZkXeFEXDE4-8PkF\u0026q=85\u0026s=7a218e79e2eff3be0d975a63e39bf5af","api":{"playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":"https://maker.signet.kaleidoswap.com"}},"navbar":{"links":[{"href":"/sdk/installation","label":"Build"}],"primary":{"type":"button","label":"Download the Apps","href":"https://kaleidoswap.com/products"}},"footer":{"socials":{"x":"https://x.com/kaleidoswap","github":"https://github.com/kaleidoswap","telegram":"https://t.me/kaleidoswap"}},"integrations":{"posthog":{"apiKey":"phc_g3NF1o9hsu8tFROxZaRT9JfD1BdBEQYfIIcrkVzTkps","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"whats-kaleidoswap/introduction"},{"language":"cn","navbar":{"links":[{"href":"/cn/sdk/installation","label":"构建"}],"primary":{"type":"button","label":"下载应用","href":"https://kaleidoswap.com/products"}},"href":"cn/whats-kaleidoswap/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kaleidoswap","hasAudioNarration":false,"actualSubdomain":"kaleidoswap","customDomains":["docs.kaleidoswap.com"],"gitSource":{"type":"github","owner":"kaleidoswap","repo":"docs","deployBranch":"main","contentDirectory":"mintlify-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae21c728ead5bbc3c1d7030","collectionId":"ce7c4641-3d9a-4f3c-9cc2-027b7777d86f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae21c728ead5bbc3c1d7030"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae2233ab344d78ea3e3a604","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Reference","count":42},{"language":"en","tag":"Reference","count":28},{"language":"en","tag":"CLI","count":28},{"language":"cn","tag":"参考","count":25},{"language":"en","tag":"Desktop App","count":24},{"language":"en","tag":"SDK","count":24},{"language":"cn","tag":"简介","count":24},{"language":"cn","tag":"桌面应用","count":24},{"language":"en","tag":"Introduction","count":22},{"language":"cn","tag":"SDK","count":17},{"language":"en","tag":"AI Tools","count":11},{"language":"en","tag":"Node SDK","count":11},{"language":"cn","tag":"AI 工具","count":11},{"language":"cn","tag":"CLI","count":11},{"language":"en","tag":"Extensions","count":10},{"language":"cn","tag":"浏览器扩展","count":10},{"language":"en","tag":"Guides","count":9},{"language":"cn","tag":"API 参考","count":9},{"language":"en","tag":"Wallet Operations","count":8},{"language":"cn","tag":"钱包操作","count":8},{"language":"cn","tag":"概览","count":8},{"language":"default","tag":"Chain swaps","count":7},{"language":"default","tag":"Atomic RGB swaps","count":5},{"language":"default","tag":"Reverse swaps","count":5},{"language":"default","tag":"Chain data","count":4},{"language":"default","tag":"Recovery","count":4},{"language":"default","tag":"Service","count":4},{"language":"default","tag":"Submarine swaps","count":4},{"language":"default","tag":"Lightning channels (LSPS1)","count":3},{"language":"default","tag":"Swap status","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":[{"filePath":"style.css","content":"main img,main img.rounded{display:block;margin-left:auto;margin-right:auto;border-radius:.5rem;box-shadow:0 4px 8px -1px rgb(0 0 0/.12),0 12px 28px -4px rgb(0 0 0/.18)}.dark main img,.dark main img.rounded{border-radius:.5rem;box-shadow:0 4px 8px -1px rgb(0 0 0/.45),0 14px 34px -4px rgb(0 0 0/.65)}main :is(p, figure) :is(a, div, span):has(img[src*=\"/desktop-app/\"]),main :is(p, figure):has(img[src*=\"/desktop-app/\"]){padding:0!important;background:0 0!important;border:0!important;box-shadow:none!important}main img[src*=\"/desktop-app/\"],main img[src*=\"/extension/\"]{display:block;height:auto;border-radius:.5rem;box-shadow:0 4px 8px -1px rgb(0 0 0/.12),0 12px 28px -4px rgb(0 0 0/.18)}main img[src*=\"/desktop-app/\"]{margin:1.5rem auto;padding:0!important;background:0 0!important;border:0!important;width:min(100%,800px);max-width:800px}.dark main img[src*=\"/desktop-app/\"],.dark main img[src*=\"/extension/\"]{box-shadow:0 4px 8px -1px rgb(0 0 0/.45),0 14px 34px -4px rgb(0 0 0/.65)}main img[src*=\"/extension/\"]{margin-left:auto;margin-right:auto;max-width:360px}"}],"page":{"pagePath":"api-reference/chain-swaps/create-a-chain-swap","slug":"/api-reference/chain-swaps/create-a-chain-swap","pageMetadata":{"title":"Create a chain swap","description":"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (`userLockAmount` or `serverLockAmount`). The maker returns `lockupDetails` (where you lock) and `claimDetails` (where it locks for you). **Verify both against your keys before funding.** The response carries `swapAuth`, issued once.","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain","href":"/api-reference/chain-swaps/create-a-chain-swap","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 strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (\", _jsx(_components.code, {\n children: \"userLockAmount\"\n }), \" or \", _jsx(_components.code, {\n children: \"serverLockAmount\"\n }), \"). The maker returns \", _jsx(_components.code, {\n children: \"lockupDetails\"\n }), \" (where you lock) and \", _jsx(_components.code, {\n children: \"claimDetails\"\n }), \" (where it locks for you). \", _jsx(_components.strong, {\n children: \"Verify both against your keys before funding.\"\n }), \" The response carries \", _jsx(_components.code, {\n children: \"swapAuth\"\n }), \", issued once.\"]\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":"Create a chain swap","description":"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (`userLockAmount` or `serverLockAmount`). The maker returns `lockupDetails` (where you lock) and `claimDetails` (where it locks for you). **Verify both against your keys before funding.** The response carries `swapAuth`, issued once.","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain","href":"/api-reference/chain-swaps/create-a-chain-swap","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Chain swaps"],"summary":"Create a chain swap","description":"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (`userLockAmount` or `serverLockAmount`). The maker returns `lockupDetails` (where you lock) and `claimDetails` (where it locks for you). **Verify both against your keys before funding.** The response carries `swapAuth`, issued once.","operationId":"create_chain_swap","requestBody":"01ed6c4d-63b4-4f8b-96ec-758cbf2f813f","responses":{"201":"5100f0d7-1bd5-42cd-984d-addf18dbadb5","400":"2edb7513-4f18-4873-bd95-96c4a18e0ff7","409":"9004b062-48cd-47cc-af92-adbc997d0d45","422":"ad7a08d9-a841-4410-b0ed-eec0ff68294f","429":"d5d95ff7-e256-4453-ad00-47b81d3b6550","503":"07f49306-0730-40ba-b8d4-13614a95f6f2"},"security":["b8a2b520-4593-488e-ad4c-4df1917bc89c","404f0200-f892-4ba2-8454-b1a1e8279932","b6c37843-ea8c-439b-a8e1-2ec5ef617d09"],"method":"post","type":"path","servers":["5a853f64-bde2-49c1-8aad-ff97a3fd5e5f"],"path":"/v2/swap/chain","baseUrlOptions":["https://maker.signet.kaleidoswap.com"],"title":"Create a chain swap","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"Body of `POST /v2/swap/chain` — Boltz-shaped, camelCase. Atomic routes return one HTLC description per side and do not require a\ndestination address at creation. The legacy plain-send route remains\naddress-driven for backward compatibility.","required":["preimageHash","refundPublicKey"],"properties":{"preimageHash":{"type":"string","description":"The taker's BOLT11-style payment hash — `SHA256(preimage)`,\n32 bytes hex. Goes into the BTC lockup's claim leaf; the maker\nreveals the preimage at claim time.","isRequired":true,"uniqueKey":"preimageHash","typeLabel":"string"},"refundPublicKey":{"type":"string","description":"Taker's 33-byte compressed refund pubkey (BTC side). The maker\nis the claim party on the BTC P2TR — taker refunds via script-\npath if the maker fails to claim.","isRequired":true,"uniqueKey":"refundPublicKey","typeLabel":"string"},"claimPublicKey":{"oneOf":[{"type":"string","description":"Taker's 33-byte compressed **claim** pubkey for the Liquid side. Required for an *atomic* pair (the taker is the claim party on the\nmaker's L-USDT HTLC); ignored for the plain-send pair.","uniqueKey":"claimPublicKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"Taker's 33-byte compressed **claim** pubkey for the Liquid side. Required for an *atomic* pair (the taker is the claim party on the\nmaker's L-USDT HTLC); ignored for the plain-send pair.","uniqueKey":"claimPublicKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"claimPublicKey","typeLabel":"string | null"},"from":{"oneOf":[{"type":"string","description":"Boltz: source on-chain currency symbol (e.g. `\"BTC\"`).","uniqueKey":"from.oneOf.0","typeLabel":"string"},{"type":"null","description":"Boltz: source on-chain currency symbol (e.g. `\"BTC\"`).","uniqueKey":"from.oneOf.1","typeLabel":"null"}],"uniqueKey":"from","typeLabel":"string | null"},"fromAmount":{"oneOf":[{"type":"integer","format":"int64","description":"Legacy alias for `userLockAmount`.","minimum":0,"uniqueKey":"fromAmount.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","description":"Legacy alias for `userLockAmount`.","minimum":0,"uniqueKey":"fromAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"fromAmount","typeLabel":"integer\u003cint64> | null"},"pairHash":{"oneOf":[{"type":"string","description":"Optional `pairHash` rate-lock: the hash the taker quoted against. Verified against the pair's current rate card when present;\na mismatch is rejected with `400 pair_hash_mismatch`.","uniqueKey":"pairHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional `pairHash` rate-lock: the hash the taker quoted against. Verified against the pair's current rate card when present;\na mismatch is rejected with `400 pair_hash_mismatch`.","uniqueKey":"pairHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"pairHash","typeLabel":"string | null"},"pairId":{"oneOf":[{"type":"string","description":"Trading-pair key. Must resolve to a Chain pair in the engine —\nOptional when `from`+`to` are given (stock Boltz SDK shape).","uniqueKey":"pairId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Trading-pair key. Must resolve to a Chain pair in the engine —\nOptional when `from`+`to` are given (stock Boltz SDK shape).","uniqueKey":"pairId.oneOf.1","typeLabel":"null"}],"uniqueKey":"pairId","typeLabel":"string | null"},"serverLockAmount":{"oneOf":[{"type":"integer","format":"int64","description":"Desired output-side amount; the maker inverse-quotes the canonical\ninput. Exactly one amount side is accepted.","minimum":0,"uniqueKey":"serverLockAmount.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","description":"Desired output-side amount; the maker inverse-quotes the canonical\ninput. Exactly one amount side is accepted.","minimum":0,"uniqueKey":"serverLockAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"serverLockAmount","typeLabel":"integer\u003cint64> | null"},"to":{"oneOf":[{"type":"string","description":"Boltz: destination on-chain currency symbol (e.g. `\"L-USDT\"`).","uniqueKey":"to.oneOf.0","typeLabel":"string"},{"type":"null","description":"Boltz: destination on-chain currency symbol (e.g. `\"L-USDT\"`).","uniqueKey":"to.oneOf.1","typeLabel":"null"}],"uniqueKey":"to","typeLabel":"string | null"},"userAddress":{"oneOf":[{"type":"string","description":"Legacy plain-send destination. Atomic swaps construct the payout from\n`claimDetails` after creation and therefore do not require it.","uniqueKey":"userAddress.oneOf.0","typeLabel":"string"},{"type":"null","description":"Legacy plain-send destination. Atomic swaps construct the payout from\n`claimDetails` after creation and therefore do not require it.","uniqueKey":"userAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"userAddress","typeLabel":"string | null"},"userLockAmount":{"oneOf":[{"type":"integer","format":"int64","description":"Input-side amount. Exactly one of this and `serverLockAmount` is\nrequired.","minimum":0,"uniqueKey":"userLockAmount.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","description":"Input-side amount. Exactly one of this and `serverLockAmount` is\nrequired.","minimum":0,"uniqueKey":"userLockAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"userLockAmount","typeLabel":"integer\u003cint64> | null"},"webhook":{"oneOf":[{"type":"object","description":"Optional HTTPS callback for status changes.","required":["url"],"properties":{"url":{"type":"string","description":"Callback URL.","isRequired":true,"uniqueKey":"webhook.oneOf.0.url","typeLabel":"string"},"hashSwapId":{"type":"boolean","description":"When `true`, the swap id in the callback payload is `SHA256(swap_id)`\n— for merchants that don't want correlatable ids on the wire.","uniqueKey":"webhook.oneOf.0.hashSwapId","typeLabel":"boolean"},"status":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"webhook.oneOf.0.status.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"`None` (the\nfield absent) means *every* transition is delivered.","uniqueKey":"webhook.oneOf.0.status.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"`None` (the\nfield absent) means *every* transition is delivered.","uniqueKey":"webhook.oneOf.0.status.oneOf.1","typeLabel":"null"}],"uniqueKey":"webhook.oneOf.0.status","typeLabel":"string[] | null"}},"uniqueKey":"webhook.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"webhook.oneOf.1","typeLabel":"null"}],"uniqueKey":"webhook","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"preimageHash":"\u003cstring>","refundPublicKey":"\u003cstring>","claimPublicKey":"\u003cstring>","from":"\u003cstring>","fromAmount":1,"pairHash":"\u003cstring>","pairId":"\u003cstring>","serverLockAmount":1,"to":"\u003cstring>","userAddress":"\u003cstring>","userLockAmount":1,"webhook":{"url":"\u003cstring>","hashSwapId":true,"status":["\u003cstring>"]}}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"5100f0d7-1bd5-42cd-984d-addf18dbadb5":{"description":"Chain swap created.","content":{"application/json":{"schema":{"type":"object","description":"`POST /v2/swap/chain` response. Atomic Liquid pairs use Boltz's standard\n`lockupDetails` + `claimDetails` shape. The optional flat fields preserve\nthe existing plain-send and Arkade extension responses.","required":["id","swapAuth"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"swapAuth":{"type":"string","description":"Per-swap taker credential, 32 bytes hex — see\n`swapAuth`. Chain swaps also need it on\n`POST /v2/swap/chain/{id}/quote`.","isRequired":true,"uniqueKey":"swapAuth","typeLabel":"string"},"address":{"oneOf":[{"type":"string","uniqueKey":"address.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"address.oneOf.1","typeLabel":"null"}],"uniqueKey":"address","typeLabel":"string | null"},"claimDetails":{"oneOf":[{"type":"object","description":"One side of the standard atomic Chain create response.","required":["swapTree","lockupAddress","serverPublicKey","timeoutBlockHeight","amount"],"properties":{"amount":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"claimDetails.oneOf.0.amount","typeLabel":"integer\u003cint64>"},"lockupAddress":{"type":"string","isRequired":true,"uniqueKey":"claimDetails.oneOf.0.lockupAddress","typeLabel":"string"},"serverPublicKey":{"type":"string","isRequired":true,"uniqueKey":"claimDetails.oneOf.0.serverPublicKey","typeLabel":"string"},"swapTree":{"type":"object","description":"`swapTree` returned on every swap creation + status response.","required":["claimLeaf","refundLeaf"],"properties":{"claimLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"claimDetails.oneOf.0.swapTree.claimLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"claimDetails.oneOf.0.swapTree.claimLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"claimDetails.oneOf.0.swapTree.claimLeaf","typeLabel":"object"},"refundLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"claimDetails.oneOf.0.swapTree.refundLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"claimDetails.oneOf.0.swapTree.refundLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"claimDetails.oneOf.0.swapTree.refundLeaf","typeLabel":"object"}},"isRequired":true,"uniqueKey":"claimDetails.oneOf.0.swapTree","typeLabel":"object"},"timeoutBlockHeight":{"type":"integer","format":"int32","minimum":0,"isRequired":true,"uniqueKey":"claimDetails.oneOf.0.timeoutBlockHeight","typeLabel":"integer\u003cint32>"},"assetId":{"oneOf":[{"type":"string","uniqueKey":"claimDetails.oneOf.0.assetId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"claimDetails.oneOf.0.assetId.oneOf.1","typeLabel":"null"}],"uniqueKey":"claimDetails.oneOf.0.assetId","typeLabel":"string | null"},"blindingKey":{"oneOf":[{"type":"string","description":"`null` for Liquid; absent for Bitcoin, which has no such field. The maker mints its Liquid HTLC lockups **unconfidential** on\npurpose, so no output blinding key exists to return: treat\n`lockupAddress` as explicit — fund it with an unblinded output\nwhere the taker funds, and build claims against an explicit\nprevout where the taker claims.","uniqueKey":"claimDetails.oneOf.0.blindingKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"`null` for Liquid; absent for Bitcoin, which has no such field. The maker mints its Liquid HTLC lockups **unconfidential** on\npurpose, so no output blinding key exists to return: treat\n`lockupAddress` as explicit — fund it with an unblinded output\nwhere the taker funds, and build claims against an explicit\nprevout where the taker claims.","uniqueKey":"claimDetails.oneOf.0.blindingKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"claimDetails.oneOf.0.blindingKey","typeLabel":"string | null"},"feeAssetId":{"oneOf":[{"type":"string","uniqueKey":"claimDetails.oneOf.0.feeAssetId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"claimDetails.oneOf.0.feeAssetId.oneOf.1","typeLabel":"null"}],"uniqueKey":"claimDetails.oneOf.0.feeAssetId","typeLabel":"string | null"}},"uniqueKey":"claimDetails.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"claimDetails.oneOf.1","typeLabel":"null"}],"uniqueKey":"claimDetails","typeLabel":"object | null"},"claimPublicKey":{"oneOf":[{"type":"string","uniqueKey":"claimPublicKey.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"claimPublicKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"claimPublicKey","typeLabel":"string | null"},"expectedAmount":{"oneOf":[{"type":"integer","format":"int64","minimum":0,"uniqueKey":"expectedAmount.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","minimum":0,"uniqueKey":"expectedAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"expectedAmount","typeLabel":"integer\u003cint64> | null"},"lockupDetails":{"oneOf":[{"type":"object","description":"One side of the standard atomic Chain create response.","required":["swapTree","lockupAddress","serverPublicKey","timeoutBlockHeight","amount"],"properties":{"amount":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.amount","typeLabel":"integer\u003cint64>"},"lockupAddress":{"type":"string","isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.lockupAddress","typeLabel":"string"},"serverPublicKey":{"type":"string","isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.serverPublicKey","typeLabel":"string"},"swapTree":{"type":"object","description":"`swapTree` returned on every swap creation + status response.","required":["claimLeaf","refundLeaf"],"properties":{"claimLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.swapTree.claimLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.swapTree.claimLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.swapTree.claimLeaf","typeLabel":"object"},"refundLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.swapTree.refundLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.swapTree.refundLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.swapTree.refundLeaf","typeLabel":"object"}},"isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.swapTree","typeLabel":"object"},"timeoutBlockHeight":{"type":"integer","format":"int32","minimum":0,"isRequired":true,"uniqueKey":"lockupDetails.oneOf.0.timeoutBlockHeight","typeLabel":"integer\u003cint32>"},"assetId":{"oneOf":[{"type":"string","uniqueKey":"lockupDetails.oneOf.0.assetId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"lockupDetails.oneOf.0.assetId.oneOf.1","typeLabel":"null"}],"uniqueKey":"lockupDetails.oneOf.0.assetId","typeLabel":"string | null"},"blindingKey":{"oneOf":[{"type":"string","description":"`null` for Liquid; absent for Bitcoin, which has no such field. The maker mints its Liquid HTLC lockups **unconfidential** on\npurpose, so no output blinding key exists to return: treat\n`lockupAddress` as explicit — fund it with an unblinded output\nwhere the taker funds, and build claims against an explicit\nprevout where the taker claims.","uniqueKey":"lockupDetails.oneOf.0.blindingKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"`null` for Liquid; absent for Bitcoin, which has no such field. The maker mints its Liquid HTLC lockups **unconfidential** on\npurpose, so no output blinding key exists to return: treat\n`lockupAddress` as explicit — fund it with an unblinded output\nwhere the taker funds, and build claims against an explicit\nprevout where the taker claims.","uniqueKey":"lockupDetails.oneOf.0.blindingKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"lockupDetails.oneOf.0.blindingKey","typeLabel":"string | null"},"feeAssetId":{"oneOf":[{"type":"string","uniqueKey":"lockupDetails.oneOf.0.feeAssetId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"lockupDetails.oneOf.0.feeAssetId.oneOf.1","typeLabel":"null"}],"uniqueKey":"lockupDetails.oneOf.0.feeAssetId","typeLabel":"string | null"}},"uniqueKey":"lockupDetails.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"lockupDetails.oneOf.1","typeLabel":"null"}],"uniqueKey":"lockupDetails","typeLabel":"object | null"},"payoutAmount":{"oneOf":[{"type":"integer","format":"int64","description":"L-USDT amount the maker delivers once the BTC deposit confirms.","minimum":0,"uniqueKey":"payoutAmount.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","description":"L-USDT amount the maker delivers once the BTC deposit confirms.","minimum":0,"uniqueKey":"payoutAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"payoutAmount","typeLabel":"integer\u003cint64> | null"},"serverLockup":{"oneOf":[{"type":"object","description":"Present only for atomic chain pairs — the maker's L-USDT (or VHTLC)\nlockup the taker claims revealing the preimage.","required":["address","timeoutBlockHeight","refundPublicKey","amount"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"serverLockup.oneOf.0.address","typeLabel":"string"},"amount":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"serverLockup.oneOf.0.amount","typeLabel":"integer\u003cint64>"},"refundPublicKey":{"type":"string","isRequired":true,"uniqueKey":"serverLockup.oneOf.0.refundPublicKey","typeLabel":"string"},"timeoutBlockHeight":{"type":"integer","format":"int32","minimum":0,"isRequired":true,"uniqueKey":"serverLockup.oneOf.0.timeoutBlockHeight","typeLabel":"integer\u003cint32>"},"swapTree":{"oneOf":[{"type":"object","description":"Present on the Liquid HTLC server lockup; omitted for an Arkade\nVHTLC (which is reparameterised by the taker, not script-shaped).","required":["claimLeaf","refundLeaf"],"properties":{"claimLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.0.claimLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.0.claimLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.0.claimLeaf","typeLabel":"object"},"refundLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.0.refundLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.0.refundLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.0.refundLeaf","typeLabel":"object"}},"uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"serverLockup.oneOf.0.swapTree.oneOf.1","typeLabel":"null"}],"uniqueKey":"serverLockup.oneOf.0.swapTree","typeLabel":"object | null"}},"uniqueKey":"serverLockup.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"serverLockup.oneOf.1","typeLabel":"null"}],"uniqueKey":"serverLockup","typeLabel":"object | null"},"swapTree":{"oneOf":[{"type":"object","description":"`swapTree` returned on every swap creation + status response.","required":["claimLeaf","refundLeaf"],"properties":{"claimLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"swapTree.oneOf.0.claimLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"swapTree.oneOf.0.claimLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"swapTree.oneOf.0.claimLeaf","typeLabel":"object"},"refundLeaf":{"type":"object","description":"One tapscript leaf — leaf-version byte (`196` / `0xc4` for elements,\n`192` / `0xc0` for Bitcoin) plus the hex script.","required":["version","output"],"properties":{"output":{"type":"string","description":"Hex-encoded leaf script.","isRequired":true,"uniqueKey":"swapTree.oneOf.0.refundLeaf.output","typeLabel":"string"},"version":{"type":"integer","format":"int32","description":"Tapscript leaf-version byte.","minimum":0,"isRequired":true,"uniqueKey":"swapTree.oneOf.0.refundLeaf.version","typeLabel":"integer\u003cint32>"}},"isRequired":true,"uniqueKey":"swapTree.oneOf.0.refundLeaf","typeLabel":"object"}},"uniqueKey":"swapTree.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"swapTree.oneOf.1","typeLabel":"null"}],"uniqueKey":"swapTree","typeLabel":"object | null"},"timeoutBlockHeight":{"oneOf":[{"type":"integer","format":"int32","minimum":0,"uniqueKey":"timeoutBlockHeight.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","minimum":0,"uniqueKey":"timeoutBlockHeight.oneOf.1","typeLabel":"null"}],"uniqueKey":"timeoutBlockHeight","typeLabel":"integer\u003cint32> | null"},"userAddress":{"oneOf":[{"type":"string","uniqueKey":"userAddress.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"userAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"userAddress","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","swapAuth":"\u003cstring>","address":"\u003cstring>","claimDetails":{"amount":1,"lockupAddress":"\u003cstring>","serverPublicKey":"\u003cstring>","swapTree":{"claimLeaf":{"output":"\u003cstring>","version":1},"refundLeaf":{"output":"\u003cstring>","version":1}},"timeoutBlockHeight":1,"assetId":"\u003cstring>","blindingKey":"\u003cstring>","feeAssetId":"\u003cstring>"},"claimPublicKey":"\u003cstring>","expectedAmount":1,"lockupDetails":{"amount":1,"lockupAddress":"\u003cstring>","serverPublicKey":"\u003cstring>","swapTree":{"claimLeaf":{"output":"\u003cstring>","version":1},"refundLeaf":{"output":"\u003cstring>","version":1}},"timeoutBlockHeight":1,"assetId":"\u003cstring>","blindingKey":"\u003cstring>","feeAssetId":"\u003cstring>"},"payoutAmount":1,"serverLockup":{"address":"\u003cstring>","amount":1,"refundPublicKey":"\u003cstring>","timeoutBlockHeight":1,"swapTree":{"claimLeaf":{"output":"\u003cstring>","version":1},"refundLeaf":{"output":"\u003cstring>","version":1}}},"swapTree":{"claimLeaf":{"output":"\u003cstring>","version":1},"refundLeaf":{"output":"\u003cstring>","version":1}},"timeoutBlockHeight":1,"userAddress":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"2edb7513-4f18-4873-bd95-96c4a18e0ff7":{"description":"Malformed input or webhook URL.","content":{"application/json":{"schema":{"type":"object","description":"Boltz-shaped error envelope.","required":["error"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code, e.g. `pair_hash_mismatch`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"9004b062-48cd-47cc-af92-adbc997d0d45":{"description":"Active swap exists for this preimageHash.","content":{"application/json":{"schema":{"type":"object","description":"Boltz-shaped error envelope.","required":["error"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code, e.g. `pair_hash_mismatch`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"ad7a08d9-a841-4410-b0ed-eec0ff68294f":{"description":"Quote/derivation failure or unsafe timeout ordering.","content":{"application/json":{"schema":{"type":"object","description":"Boltz-shaped error envelope.","required":["error"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code, e.g. `pair_hash_mismatch`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d5d95ff7-e256-4453-ad00-47b81d3b6550":{"description":"Over the caller-rate or rolling notional budget; carries Retry-After.","content":{"application/json":{"schema":{"type":"object","description":"Boltz-shaped error envelope.","required":["error"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code, e.g. `pair_hash_mismatch`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"07f49306-0730-40ba-b8d4-13614a95f6f2":{"description":"signing key, node, chain provider, or quoting engine unavailable.","content":{"application/json":{"schema":{"type":"object","description":"Boltz-shaped error envelope.","required":["error"],"properties":{"error":{"type":"string","description":"Stable machine-readable error code, e.g. `pair_hash_mismatch`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable detail. Present on 4xx; absent on 5xx.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"b8a2b520-4593-488e-ad4c-4df1917bc89c":{},"404f0200-f892-4ba2-8454-b1a1e8279932":{"PartnerAuth":{"type":"http","scheme":"bearer","bearerFormat":"kld_test_… / kld_live_…","description":"Secret organization API key from the partner panel, for servers. Sent on swap creation as `Authorization: Bearer \u003ckey>` to attribute the swap to your organization. Optional; an invalid key is rejected. Never use it in client-side code.","scopes":[],"schemeName":"PartnerAuth"}},"b6c37843-ea8c-439b-a8e1-2ec5ef617d09":{"OrgKey":{"type":"apiKey","in":"header","name":"X-Kaleido-Org-Key","description":"Public organization key (64 hex characters) for client-side attribution. A label, not a credential. Sent on swap creation only. Never combine with `PartnerAuth`.","scopes":[],"schemeName":"OrgKey"}}},"servers":{"5a853f64-bde2-49c1-8aad-ff97a3fd5e5f":{"url":"https://maker.signet.kaleidoswap.com","description":"Signet (Mutinynet)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"kld_test_… / kld_live_…","description":"Secret organization API key from the partner panel, for servers. Sent on swap creation as `Authorization: Bearer \u003ckey>` to attribute the swap to your organization. Optional; an invalid key is rejected. Never use it in client-side code.","scopes":[],"schemeName":"PartnerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Secret organization API key from the partner panel, for servers. Sent on swap creation as `Authorization: Bearer \u003ckey>` to attribute the swap to your organization. Optional; an invalid key is rejected. Never use it in client-side code.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"PartnerAuth","name":"Authorization"}],"title":"PartnerAuth"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Kaleido-Org-Key","description":"Public organization key (64 hex characters) for client-side attribution. A label, not a credential. Sent on swap creation only. Never combine with `PartnerAuth`.","scopes":[],"schemeName":"OrgKey"},"schema":{"title":"X-Kaleido-Org-Key","type":"string","description":"Public organization key (64 hex characters) for client-side attribution. A label, not a credential. Sent on swap creation only. Never combine with `PartnerAuth`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"OrgKey","name":"X-Kaleido-Org-Key"}],"title":"OrgKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"kaleidoswap","siteName":"KaleidoSwap Documentation","title":"Create a chain swap - KaleidoSwap Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/chain-swaps/create-a-chain-swap","matchLevel":0},"cn":{"href":"/api-reference/chain-swaps/create-a-chain-swap","matchLevel":0}}},"lastModified":"2026-10-28T16:31:00.368Z","originalFileLocation":"api-reference/chain-swaps/create-a-chain-swap.mdx","locale":"en"},"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=\"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (userLockAmount or serverLockAmount). The maker returns lockupDetails (where you lock) and claimDetails (where it locks for you). Verify both against your keys before funding. The response carries swapAuth, issued once.\">\u003cmeta data-mint-head name=\"application-name\" content=\"KaleidoSwap Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kaleidoswap/Pdo8Pj4dmhUA96o_/_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/kaleidoswap/Pdo8Pj4dmhUA96o_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kaleidoswap/Pdo8Pj4dmhUA96o_/_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/kaleidoswap/Pdo8Pj4dmhUA96o_/_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/kaleidoswap/Pdo8Pj4dmhUA96o_/_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/kaleidoswap/Pdo8Pj4dmhUA96o_/_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/kaleidoswap/Pdo8Pj4dmhUA96o_/_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/kaleidoswap/Pdo8Pj4dmhUA96o_/_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/kaleidoswap/Pdo8Pj4dmhUA96o_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a chain swap - KaleidoSwap Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (userLockAmount or serverLockAmount). The maker returns lockupDetails (where you lock) and claimDetails (where it locks for you). Verify both against your keys before funding. The response carries swapAuth, issued once.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"KaleidoSwap Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kaleidoswap.mintlify.app/_mintlify/api/og/v2?division=Chain+swaps\u0026amp;title=Create+a+chain+swap\u0026amp;description=On-chain+%E2%86%92+on-chain.+Send+your+preimage+hash%2C+a+claim+public+key%2C+a+refund+public+key%2C+and+one+amount+side+%28%60userLockAmount%60+or+%60serverLockAmount%60%29.+The+maker+r\u0026amp;theme=cfe07bcada45289f816a9e3e\u0026amp;signature=44be7971c16f66e74acd41132b7f68ed5757f0f0aa5243570c9f24aa60f3c522\">\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=\"Create a chain swap - KaleidoSwap Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (userLockAmount or serverLockAmount). The maker returns lockupDetails (where you lock) and claimDetails (where it locks for you). Verify both against your keys before funding. The response carries swapAuth, issued once.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kaleidoswap.mintlify.app/_mintlify/api/og/v2?division=Chain+swaps\u0026amp;title=Create+a+chain+swap\u0026amp;description=On-chain+%E2%86%92+on-chain.+Send+your+preimage+hash%2C+a+claim+public+key%2C+a+refund+public+key%2C+and+one+amount+side+%28%60userLockAmount%60+or+%60serverLockAmount%60%29.+The+maker+r\u0026amp;theme=cfe07bcada45289f816a9e3e\u0026amp;signature=44be7971c16f66e74acd41132b7f68ed5757f0f0aa5243570c9f24aa60f3c522\">\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/kaleidoswap/Pdo8Pj4dmhUA96o_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"KaleidoSwap Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/chain-swaps/create-a-chain-swap.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kaleidoswap.com/#organization\",\"name\":\"KaleidoSwap Documentation\",\"url\":\"https://docs.kaleidoswap.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kaleidoswap/jZkXeFEXDE4-8PkF/assets/logos/kaleidoswap-full-logo-horizontal-onlight.svg?fit=max\u0026auto=format\u0026n=jZkXeFEXDE4-8PkF\u0026q=85\u0026s=8cf2002b5e2b8ea1cfb0523af2525f09\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kaleidoswap.com#website\",\"name\":\"KaleidoSwap Documentation\",\"url\":\"https://docs.kaleidoswap.com\",\"publisher\":{\"@id\":\"https://docs.kaleidoswap.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap#webpage\",\"url\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap\",\"name\":\"Create a chain swap\",\"description\":\"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (userLockAmount or serverLockAmount). The maker returns lockupDetails (where you lock) and claimDetails (where it locks for you). Verify both against your keys before funding. The response carries swapAuth, issued once.\",\"dateModified\":\"2026-10-28T16:31:00.368Z\",\"isPartOf\":{\"@id\":\"https://docs.kaleidoswap.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"KaleidoSwap Documentation\",\"item\":\"https://docs.kaleidoswap.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a chain swap\",\"item\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap#apireference\",\"headline\":\"Create a chain swap\",\"name\":\"Create a chain swap\",\"description\":\"On-chain → on-chain. Send your preimage hash, a claim public key, a refund public key, and one amount side (userLockAmount or serverLockAmount). The maker returns lockupDetails (where you lock) and claimDetails (where it locks for you). Verify both against your keys before funding. The response carries swapAuth, issued once.\",\"url\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kaleidoswap.com/api-reference/chain-swaps/create-a-chain-swap#webpage\"},\"dateModified\":\"2026-10-28T16:31:00.368Z\",\"publisher\":{\"@id\":\"https://docs.kaleidoswap.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kaleidoswap.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"KaleidoSwap Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"KaleidoSwap Documentation","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/whats-kaleidoswap/introduction"}]},{"tab":"Desktop App","pages":[{"title":"Desktop App","href":"/desktop-app/getting-started/introduction"}]},{"tab":"Extensions","pages":[{"title":"Extensions","href":"/extensions/introduction"}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/sdk/introduction"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/introduction"}]},{"tab":"AI Tools","pages":[{"title":"AI Tools","href":"/ai-tools/introduction"}]},{"tab":"API Reference","groups":[{"group":"Introduction","icon":"flag","pages":[{"title":"Maker API","sidebarTitle":"Overview","href":"/api-reference/introduction"},{"title":"API Conventions","sidebarTitle":"Conventions","href":"/api-reference/getting-started"},{"title":"Swap Flow","sidebarTitle":"Swap Flow","href":"/api-reference/swap-protocol"}]},{"group":"Service","icon":"server","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/health","href":"/api-reference/service/health-check"},{"title":"Get maker info","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/info","href":"/api-reference/service/get-maker-info"},{"title":"Get Lightning nodes","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/nodes","href":"/api-reference/service/get-lightning-nodes"},{"title":"Get maker version","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/version","href":"/api-reference/service/get-maker-version"}]},{"group":"Pairs and quotes","icon":"tags","pages":[{"title":"Get a quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/quote","href":"/api-reference/pairs-and-quotes/get-a-quote"},{"title":"List pairs","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/{type}/pairs","href":"/api-reference/pairs-and-quotes/list-pairs"}]},{"group":"Submarine swaps","icon":"bolt","pages":[{"title":"Create a submarine swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/submarine","href":"/api-reference/submarine-swaps/create-a-submarine-swap"},{"title":"Get the preimage","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/submarine/{id}/preimage","href":"/api-reference/submarine-swaps/get-the-preimage"},{"title":"Cooperative refund (submarine)","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/submarine/{id}/refund","href":"/api-reference/submarine-swaps/cooperative-refund-submarine"},{"title":"Get the lockup transaction","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/submarine/{id}/transaction","href":"/api-reference/submarine-swaps/get-the-lockup-transaction"}]},{"group":"Reverse swaps","icon":"arrow-rotate-left","pages":[{"title":"Create a reverse swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/reverse","href":"/api-reference/reverse-swaps/create-a-reverse-swap"},{"title":"Cooperative claim (reverse)","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/reverse/{id}/claim","href":"/api-reference/reverse-swaps/cooperative-claim-reverse"},{"title":"Abandon a reverse swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/reverse/{id}/refund","href":"/api-reference/reverse-swaps/abandon-a-reverse-swap"},{"title":"Get the lockup transaction","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/reverse/{id}/transaction","href":"/api-reference/reverse-swaps/get-the-lockup-transaction"},{"title":"Get the direct payment URI","description":"For a reverse swap's invoice, the BIP21 URI for paying L-BTC directly instead of over Lightning, when the maker offers one. Returns `404` when there is none.","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/reverse/{invoice}/bip21","href":"/api-reference/reverse-swaps/get-the-direct-payment-uri"}]},{"group":"Chain swaps","icon":"link","pages":[{"title":"Create a chain swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain","href":"/api-reference/chain-swaps/create-a-chain-swap"},{"title":"Cooperative claim of your lockup","description":"Co-sign the maker's key-path claim of **your** lockup after your payout was sent. Send the preimage, your MuSig2 public nonce, and the transaction (or its sighash); the maker returns its nonce and partial signature.","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain/{id}/claim","href":"/api-reference/chain-swaps/cooperative-claim-of-your-lockup"},{"title":"Get a re-quote","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/chain/{id}/quote","href":"/api-reference/chain-swaps/get-a-re-quote"},{"title":"Accept a re-quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain/{id}/quote","href":"/api-reference/chain-swaps/accept-a-re-quote"},{"title":"Cooperative refund (chain)","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain/{id}/refund","href":"/api-reference/chain-swaps/cooperative-refund-chain"},{"title":"Get the lockup transactions","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/chain/{id}/transactions","href":"/api-reference/chain-swaps/get-the-lockup-transactions"},{"title":"Accept or reject a re-quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/{id}/rate-decision","href":"/api-reference/chain-swaps/accept-or-reject-a-re-quote"}]},{"group":"Swap status","icon":"signal","pages":[{"title":"Get several statuses","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/status","href":"/api-reference/swap-status/get-several-statuses"},{"title":"Get swap status","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/{id}","href":"/api-reference/swap-status/get-swap-status"},{"title":"Status stream (WebSocket)","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/ws","href":"/api-reference/swap-status/status-stream-websocket"}]},{"group":"Recovery","icon":"life-ring","pages":[{"title":"Restore swaps","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/restore","href":"/api-reference/recovery/restore-swaps"},{"title":"Get the highest used index","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/restore/index","href":"/api-reference/recovery/get-the-highest-used-index"},{"title":"Request a recovery challenge","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/{id}/auth/challenge","href":"/api-reference/recovery/request-a-recovery-challenge"},{"title":"Recover swapAuth","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/{id}/auth/recover","href":"/api-reference/recovery/recover-swapauth"}]},{"group":"Atomic RGB swaps","icon":"atom","pages":[{"title":"List atomic pairs","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/atomic/pairs","href":"/api-reference/atomic-rgb-swaps/list-atomic-pairs"},{"title":"Get an atomic quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/atomic/quote","href":"/api-reference/atomic-rgb-swaps/get-an-atomic-quote"},{"title":"Get atomic swap status","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/atomic/{id}","href":"/api-reference/atomic-rgb-swaps/get-atomic-swap-status"},{"title":"Complete the swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/atomic/{id}/complete","href":"/api-reference/atomic-rgb-swaps/complete-the-swap"},{"title":"Submit the request","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/atomic/{id}/request","href":"/api-reference/atomic-rgb-swaps/submit-the-request"}]},{"group":"Pay-through","icon":"paper-plane","pages":[{"title":"Create a pay-through order","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/pay","href":"/api-reference/pay-through/create-a-pay-through-order"}]},{"group":"Lightning channels (LSPS1)","icon":"network-wired","pages":[{"title":"Get channel options","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/lsps1/info","href":"/api-reference/lightning-channels-lsps1/get-channel-options"},{"title":"Order a channel","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/lsps1/order","href":"/api-reference/lightning-channels-lsps1/order-a-channel"},{"title":"Get a channel order","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/lsps1/order/{id}","href":"/api-reference/lightning-channels-lsps1/get-a-channel-order"}]},{"group":"Chain data","icon":"cubes","pages":[{"title":"Get fee estimates","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/fees","href":"/api-reference/chain-data/get-fee-estimates"},{"title":"Get chain heights","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/heights","href":"/api-reference/chain-data/get-chain-heights"},{"title":"Get fee estimate for one currency","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/{currency}/fee","href":"/api-reference/chain-data/get-fee-estimate-for-one-currency"},{"title":"Get chain height for one currency","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/{currency}/height","href":"/api-reference/chain-data/get-chain-height-for-one-currency"}]},{"group":"Reference","icon":"book","pages":[{"title":"Maker API FAQ","sidebarTitle":"FAQ","href":"/api-reference/faq"},{"title":"Maker API Errors and Troubleshooting","sidebarTitle":"Troubleshooting","href":"/api-reference/troubleshooting"},{"title":"Maker API: Additional Resources","sidebarTitle":"Additional Resources","href":"/api-reference/additional-resources"}]}]},{"tab":"Wallet Engine","pages":[{"title":"Wallet Engine","href":"/wallet-engine/introduction"}]}],"global":{"anchors":[{"anchor":"Access Extension Beta","icon":"puzzle-piece","href":"https://kaleidoswap.com/products/extension/beta"},{"anchor":"Download Desktop App","icon":"download","href":"https://github.com/kaleidoswap/desktop-app/releases"},{"anchor":"Build with the SDK","icon":"code","href":"/sdk/installation"},{"anchor":"Website","icon":"globe","href":"https://kaleidoswap.com"},{"anchor":"GitHub","icon":"github","href":"https://github.com/kaleidoswap"}]}},{"language":"cn","navbar":{"links":[{"href":"/cn/sdk/installation","label":"构建"}],"primary":{"type":"button","label":"下载应用","href":"https://kaleidoswap.com/products"}},"tabs":[{"tab":"概览","pages":[{"title":"概览","href":"/cn/whats-kaleidoswap/introduction"}]},{"tab":"桌面应用","pages":[{"title":"桌面应用","href":"/cn/desktop-app/getting-started/introduction"}]},{"tab":"浏览器扩展","pages":[{"title":"浏览器扩展","href":"/cn/extensions/introduction"}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/cn/sdk/introduction"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cn/cli/introduction"}]},{"tab":"AI 工具","pages":[{"title":"AI 工具","href":"/cn/ai-tools/introduction"}]},{"tab":"API 参考","groups":[{"group":"简介","icon":"flag","pages":[{"title":"总览","sidebarTitle":"总览","href":"/cn/api-reference/introduction"},{"title":"比特币交换 API:快速开始","sidebarTitle":"快速开始","href":"/cn/api-reference/getting-started"}]},{"group":"指南","icon":"book-open","pages":[{"title":"原子交换协议","sidebarTitle":"交换协议","href":"/cn/api-reference/swap-protocol"}]},{"group":"接口端点","icon":"code","pages":[{"title":"闪电通道订单 API","sidebarTitle":"通道订单","href":"/cn/api-reference/rgb-lsps1-apis"},{"title":"市场 API","href":"/cn/api-reference/market-apis"},{"title":"交换 API","href":"/cn/api-reference/swap-apis"},{"group":"Chain data","pages":[{"title":"Get fee estimates","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/fees","href":"/api-reference/chain-data/get-fee-estimates"},{"title":"Get chain heights","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/heights","href":"/api-reference/chain-data/get-chain-heights"},{"title":"Get fee estimate for one currency","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/{currency}/fee","href":"/api-reference/chain-data/get-fee-estimate-for-one-currency"},{"title":"Get chain height for one currency","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/chain/{currency}/height","href":"/api-reference/chain-data/get-chain-height-for-one-currency"}]},{"group":"Service","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/health","href":"/api-reference/service/health-check"},{"title":"Get maker info","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/info","href":"/api-reference/service/get-maker-info"},{"title":"Get Lightning nodes","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/nodes","href":"/api-reference/service/get-lightning-nodes"},{"title":"Get maker version","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/version","href":"/api-reference/service/get-maker-version"}]},{"group":"Lightning channels (LSPS1)","pages":[{"title":"Get channel options","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/lsps1/info","href":"/api-reference/lightning-channels-lsps1/get-channel-options"},{"title":"Order a channel","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/lsps1/order","href":"/api-reference/lightning-channels-lsps1/order-a-channel"},{"title":"Get a channel order","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/lsps1/order/{id}","href":"/api-reference/lightning-channels-lsps1/get-a-channel-order"}]},{"group":"Pairs and quotes","pages":[{"title":"Get a quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/quote","href":"/api-reference/pairs-and-quotes/get-a-quote"},{"title":"List pairs","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/{type}/pairs","href":"/api-reference/pairs-and-quotes/list-pairs"}]},{"group":"Atomic RGB swaps","pages":[{"title":"List atomic pairs","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/atomic/pairs","href":"/api-reference/atomic-rgb-swaps/list-atomic-pairs"},{"title":"Get an atomic quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/atomic/quote","href":"/api-reference/atomic-rgb-swaps/get-an-atomic-quote"},{"title":"Get atomic swap status","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/atomic/{id}","href":"/api-reference/atomic-rgb-swaps/get-atomic-swap-status"},{"title":"Complete the swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/atomic/{id}/complete","href":"/api-reference/atomic-rgb-swaps/complete-the-swap"},{"title":"Submit the request","description":"Send your wallet's request; receive the unsigned proposal. Check that none of your own coins are listed as the maker's inputs.","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/atomic/{id}/request","href":"/api-reference/atomic-rgb-swaps/submit-the-request"}]},{"group":"Chain swaps","pages":[{"title":"Create a chain swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain","href":"/api-reference/chain-swaps/create-a-chain-swap"},{"title":"Cooperative claim of your lockup","description":"Co-sign the maker's key-path claim of **your** lockup after your payout was sent. Send the preimage, your MuSig2 public nonce, and the transaction (or its sighash); the maker returns its nonce and partial signature.","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain/{id}/claim","href":"/api-reference/chain-swaps/cooperative-claim-of-your-lockup"},{"title":"Get a re-quote","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/chain/{id}/quote","href":"/api-reference/chain-swaps/get-a-re-quote"},{"title":"Accept a re-quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain/{id}/quote","href":"/api-reference/chain-swaps/accept-a-re-quote"},{"title":"Cooperative refund (chain)","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/chain/{id}/refund","href":"/api-reference/chain-swaps/cooperative-refund-chain"},{"title":"Get the lockup transactions","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/chain/{id}/transactions","href":"/api-reference/chain-swaps/get-the-lockup-transactions"},{"title":"Accept or reject a re-quote","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/{id}/rate-decision","href":"/api-reference/chain-swaps/accept-or-reject-a-re-quote"}]},{"group":"Pay-through","pages":[{"title":"Create a pay-through order","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/pay","href":"/api-reference/pay-through/create-a-pay-through-order"}]},{"group":"Recovery","pages":[{"title":"Restore swaps","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/restore","href":"/api-reference/recovery/restore-swaps"},{"title":"Get the highest used index","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/restore/index","href":"/api-reference/recovery/get-the-highest-used-index"},{"title":"Request a recovery challenge","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/{id}/auth/challenge","href":"/api-reference/recovery/request-a-recovery-challenge"},{"title":"Recover swapAuth","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/{id}/auth/recover","href":"/api-reference/recovery/recover-swapauth"}]},{"group":"Reverse swaps","pages":[{"title":"Create a reverse swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/reverse","href":"/api-reference/reverse-swaps/create-a-reverse-swap"},{"title":"Cooperative claim (reverse)","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/reverse/{id}/claim","href":"/api-reference/reverse-swaps/cooperative-claim-reverse"},{"title":"Abandon a reverse swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/reverse/{id}/refund","href":"/api-reference/reverse-swaps/abandon-a-reverse-swap"},{"title":"Get the lockup transaction","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/reverse/{id}/transaction","href":"/api-reference/reverse-swaps/get-the-lockup-transaction"},{"title":"Get the direct payment URI","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/reverse/{invoice}/bip21","href":"/api-reference/reverse-swaps/get-the-direct-payment-uri"}]},{"group":"Swap status","pages":[{"title":"Get several statuses","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/status","href":"/api-reference/swap-status/get-several-statuses"},{"title":"Get swap status","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/{id}","href":"/api-reference/swap-status/get-swap-status"},{"title":"Status stream (WebSocket)","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/ws","href":"/api-reference/swap-status/status-stream-websocket"}]},{"group":"Submarine swaps","pages":[{"title":"Create a submarine swap","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/submarine","href":"/api-reference/submarine-swaps/create-a-submarine-swap"},{"title":"Get the preimage","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/submarine/{id}/preimage","href":"/api-reference/submarine-swaps/get-the-preimage"},{"title":"Cooperative refund (submarine)","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/swap/submarine/{id}/refund","href":"/api-reference/submarine-swaps/cooperative-refund-submarine"},{"title":"Get the lockup transaction","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/swap/submarine/{id}/transaction","href":"/api-reference/submarine-swaps/get-the-lockup-transaction"}]}]},{"group":"参考","icon":"book","pages":[{"title":"比特币交换 API 常见问题","sidebarTitle":"常见问题","href":"/cn/api-reference/faq"},{"title":"交换 API 错误与故障排查","sidebarTitle":"故障排查","href":"/cn/api-reference/troubleshooting"},{"title":"比特币交换 API:更多资源","sidebarTitle":"更多资源","href":"/cn/api-reference/additional-resources"}]}]},{"tab":"钱包引擎","pages":[{"title":"钱包引擎","href":"/cn/wallet-engine/introduction"}]}],"global":{"anchors":[{"anchor":"体验扩展 Beta","icon":"puzzle-piece","href":"https://kaleidoswap.com/products/extension/beta"},{"anchor":"下载桌面应用","icon":"download","href":"https://github.com/kaleidoswap/desktop-app/releases"},{"anchor":"使用 SDK 构建","icon":"code","href":"/cn/sdk/installation"},{"anchor":"官网","icon":"globe","href":"https://kaleidoswap.com"},{"anchor":"GitHub","icon":"github","href":"https://github.com/kaleidoswap"}]}}]},"title":"Create a chain swap - KaleidoSwap Documentation","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}