1"use strict";(globalThis.webpackChunkdocsite=globalThis.webpackChunkdocsite||[]).push([[7398],{1244:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/4-cd80bd3711f8a4984f2d72fa0f5ede97.jpg"},2378:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/2-37dd2ae75bb1cfd323721f995af5bb80.jpg"},5387:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/12-cc5824688ac70aaba6db6d4ac1938b1d.jpg"},6455:e=>{e.exports=JSON.parse('{"permalink":"/blog/replace-cold-contract","source":"@site/blog/2026-05-12-replace-cold-contract/index.mdx","title":"Cold Vault Replacement and Emergency Sweep Address Setup Guide","description":"A guide to replacing the cold vault and configuring emergency sweep and withdraw addresses, covering the full multisig proposal flow for blacklisted sub-contract funds.","date":"2026-05-12T00:00:00.000Z","tags":[{"inline":true,"label":"tutorial","permalink":"/blog/tags/tutorial"},{"inline":true,"label":"merchant","permalink":"/blog/tags/merchant"},{"inline":true,"label":"multisig","permalink":"/blog/tags/multisig"},{"inline":true,"label":"funds","permalink":"/blog/tags/funds"}],"readingTime":7.21,"hasTruncateMarker":true,"authors":[{"name":"Pay Protocol Support","title":"Pay Protocol BD & Support Team","imageURL":"/img/support.png","key":"support","page":null}],"frontMatter":{"slug":"replace-cold-contract","title":"Cold Vault Replacement and Emergency Sweep Address Setup Guide","authors":["support"],"tags":["tutorial","merchant","multisig","funds"],"description":"A guide to replacing the cold vault and configuring emergency sweep and withdraw addresses, covering the full multisig proposal flow for blacklisted sub-contract funds."},"unlisted":false,"lastUpdatedAt":1788773627000,"prevItem":{"title":"Multi-Merchant Registration Guide","permalink":"/blog/multi-merchant-registration"},"nextItem":{"title":"Tutorial on Batch Creating Sub-Contracts for Payments","permalink":"/blog/create-sub-contracts"}}')},8681:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/25-b63221f3d6266957b061cbf7dfe6760e.jpg"},14032:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/8-1833dd7ebc21f407fd948ed5689911d1.jpg"},14969:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/5-9f52d7f2f4cc18ec17fd02c6fda5f762.jpg"},22474:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/17-405a26843d0947aea8d55f04cfa2dc54.jpg"},25031:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/3-e960221e697123283b1314a3ae467be4.jpg"},28453:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>r});var t=s(96540);const a={},i=t.createContext(a);function d(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:d(e.components),t.createElement(i.Provider,{value:n},e.children)}},29086:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/26-21bf5c677a61ff00bc14630cee2dcd12.jpg"},32456:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/20-053dc0e3ca86bd4f681affecba541691.jpg"},35065:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/10-9de6c87a9aa7ab926e59e73d107a9b28.jpg"},37692:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/11-520612aabdc9a11a0f526269c7a705d3.jpg"},42001:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/18-3ff52e4a8a9a70a6cdaa0fb45c4e12f2.jpg"},42478:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/6-0b2b97e1b673a7b6dd4cd242be7043d3.jpg"},53365:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/1-19dca3018de23fe7e469bba1e31ec31f.jpg"},53420:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/24-3541235fa719b00f8e1830336d22f243.jpg"},57485:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/9-202f841d65d3e0ece0d32685d7d3cdc7.jpg"},59735:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/23-e7bf709bca8082e514f0d28d7dc98e26.jpg"},61479:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/16-3eab62a2ff1666fd0145d8f2940e35d8.jpg"},63476:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/19-39691e009bbdf9c403159014df5cd1ff.jpg"},68939:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/7-c0049728b9646a399fcae9b6cebd6150.jpg"},72218:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/22-fad6e060c35de3992dda62314cd50383.jpg"},76421:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/21-fbc262d7d116c01278e6775843c12e18.jpg"},78926:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/13-88d57a768d5307861cfb864e3ac6a67e.jpg"},80098:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>c});
1var t=s(6455),a=s(74848),i=s(28453);const d={slug:"replace-cold-contract",title:"Cold Vault Replacement and Emergency Sweep Address Setup Guide",authors:["support"],tags:["tutorial","merchant","multisig","funds"],description:"A guide to replacing the cold vault and configuring emergency sweep and withdraw addresses, covering the full multisig proposal flow for blacklisted sub-contract funds."},r=void 0,l={authorsImageUrls:[void 0]},c=[{value:"1. Cold Vault Replacement",id:"1-cold-vault-replacement",level:2},{value:"Overview",id:"overview",level:3},{value:"Steps",id:"steps",level:3},{value:"Additional Note: Finance Hot Contract Address Update",id:"additional-note-finance-hot-contract-address-update",level:3},{value:"2. Set Emergency Sweep and Emergency Fund Withdrawal Addresses",id:"2-set-emergency-sweep-and-emergency-fund-withdrawal-addresses",level:2},{value:"Overview",id:"overview-1",level:3},{value:"Phase 1: Set the Emergency Sweep Address",id:"phase-1-set-the-emergency-sweep-address",level:3},{value:"Phase 2: Set the Emergency Fund Withdrawal Address",id:"phase-2-set-the-emergency-fund-withdrawal-address",level:3},{value:"Phase 3: Sweep High-Risk Funds and Withdraw to an External Wallet",id:"phase-3-sweep-high-risk-funds-and-withdraw-to-an-external-wallet",level:3},{value:"1. Sweep Funds from High-Risk Sub-Contracts",id:"1-sweep-funds-from-high-risk-sub-contracts",level:4},{value:"2. One-Click Fund Withdrawal from Emergency Sweep Address to Emergency Fund Withdrawal Address",id:"2-one-click-fund-withdrawal-from-emergency-sweep-address-to-emergency-fund-withdrawal-address",level:4},{value:"3. Payout from Emergency Fund Withdrawal Address (Pro Merchants)",id:"3-payout-from-emergency-fund-withdrawal-address-pro-merchants",level:4}];function o(e){const n={a:"a",admonition:"admonition",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"This guide is intended for merchant operations and fund security teams. It covers the full workflow for cold vault replacement, emergency sweep address setup, emergency fund withdrawal address setup, and high-risk fund handling."}),"\n",(0,a.jsx)(n.p,{children:"You can execute the process in the following order:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Replace the cold vault (multisig)"}),"\n",(0,a.jsx)(n.li,{children:"Set the emergency sweep address (multisig)"}),"\n",(0,a.jsx)(n.li,{children:"Set the emergency fund withdrawal address (multisig)"}),"\n",(0,a.jsx)(n.li,{children:"Sweep and withdraw funds from blacklisted sub-contracts"}),"\n"]}),"\n","\n",(0,a.jsx)(n.h2,{id:"1-cold-vault-replacement",children:"1. Cold Vault Replacement"}),"\n",(0,a.jsx)(n.h3,{id:"overview",children:"Overview"}),"\n",(0,a.jsx)(n.p,{children:"The cold vault stores large merchant balances. To avoid contamination from high-risk transactions or other security risks, merchants can replace the cold vault address through multisig. This operation requires two admin wallets (one to create the proposal, one to approve and submit on-chain) to protect fund security."}),"\n",(0,a.jsx)(n.p,{children:"This section uses the Pro console as an example and explains the full replacement procedure."}),"\n",(0,a.jsx)(n.admonition,{title:"Pre-checks",type:"warning",children:(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Make sure both admin wallets can log in and have enough gas."}),"\n",(0,a.jsx)(n.li,{children:"Make sure the selected network matches the merchant's actual operating network."}),"\n"]})}),"\n",(0,a.jsx)(n.h3,{id:"steps",children:"Steps"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Log in with an admin wallet and go to "System Configuration -> Multi-Signature Management".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Multisig management entry",src:s(53365).A+"",width:"1694",height:"759"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'On the Multi-Signature Management page, open the "Edit Parameter Proposal" tab, click "Modify", and choose "Modify Cold Vault Address" from the "Category" dropdown.'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Select modify Cold Vault address",src:s(2378).A+"",width:"1578",height:"804"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'In the "Address" dropdown, choose the target cold vault address:'}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:'If no replacement address exists, choose "New" and let the system generate a new cold vault address.'}),"\n",(0,a.jsx)(n.li,{children:"If historical addresses exist, select one of the previously used cold vault addresses."}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Choose new or historical Cold Vault address",src:s(25031).A+"",width:"1583",height:"815"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Confirm and sign with the current admin wallet to create the proposal."}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Sign out, switch to another admin wallet, go to "Multi-Signature Management -> Edit Parameter Proposal", find the pending proposal, and click "Approve".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"View pending Cold Vault proposal",src:s(1244).A+"",width:"1751",height:"635"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Verify the details in the approval dialog, sign with the wallet, then confirm on-chain in the wallet (a small gas fee is required)."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Approve and submit Cold Vault proposal on-chain",src:s(14969).A
1+"",width:"1488",height:"766"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Wait about 1 minute. When the proposal status changes to "Approved", the cold vault address replacement is complete.'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Cold Vault proposal approved",src:s(42478).A+"",width:"1765",height:"451"})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.h3,{id:"additional-note-finance-hot-contract-address-update",children:"Additional Note: Finance Hot Contract Address Update"}),"\n",(0,a.jsx)(n.p,{children:"The finance hot contract address update follows the same multisig proposal workflow as cold vault replacement:"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Log in with an admin wallet, choose "Modify Finance Hot Contract Address" in "Edit Parameter Proposal", create the proposal, and sign.'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Create Finance Hot Contract address update proposal",src:s(68939).A+"",width:"1696",height:"734"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Switch to another admin wallet, approve the proposal, and confirm on-chain in the wallet."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Approve Finance Hot Contract address update proposal",src:s(14032).A+"",width:"1675",height:"676"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Wait about 1 minute. Once status becomes "Approved", the finance hot contract address update is complete.'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Finance Hot Contract proposal approved",src:s(57485).A+"",width:"1713",height:"440"})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"2-set-emergency-sweep-and-emergency-fund-withdrawal-addresses",children:"2. Set Emergency Sweep and Emergency Fund Withdrawal Addresses"}),"\n",(0,a.jsx)(n.h3,{id:"overview-1",children:"Overview"}),"\n",(0,a.jsx)(n.p,{children:"The Emergency Sweep Address and Emergency Fund Withdrawal Address are used to handle funds from high-risk sub-contracts. When a merchant's receiving sub-contract is marked as high-risk or blacklisted, funds can be swept to the Emergency Sweep Address first, then moved to a safe external wallet through the Emergency Fund Withdrawal Address. This isolates risk and protects the main contract funds."}),"\n",(0,a.jsxs)(n.p,{children:["This feature is typically used with the blacklist API. See: ",(0,a.jsx)(n.a,{href:"/docs/api/merchant/add-user-to-black-list",children:"Blacklist API"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"The full process includes three phases:"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsx)(n.li,{children:"Set the Emergency Sweep Address (multisig)"}),"\n",(0,a.jsx)(n.li,{children:"Set the Emergency Fund Withdrawal Address (multisig)"}),"\n",(0,a.jsx)(n.li,{children:"Sweep funds from high-risk sub-contracts and withdraw them to an external wallet"}),"\n"]}),"\n",(0,a.jsx)(n.admonition,{title:"Standard Merchant Note",type:"tip",children:(0,a.jsx)(n.p,{children:"For Standard merchants, you only need to set a hot wallet address as the Emergency Fund Withdrawal Address. After sweep, funds go directly to this address, and no follow-up payout proposal is required."})}),"\n",(0,a.jsx)(n.h3,{id:"phase-1-set-the-emergency-sweep-address",children:"Phase 1: Set the Emergency Sweep Address"}),"\n",(0,a.jsx)(n.admonition,{title:"Goal",type:"info",children:(0,a.jsx)(n.p,{children:"Use a multisig proposal to define the entry address for high-risk funds. Funds from blacklisted sub-contracts will be swept here first."})}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Log in with an admin wallet and go to "System Configuration -> Multi-Signature Management -> Edit Parameter Proposal".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Open edit parameter proposal page",src:s(35065).A+"",width:"1704",height:"735"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Click "Modify", choose "Modify Emergency Sweep Address" in "Category", then choose the address:'}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:'If no Emergency Sweep Address exists
1yet, choose "New" to let the system generate one.'}),"\n",(0,a.jsx)(n.li,{children:"If historical emergency sweep addresses exist, select one for replacement."}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Select modify emergency sweep address",src:s(37692).A+"",width:"1704",height:"730"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Connect the wallet and sign to create the proposal."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Sign to create emergency sweep address proposal",src:s(5387).A+"",width:"1464",height:"589"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Sign out, switch to another admin wallet, go to "Multi-Signature Management -> Edit Parameter Proposal", find the pending proposal, and click "Approve".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"View pending emergency sweep address proposal",src:s(78926).A+"",width:"1740",height:"511"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Verify details in the approval dialog, sign with the wallet, and confirm on-chain (a small gas fee is required)."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Approve and submit emergency sweep address proposal on-chain",src:s(89813).A+"",width:"1825",height:"675"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Wait about 1 minute. When status becomes "Approved", Emergency Sweep Address setup is complete.'}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.h3,{id:"phase-2-set-the-emergency-fund-withdrawal-address",children:"Phase 2: Set the Emergency Fund Withdrawal Address"}),"\n",(0,a.jsx)(n.admonition,{title:"Goal",type:"info",children:(0,a.jsx)(n.p,{children:"Use a multisig proposal to define the safe outbound address that receives funds after emergency sweep."})}),"\n",(0,a.jsx)(n.p,{children:'The setup flow is identical to Emergency Sweep Address setup. In the "Category" dropdown, choose "Modify Emergency Fund Withdrawal Address".'}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Log in with an admin wallet, choose "Modify Emergency Fund Withdrawal Address" in "Edit Parameter Proposal", select "New" or a historical address, click "Submit", and sign.'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Create emergency fund withdrawal address proposal",src:s(82552).A+"",width:"1660",height:"774"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Switch to another admin wallet and approve the proposal."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Approve emergency fund withdrawal address proposal",src:s(61479).A+"",width:"1710",height:"531"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Confirm on-chain in the wallet (a small gas fee is required), then wait for status to become "Approved".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Confirm emergency fund withdrawal address proposal on-chain",src:s(22474).A+"",width:"1795",height:"755"})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.admonition,{title:"Standard Merchant Note",type:"tip",children:(0,a.jsx)(n.p,{children:"At this phase, Standard merchants only need to set a hot wallet as the Emergency Fund Withdrawal Address. Funds swept to the Emergency Sweep Address will then move to this hot wallet automatically, with no follow-up payout operation."})}),"\n",(0,a.jsx)(n.h3,{id:"phase-3-sweep-high-risk-funds-and-withdraw-to-an-external-wallet",children:"Phase 3: Sweep High-Risk Funds and Withdraw to an External Wallet"}),"\n",(0,a.jsx)(n.admonition,{title:"Prerequisite",type:"warning",children:(0,a.jsx)(n.p,{children:'Make sure proposals in Phase 1 and Phase 2 are both "Approved" before executing follow-up sweep and withdraw actions.'})}),"\n",(0,a.jsx)(n.p,{children:"After both addresses are configured, you can sweep and withdraw funds from blacklisted sub-contracts."}),"\n",(0,a.jsx)(n.h4,{id:"1-sweep-funds-from-high-risk-sub-contracts",children:"1. Sweep Funds from High-Risk Sub-Contracts"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Go to "Funds -> Sweep".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Open funds sweep page",src:s(42001).A+"",width:"1725",height:"327"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Switch to the "Blacklist" tab, select the sub-contracts to sweep, and click "Batch Sweep".'}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Confirm the transaction in the wallet and wait for sweep to complete."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Confirm batch sweep transaction",src:s(63476).A+"",width:"1781",height:"635"})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.h4,{id:"2-one-click-fund-withdrawal-from-emergency-sweep-address-to-emergency-fund-withdrawal-address",children:"2. One-Click Fund Withdrawal from Emergency Sweep Address to Emergency Fund Withdrawal Address"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Go to "Asset Details" and click "Emergency Withdraw" in the top-right corner.'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Enter emergency fund withdrawal from asset details",src:s(32456).A+"",width:"1736",height:"750"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'O
1n the Emergency Withdraw page, check "Total Balance of Emergency Sweep Address". After funds are confirmed in place, click "One-Click Fund Withdrawal".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Execute one-click fund withdrawal on emergency fund withdrawal page",src:s(76421).A+"",width:"1733",height:"760"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsxs)(n.p,{children:['If the page shows "Finance Hot Contract max limit is not set for some currencies", configure finance hot contract limits via multisig first. See: ',(0,a.jsx)(n.a,{href:"/blog/multisig-tutorial#merchant-config",children:"Modify Merchant Configuration with Multisig"}),"."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Prompt to set Finance Hot Contract max limit",src:s(72218).A+"",width:"1709",height:"820"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'After configuration, click "One-Click Fund Withdrawal" again and confirm on-chain in the wallet. Funds will move from the Emergency Sweep Address to the Emergency Fund Withdrawal Address.'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Run one-click fund withdrawal again and confirm on-chain",src:s(59735).A+"",width:"1771",height:"730"})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.admonition,{title:"Edition Difference",type:"tip",children:(0,a.jsx)(n.p,{children:'For Standard merchants, funds are transferred directly to the configured emergency fund withdrawal hot wallet, and the process ends here. The next step, "3. Payout from Emergency Fund Withdrawal Address", only applies to Pro merchants.'})}),"\n",(0,a.jsx)(n.h4,{id:"3-payout-from-emergency-fund-withdrawal-address-pro-merchants",children:"3. Payout from Emergency Fund Withdrawal Address (Pro Merchants)"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'Go to "Asset Details -> Emergency Withdraw -> Payout from Emergency Fund Withdrawal Address" and click "Payout".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Open payout from emergency fund withdrawal address",src:s(53420).A+"",width:"1709",height:"730"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:'In the payout dialog, choose the currency (e.g., USDT), fill in destination address and amount, optionally click "Add Row" for batch payouts, then click "Submit".'}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Fill payout details and submit proposal",src:s(8681).A+"",width:"1699",height:"804"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Sign the payout proposal with the finance wallet."}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Sign out, switch to another finance wallet, approve the payout proposal via multisig, and confirm on-chain in the wallet."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Multisig approve payout proposal and submit on-chain",src:s(29086).A+"",width:"1746",height:"681"})}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:"Wait for confirmation. Funds in the Emergency Fund Withdrawal Address will be transferred to the specified external wallet."}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(o,{...e})}):o(e)}},82552:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/15-0ef3a01c4973669982cc7e9d2b04a8c6.jpg"},89813:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/14-62ba87dcc2e479a5894d4901c2e62666.jpg"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.