To facilitate clients in quickly and conveniently integrating the system, Keysecure has outlined the core processes based on past client integration experiences, focusing on the integration solutions for [Get Receiving(Deposit) Address] , [User Receiving(Deposit)] and [User Transfer (Withdrawal)]. The details are as follows:
Create a coin address for the wallet /api/mpc/sub_wallet/create/address
Keysecure callbacks Co-Signer for signing, and Co-Signer collaborates with Keysecure node to complete the signing
Successfully signed, return the address created for the coin
Addresses support two types: system addresses and user addresses. The system address is used for auto sweep or is used as change address, cannot be assigned to users.
Users complete registration within the client system.
When users view the coin receiving address in the frontend, the client system assigns a coin address to the user.
Users deposits assets to the assigned address.
Keysecure monitors the blockchain address for incoming transactions. After detecting a deposit, Keysecure notifies the client’s business system of the receiving notification (the client’s system actively retrieves /api/mpc/billing/sync_deposit_list).
The client obtains the current block height of the corresponding blockchain for the coin (/api/mpc/chain_height).
The client system credits the user’s account after confirming the required number of secure confirmations.
After the client system approves the Transfer, it initiates a Transfer request to the Keysecure system via API /api/mpc/billing/withdraw.
Co-Signer periodically retrieves withdrawal transactions. If Co-Signer has configured a callback program, it confirms with the client’s business system. If Co-Signer has configured signature verification, it verifies the signature and collaborates with the Keysecure node to sign.
Once signed, Keysecure broadcasts the transaction to the blockchain and monitors its status.
Supported blockchains for acceleration can be obtained through the API /api/mpc/wallet/open_coin.
After blockchain confirmation, Keysecure notifies the client’s business system of the transfer notification (the client’s system actively retrieves /api/mpc/billing/sync_withdraw_list).
The client system updates the order status.
User transfer out successful.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Keysecure","colors":{"primary":"#2662FF","light":"#2662FF","dark":"#2662FF"},"logo":{"light":"https://mintcdn.com/keysecure-en/eBz-T3c5poQpcHLw/logo/KeySecure%20Logo%20-%20Original%201.svg?fit=max\u0026auto=format\u0026n=eBz-T3c5poQpcHLw\u0026q=85\u0026s=71de1fbacc2b8fde0d156f2b338babe6","dark":"https://mintcdn.com/keysecure-en/eBz-T3c5poQpcHLw/logo/KeySecure%20Logo%20-%20Original%201.svg?fit=max\u0026auto=format\u0026n=eBz-T3c5poQpcHLw\u0026q=85\u0026s=71de1fbacc2b8fde0d156f2b338babe6"},"favicon":"https://mintcdn.com/keysecure-en/eBz-T3c5poQpcHLw/logo/Frame%204.svg?fit=max\u0026auto=format\u0026n=eBz-T3c5poQpcHLw\u0026q=85\u0026s=00efbb9d98c4c337f3f0e700438c5d21","api":{"playground":{"display":"simple"},"mdx":{"server":"https://openapi.keysecure.io/"}},"appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"https://docs-cn.keysecure.io/","label":"ZH-CN"}],"primary":{"type":"button","label":"Official Website","href":"https://www.keysecure.io/"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"keysecure-en","hasAudioNarration":false,"actualSubdomain":"keysecure-en","customDomains":["docs-en.keysecure.io"],"gitSource":{"type":"github","owner":"chainup-custody","repo":"custody-docs","deployBranch":"keysecure","contentDirectory":"en","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae05a3d2af498ce6d6f5522","collectionId":"ffa1aa7f-be74-43d0-99ff-d45203d2f028","liveDeploymentHistoryId":"6ae05a3d2af498ce6d6f5522","schemaVersion":"v3"},"entitlements":{},"buildId":"6ae05a3d2af498ce6d6f5522","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"MPC Self-Custody","count":121},{"language":"default","tag":"API","count":92},{"language":"default","tag":"User Guide","count":55},{"language":"default","tag":"Full Custody","count":52},{"language":"default","tag":"API Interface","count":36},{"language":"default","tag":"Help Center","count":33},{"language":"default","tag":"API List","count":30},{"language":"default","tag":"Get Started","count":14},{"language":"default","tag":"Custody WAPI","count":12},{"language":"default","tag":"Introduction","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-references/mpc-apis/guide/test-flow","slug":"/api-references/mpc-apis/guide/test-flow","pageMetadata":{"title":"Integration Testing","description":null,"href":"/api-references/mpc-apis/guide/test-flow"},"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={code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Tip,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`To facilitate clients in quickly and conveniently integrating the system, Keysecure has outlined the core processes based on past client integration experiences, focusing on the integration solutions for [`,_jsx(_components.strong,{children:`Get Receiving(Deposit) Address`}),`] , [`,_jsx(_components.strong,{children:`User Receiving(Deposit)`}),`] and [`,_jsx(_components.strong,{children:`User Transfer (Withdrawal)`}),`]. The details are as follows:`]}),`\n`,_jsx(Heading,{level:`2`,id:`get-receiving-address`,children:`Get Receiving Address`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Create a wallet `,_jsx(_components.code,{children:`/api/mpc/sub_wallet/create`})]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Create a coin address for the wallet `,_jsx(_components.code,{children:`/api/mpc/sub_wallet/create/address`})]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Keysecure callbacks Co-Signer for signing, and Co-Signer collaborates with Keysecure node to complete the signing`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Successfully signed, return the address created for the coin`}),`\n`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Addresses support two types: system addresses and user addresses. The `,_jsx(_components.code,{children:`system address`}),` is used for auto sweep or is used as change address, cannot be assigned to users.`]})}),`\n`,_jsx(`div`,{className:`mint-w-full mint-flex mint-items-center mint-justify-center`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320188.png?fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=ade1b5f539ffc20958d136c50f78703e`,width:`600`,\"data-og-width\":`1873`,\"data-og-height\":`1943`,\"data-path\":`images/apis/Group 427320188.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320188.png?w=280\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=c073e8ced6347180ecb861b09de092be 280w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320188.png?w=560\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=cec6e980fdb2751d6c2b646de3853cbd 560w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320188.png?w=840\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=4bf2b01426c8e4c6868fd63dd3974dcb 840w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320188.png?w=1100\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=eb32393bb0e9e20957638296ec403ca0 1100w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320188.png?w=1650\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=9e701a5f1d4966f83bc56a1492feb9b9 1650w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320188.png?w=2500\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=f281fe17cd5ed124b3fe0cf3b7dbab4e 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`user-receiving-deposit`,children:`User Receiving (Deposit)`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Users complete registration within the client system.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`When users view the coin receiving address in the frontend, the client system assigns a coin address to the user.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Users deposits assets to the assigned address.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Keysecure monitors the blockchain address for incoming transactions. After detecting a deposit, Keysecure notifies the client’s business system of the receiving notification (the client’s system actively retrieves `,_jsx(_components.code,{children:`/api/mpc/billing/sync_deposit_list`}),`).`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`The client obtains the current block height of the corresponding blockchain for the coin (`,_jsx(_components.code,{children:`/api/mpc/chain_height`}),`).`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`The client system credits the user’s account after confirming the required number of secure confirmations.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`User receives the coin (deposits successful).`}),`\n`]}),`\n`]}),`\n`,_jsx(`div`,{className:`mint-w-full mint-flex mint-items-center mint-justify-center`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320190.png?fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=5ca059c0fadca096cbb22f3d7f7b1f13`,width:`600`,\"data-og-width\":`2610`,\"data-og-height\":`3624`,\"data-path\":`images/apis/Group 427320190.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320190.png?w=280\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=856b4f5f3ef8ae7a13283984dbebe9b8 280w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320190.png?w=560\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=23134105a9d9c6a82435e14f7d2bd38a 560w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320190.png?w=840\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=167646f7778f3799c6e9388b094d3f41 840w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320190.png?w=1100\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=a0a8d3bff01ec6190586b4277c69456b 1100w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320190.png?w=1650\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=d628a11cc6cfd0ad78a0de08d8213ddc 1650w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320190.png?w=2500\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=7566b4916c81e007a04456ffc6549f2c 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`user-transfer-withdrawal`,children:`User Transfer (Withdrawal)`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Users initiate a transfer in the client system.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`After the client system approves the Transfer, it initiates a Transfer request to the Keysecure system via API `,_jsx(_components.code,{children:`/api/mpc/billing/withdraw`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Co-Signer periodically retrieves withdrawal transactions. If Co-Signer has configured a callback program, it confirms with the client’s business system. If Co-Signer has configured signature verification, it verifies the signature and collaborates with the Keysecure node to sign.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Once signed, Keysecure broadcasts the transaction to the blockchain and monitors its status.`}),`\n`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Supported blockchains for acceleration can be obtained through the API `,_jsx(_components.code,{children:`/api/mpc/wallet/open_coin`}),`.`]})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`After blockchain confirmation, Keysecure notifies the client’s business system of the transfer notification (the client’s system actively retrieves `,_jsx(_components.code,{children:`/api/mpc/billing/sync_withdraw_list`}),`).`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`The client system updates the order status.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`User transfer out successful.`}),`\n`]}),`\n`]}),`\n`,_jsx(`div`,{className:`mint-w-full mint-flex mint-items-center mint-justify-center`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320192.png?fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=c6f4f9520fc1b5b3138d22af8f257c8c`,width:`600`,\"data-og-width\":`3348`,\"data-og-height\":`4001`,\"data-path\":`images/apis/Group 427320192.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320192.png?w=280\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=f5d71e27cf0c60451d067528d5b2f8aa 280w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320192.png?w=560\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=a14742640b7addda7aa20971a2d74896 560w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320192.png?w=840\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=62385422e24b43d368ebf8a7c2222b77 840w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320192.png?w=1100\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=52d6936cf3efd0ae3cfbc3e4a4a8e3e3 1100w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320192.png?w=1650\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=009e9811a81da4c107418bb5715e48dd 1650w, https://mintcdn.com/keysecure-en/U8Qkwr5UOHzcbJEo/images/apis/Group%20427320192.png?w=2500\u0026fit=max\u0026auto=format\u0026n=U8Qkwr5UOHzcbJEo\u0026q=85\u0026s=1781ae08e0871feb4c9d6f1c50f31137 2500w`})})]})}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":"Integration Testing","description":null,"href":"/api-references/mpc-apis/guide/test-flow"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Get Receiving Address","slug":"get-receiving-address","depth":2,"children":[]},{"title":"User Receiving (Deposit)","slug":"user-receiving-deposit","depth":2,"children":[]},{"title":"User Transfer (Withdrawal)","slug":"user-transfer-withdrawal","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-flex {\n display: flex\n}\n.mint-w-full {\n width: 100%\n}\n.mint-items-center {\n align-items: center\n}\n.mint-justify-center {\n justify-content: center\n}","subdomain":"keysecure-en","siteName":"Keysecure","title":"Integration Testing - Keysecure","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-19T11:11:05.053Z","originalFileLocation":"api-references/mpc-apis/guide/test-flow.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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=\"application-name\" content=\"Keysecure\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/keysecure-en/JqnpYvqb8v1MZ4qI/_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/keysecure-en/JqnpYvqb8v1MZ4qI/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/keysecure-en/JqnpYvqb8v1MZ4qI/_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/keysecure-en/JqnpYvqb8v1MZ4qI/_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/keysecure-en/JqnpYvqb8v1MZ4qI/_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/keysecure-en/JqnpYvqb8v1MZ4qI/_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/keysecure-en/JqnpYvqb8v1MZ4qI/_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/keysecure-en/JqnpYvqb8v1MZ4qI/_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/keysecure-en/JqnpYvqb8v1MZ4qI/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Integration Testing - Keysecure\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Keysecure\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://keysecure-en.mintlify.app/_mintlify/api/og/v2?division=Integration+Guide\u0026amp;title=Integration+Testing\u0026amp;theme=d32637eaef82f0a26a397c73\u0026amp;signature=b606cdeac7a4af0a738368949149471583253a30cb09f9aa6d935b11aae56ec1\">\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=\"Integration Testing - Keysecure\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://keysecure-en.mintlify.app/_mintlify/api/og/v2?division=Integration+Guide\u0026amp;title=Integration+Testing\u0026amp;theme=d32637eaef82f0a26a397c73\u0026amp;signature=b606cdeac7a4af0a738368949149471583253a30cb09f9aa6d935b11aae56ec1\">\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/keysecure-en/JqnpYvqb8v1MZ4qI/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Keysecure\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2662FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-references/mpc-apis/guide/test-flow.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs-en.keysecure.io/#organization\",\"name\":\"Keysecure\",\"url\":\"https://docs-en.keysecure.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/keysecure-en/eBz-T3c5poQpcHLw/logo/KeySecure%20Logo%20-%20Original%201.svg?fit=max\u0026auto=format\u0026n=eBz-T3c5poQpcHLw\u0026q=85\u0026s=71de1fbacc2b8fde0d156f2b338babe6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs-en.keysecure.io#website\",\"name\":\"Keysecure\",\"url\":\"https://docs-en.keysecure.io\",\"publisher\":{\"@id\":\"https://docs-en.keysecure.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow#webpage\",\"url\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow\",\"name\":\"Integration Testing\",\"dateModified\":\"2026-10-19T11:11:05.053Z\",\"isPartOf\":{\"@id\":\"https://docs-en.keysecure.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"MPC Self-Custody\",\"item\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integration Guide\",\"item\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Integration Testing\",\"item\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow#article\",\"headline\":\"Integration Testing\",\"name\":\"Integration Testing\",\"url\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow\",\"mainEntityOfPage\":{\"@id\":\"https://docs-en.keysecure.io/api-references/mpc-apis/guide/test-flow#webpage\"},\"dateModified\":\"2026-10-19T11:11:05.053Z\",\"publisher\":{\"@id\":\"https://docs-en.keysecure.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs-en.keysecure.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Keysecure\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Keysecure","nav":{"global":null,"tabs":[{"tab":"Introduction","pages":[{"title":"Introduction","href":"/introduction/overview/custody-solution"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/quick-start/overview/quickstart"}]},{"tab":"API","groups":[{"group":"Introduction to APIs","pages":[{"title":"Keysecure APIs","href":"/api-references/intro/custody-apis"}]},{"group":"MPC Self-Custody","pages":[{"group":"Integration Guide","pages":[{"title":"Overview","href":"/api-references/mpc-apis/guide/overview"},{"title":"Open Account","href":"/api-references/mpc-apis/guide/create-account"},{"title":"Preparation","description":null,"href":"/api-references/mpc-apis/guide/function-set"},{"title":"Integration Testing","href":"/api-references/mpc-apis/guide/test-flow"}]},{"group":"API Interface","pages":[{"title":"Overview","description":null,"href":"/api-references/mpc-apis/apis/description"},{"group":"Workspace","pages":[{"title":"Get Supported Networks","api":"GET /api/mpc/wallet/open_coin","href":"/api-references/mpc-apis/apis/wallet/open-coin"},{"title":"Get MPC Workspace Coin Details","api":"GET /api/mpc/coin_list","href":"/api-references/mpc-apis/apis/wallet/coin-list"},{"title":"Get Latest Block Height","api":"GET /api/mpc/chain_height","href":"/api-references/mpc-apis/apis/wallet/chain-height"},{"title":"Estimated Mining Fee For Transfer","api":"GET /v2/chain/minerfee","href":"/api-references/mpc-apis/apis/wallet/minner-fee"}]},{"group":"Wallet","pages":[{"title":"Create wallet","api":"POST /api/mpc/sub_wallet/create","href":"/api-references/mpc-apis/apis/sub-wallet/subwallet-create"},{"title":"Create Wallet Address","api":"POST /api/mpc/sub_wallet/create/address","href":"/api-references/mpc-apis/apis/sub-wallet/subwallet-create-address"},{"title":"Query Wallet Address","api":"POST /api/mpc/sub_wallet/get/address/list","href":"/api-references/mpc-apis/apis/sub-wallet/subwallet-get-address"},{"title":"Get Wallet Assets","api":"GET /api/mpc/sub_wallet/assets","href":"/api-references/mpc-apis/apis/sub-wallet/subwallet-assets"},{"title":"Modify the Wallet Display Status","api":"POST /api/mpc/sub_wallet/change_show_status","href":"/api-references/mpc-apis/apis/sub-wallet/subwallet-show-status"},{"title":"Verify Address Information","api":"GET /api/mpc/sub_wallet/address/info","href":"/api-references/mpc-apis/apis/sub-wallet/subwallet-address-info"}]},{"group":"Transfer (Withdrawal)","pages":[{"title":"Transfer (Withdrawal)","api":"POST /api/mpc/billing/withdraw","href":"/api-references/mpc-apis/apis/withdraw/withdraw"},{"title":"Get Transfer Records","api":"GET /api/mpc/billing/withdraw_list","href":"/api-references/mpc-apis/apis/withdraw/withdraw-list"},{"title":"Synchronize Transfer Records","api":"GET /api/mpc/billing/sync_withdraw_list","href":"/api-references/mpc-apis/apis/withdraw/withdraw-sync-list"},{"title":"Accelerate Transfer (Withdrawal)","api":"POST /api/mpc/billing/withdraw_accelerate","href":"/api-references/mpc-apis/apis/withdraw/withdraw-accelerate"}]},{"group":"Receiving (Deposit)","pages":[{"title":"Get Receiving records","api":"GET /api/mpc/billing/deposit_list","href":"/api-references/mpc-apis/apis/deposit/deposit-list"},{"title":"Sync Receiving record","api":"GET /api/mpc/billing/sync_deposit_list","href":"/api-references/mpc-apis/apis/deposit/deposit-sync-list"}]},{"group":"Auto Sweep","pages":[{"title":"Get Auto-Sweep Wallets","api":"GET /api/mpc/auto_collect/sub_wallets","href":"/api-references/mpc-apis/apis/consolidation/consolidation-subwallet"},{"title":"Configure Auto-Sweep for Coin","api":"POST /api/mpc/billing/auto_collect/symbol/set","href":"/api-references/mpc-apis/apis/consolidation/consolidation-symbol-set"},{"title":"Sync Auto Sweeping Records","api":"GET /api/mpc/billing/sync_auto_collect_list","href":"/api-references/mpc-apis/apis/consolidation/consolidation-sync-list"}]},{"group":"Web3 Transaction","pages":[{"title":"Create Web3 Transaction","api":"POST /api/mpc/web3/trans/create","href":"/api-references/mpc-apis/apis/web3/web3-create"},{"title":"Web3 Transaction Speed Up","api":"POST /api/mpc/web3/pending","href":"/api-references/mpc-apis/apis/web3/web3-pending"},{"title":"Get Web3 Transaction Records","api":"GET /api/mpc/web3/trans_list","href":"/api-references/mpc-apis/apis/web3/web3-record-list"},{"title":"Sync Web3 Transaction Records","api":"GET /api/mpc/web3/sync_trans_list","href":"/api-references/mpc-apis/apis/web3/web3-record-sync-list"}]},{"group":"NFT","pages":[{"title":"Get NFT Information","api":"POST /api/nft/info","href":"/api-references/mpc-apis/apis/nft/nft-info"}]},{"group":"Babylon","pages":[{"title":"Stake","api":"POST /api/mpc/babylon/stake","href":"/api-references/mpc-apis/apis/babylon/stake"},{"title":"Unstake","api":"POST /api/mpc/babylon/unstake","href":"/api-references/mpc-apis/apis/babylon/unstake"},{"title":"Unbond","api":"POST /api/mpc/babylon/unbond","href":"/api-references/mpc-apis/apis/babylon/unbond"},{"title":"Get stake record list","api":"GET /api/mpc/babylon/stake_list","href":"/api-references/mpc-apis/apis/babylon/stake-list"},{"title":"Get stake record details","api":"GET /api/mpc/babylon/details","href":"/api-references/mpc-apis/apis/babylon/stake-details"},{"title":"Get stake record details","api":"GET /api/mpc/babylon/details_by_request_id","href":"/api-references/mpc-apis/apis/babylon/stake-details-by-req-id"}]},{"group":"Tron Resource","pages":[{"title":"Purchase TRON resources on the Keysecure platform.","href":"/api-references/mpc-apis/apis/tron/resource-shopping-guide"},{"title":"Purchase TRON Network Transaction Resources","api":"POST /api/mpc/tron/delegate","href":"/api-references/mpc-apis/apis/tron/delegate-create"},{"title":"Obtain transaction records for purchasing Tron resources","api":"GET /api/mpc/tron/delegate/trans_list","href":"/api-references/mpc-apis/apis/tron/delegate-record-list"},{"title":"Synchronize Tron purchasing resource transaction records","api":"GET /api/mpc/tron/delegate/sync_trans_list","href":"/api-references/mpc-apis/apis/tron/delegate-record-sync-list"},{"title":"Tron Resource Purchase Asynchronous Notification","href":"/api-references/mpc-apis/apis/tron/tron-notify"}]}]},{"group":"Transaction Callback Notification","pages":[{"title":"Overview","href":"/api-references/mpc-apis/notify/description"},{"title":"Receive Asynchronous Notification","href":"/api-references/mpc-apis/notify/deposit"},{"title":"Transfer Asynchronous Notification","href":"/api-references/mpc-apis/notify/withdraw"},{"title":"Web3 Transaction Asynchronous Notification","href":"/api-references/mpc-apis/notify/web3"},{"title":"Tron Resource Purchase Asynchronous Notification","href":"/api-references/mpc-apis/notify/tron"}]},{"group":"Co-Signer","pages":[{"title":"Overview","href":"/api-references/mpc-apis/co-signer/flow"},{"group":"Co-Signer Callback","pages":[{"title":"Transfer(Withdrawal) Callback","api":"POST /{custom-url}","href":"/api-references/mpc-apis/co-signer/callback/withdraw"},{"title":"Web3 Transaction Callback","api":"POST /{custom-url}","href":"/api-references/mpc-apis/co-signer/callback/web3"}]},{"title":"Co-Signer Transaction Signature Verification","href":"/api-references/mpc-apis/co-signer/sign-verify"},{"title":"Co-Signer Deployment","href":"/api-references/mpc-apis/co-signer/deploy"}]},{"title":"Error Code","href":"/api-references/mpc-apis/err-code"},{"title":"SDK","href":"/api-references/mpc-apis/sdk"}]},{"group":"Full Custody","pages":[{"title":"Access Guidelines","href":"/api-references/custody-apis/guide"},{"title":"Integration","href":"/api-references/custody-apis/scheme"},{"title":"Getting Started","href":"/api-references/custody-apis/prepare"},{"title":"SDK","href":"/api-references/custody-apis/sdk"},{"group":"API List","pages":[{"title":"Overview","href":"/api-references/custody-apis/apis/description"},{"group":"Get Address","pages":[{"title":"Mobile Registration","href":"/api-references/custody-apis/apis/get-address/create-user"},{"title":"Email Registration","href":"/api-references/custody-apis/apis/get-address/register-email"},{"title":"Address of the User-specified Coin","href":"/api-references/custody-apis/apis/get-address/get-deposit-address"},{"title":"Verify Address Information","href":"/api-references/custody-apis/apis/get-address/get-address-info"}]},{"group":"Account Balance","pages":[{"title":"Query User Information","href":"/api-references/custody-apis/apis/account-assets/user-info"},{"title":"List of Supported Coins","href":"/api-references/custody-apis/apis/account-assets/coin-list"},{"title":"Account Information for Specified User","href":"/api-references/custody-apis/apis/account-assets/get-account"},{"title":"Balance of Merchant Omnibus Account","href":"/api-references/custody-apis/apis/account-assets/get-balance"}]},{"group":"User Deposit","pages":[{"title":"Synchronize Deposit Records","href":"/api-references/custody-apis/apis/user-deposit/deposit-sync-list"},{"title":"Batch Access Depositing Records","href":"/api-references/custody-apis/apis/user-deposit/deposit-list"},{"title":"Nonsync Callback Notification for User Deposit","href":"/api-references/custody-apis/apis/user-deposit/deposit-notify"},{"title":"Sweeping Miner Fees","href":"/api-references/custody-apis/apis/user-deposit/minerfee-list"}]},{"group":"User Withdrawal","pages":[{"title":"Initiate Withdraw","href":"/api-references/custody-apis/apis/user-withdraw/withdraw"},{"title":"Second Confirmation of Eithdrawal Information","href":"/api-references/custody-apis/apis/user-withdraw/withdraw-confirm"},{"title":"Asynchronous Callback Notification of User Withdrawal","href":"/api-references/custody-apis/apis/user-withdraw/withdraw-notify"},{"title":"Synchronize Withdrawal Records","href":"/api-references/custody-apis/apis/user-withdraw/withdraw-sync-list"},{"title":"Batch Access to Withdrawal Records","href":"/api-references/custody-apis/apis/user-withdraw/withdraw-list"}]},{"group":"Internal Transfer","pages":[{"title":"Cuystod Merchant Transfer","href":"/api-references/custody-apis/apis/company-transfer/company-transfer"},{"title":"Asynchronous Confirmation of Transfer Information","href":"/api-references/custody-apis/apis/company-transfer/company-transfer-check-sum"},{"title":"Batch Query Merchant Transfer Records","href":"/api-references/custody-apis/apis/company-transfer/company-transfer-list"},{"title":"Synchronous Merchant Transfer Record","href":"/api-references/custody-apis/apis/company-transfer/company-transfer-sync-list"}]}]},{"title":"Error Code","href":"/api-references/custody-apis/err-code"}]},{"group":"Custody WAPI","pages":[{"title":"Getting Started","href":"/api-references/bass-apis/prepare"},{"title":"Integration","href":"/api-references/bass-apis/scheme"},{"title":"SDK","href":"/api-references/bass-apis/sdk"},{"group":"API List","pages":[{"title":"Overview","href":"/api-references/bass-apis/apis/description"},{"title":"Register Address","api":"POST /api/v1/address/register","href":"/api-references/bass-apis/apis/address-register"},{"title":"Available Address","api":"POST /api/v1/address/available","href":"/api-references/bass-apis/apis/address-available"},{"title":"Deposit Notification","api":"POST /api/v1/deposit/notify","href":"/api-references/bass-apis/apis/deposit-notify"},{"title":"Withdrawal","api":"POST /api/v1/withdraw/consume","href":"/api-references/bass-apis/apis/withdraw-consume"},{"title":"Withdrawal Notification","api":"POST /api/v1/withdraw/notify","href":"/api-references/bass-apis/apis/withdraw-notify"},{"title":"Internal Notification","api":"POST /api/v1/internal/notify","href":"/api-references/bass-apis/apis/internal-notify"},{"title":"Callback Withdrawals Interface","api":"POST /api/v1/withdraw/cancel","href":"/api-references/bass-apis/apis/withdraw-cancel"}]},{"title":"Error Code","href":"/api-references/bass-apis/err-code"}]}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/help-center/introduction/manage-custody"}]},{"tab":"User Guide","pages":[{"title":"User Guide","href":"/user-guide/mpc-wallet/account/password"}]}]},"basePath":"","title":"Integration Testing - Keysecure","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}