1import{n as e,r as t}from"./chunk-DECur_0Z.js";import{t as n}from"./jsx-runtime-DrYbZxX9.js";var r=e({default:()=>l,frontmatter:()=>a,structuredData:()=>o,toc:()=>s}),i=t(n()),a={title:`MCP Tools`,description:`Complete parameter and return reference for all 32 AgentX MCP tools across payments (accounts, OTC exchange, fiat deposit, crypto deposit, withdrawal, history) and fixed income.`},o={contents:[{heading:void 0,content:"All tools are available via the MetaComp MCP server at `https://www.metacomp.ai/mcp`. Check module permissions before calling any module-specific tool. Cross-cutting concepts (minor units, `withdrawalParty`, `currencyType`, fee enums, verification codes) are defined in Concepts."},{heading:`get_account_summary`,content:`Get a USD-equivalent balance summary across all product account categories. Read-only.`},{heading:`get_account_summary`,content:`**Parameters**`},{heading:`get_account_summary`,content:`None.`},{heading:`get_account_summary`,content:`**Returns**`},{heading:`get_account_summary`,content:"An object with keys `fiat`, `crypto`, `investment_fiat`, `quarantine_portfolio`, `investment_product`. Each key maps to `{ availableAmount, pendingAmount, totalAmount }` â all high-precision USD decimal strings."},{heading:`get_account_detail`,content:`Fetch per-currency breakdown for a specific product account. Read-only.`},{heading:`get_account_detail`,content:`**Parameters**`},{heading:`get_account_detail`,content:`Name`},{heading:`get_account_detail`,content:`Type`},{heading:`get_account_detail`,content:`Required`},{heading:`get_account_detail`,content:`Notes`}
1,{heading:`get_account_detail`,content:"`productCode`"},{heading:`get_account_detail`,content:`string (enum)`},{heading:`get_account_detail`,content:`yes`},{heading:`get_account_detail`,content:"`fiat` \\| `crypto` \\| `investment_fiat` \\| `quarantine_portfolio` \\| `investment_product` \\| `named_account`"},{heading:`get_account_detail`,content:`**Returns**`},{heading:`get_account_detail`,content:"On success: `{ data: { holderCode, productCode, availableAmount, pendingAmount, totalAmount, instrumentInfoMap } }`. `instrumentInfoMap` is keyed by currency code; each entry has `availableAmount`, `availableAmountDisplay`, `pendingAmount`, `pendingCreditAmount`. On session expiry: `{ error: true, message, authUrl? }`. See Accounts & Balances."},{heading:`get_module_permissions`,content:`Check which financial modules the authenticated user can access. Read-only.`},{heading:`get_module_permissions`,content:`**Parameters**`},{heading:`get_module_permissions`,content:`None.`},{heading:`get_module_permissions`,content:`**Returns**`},{heading:`get_module_permissions`,content:"`{ permissions: [{ module: 'deposit'|'otc'|'withdrawal'|'wealth', hasPermission: boolean }] }`"},{heading:`get_available_currency_pairs`,content:`List all currency pairs available for OTC exchange. Read-only.`},{heading:`get_available_currency_pairs`,content:`**Parameters**`},{heading:`get_available_currency_pairs`,content:`None.`},{heading:`get_available_currency_pairs`,content:`**Returns**`},{heading:`get_available_currency_pairs`,content:'`{ pairs: string[] }` â each element is a tradeable pair in `BASE/QUOTE` format (e.g. `"USD/USDC"`, `"GBP/USDT"`).'},{heading:`otc-exchange`,content:"Requires `otc` module permission. The OTC flow is two steps: `get_otc_quote` â `confirm_otc_trade`. For error handling (HTTP 410 / 409), see Response Reference."},{heading:`get_exchange_quote`,content:`Fetch the current fromâto exchange rate without locking a quote or checking balance. Use for browsing rates or pre-lock math. Read-only.`},{heading:`get_exchange_quote`,content:`**Parameters**`},{heading:`get_exchange_quote`,content:`Name`},{heading:`get_exchange_quote`,content:`Type`},{heading:`get_exchange_quote`,content:`Required`},{heading:`get_exchange_quote`,content:`Notes`},{heading:`get_exchange_quote`,content:"`fromCurrency`"},{heading:`get_exchange_quote`,content:`string`},{heading:`get_exchange_quote`,content:`yes`},{heading:`get_exchange_quote`,content:'Source currency code (e.g. `"USD"`, `"USDT"`, `"SGD"`)'},{heading:`get_exchange_quote`,content:"`toCurrency`"},{heading:`get_exchange_quote`,content:`string`},{heading:`get_exchange_quote`,content:`yes`},{heading:`get_exchange_quote`,content:'Target currency code (e.g. `"USDT"`, `"BTC"`, `"EUR"`)'},{heading:`get_exchange_quote`,content:`**Returns**`},{heading:`get_exchange_quote`,content:"`{ rate: string }` â the decimal fromâto exchange rate. Multiply `fromCurrency` amount by `rate` to get the `toCurrency` amount. Does not lock a quote or reserve balance."},{heading:`get_otc_quote`,content:`Step 1 of OTC exchange. Locks a quote at a specific amount and performs a backend balance and limit check. Read-only.`},{heading:`get_otc_quote`,content:`**Parameters**`},{heading:`get_otc_quote`,content:`Name`},{heading:`get_otc_quote`,content:`Type`},{heading:`get_otc_quote`,content:`Required`},{heading:`get_otc_quote`,content:`Notes`},{heading:`get_otc_quote`,content:"`fromCurrency`"},{heading:`get_otc_quote`,content:`string`},{heading:`get_otc_quote`,content:`yes`},{heading:`get_otc_quote`,content:'Source currency code (e.g. `"USD"`, `"USDT"`)'},{heading:`get_otc_quote`,content:"`toCurrency`"},{heading:`get_otc_quote`,content:`string`},{heading:`get_otc_quote`,content:`yes`},{heading:`get_otc_quote`,content:'Target currency code (e.g. `"USDT"`, `"BTC"`)'},{heading:`get_otc_quote`,content:"`totalValue`"},{heading:`get_otc_quote`,content:`string`},{heading:`get_otc_quote`,content:`yes`},{heading:`get_otc_quote`,content:'Amount to exchange in source currency (e.g. `"1000"`, `"500.50"`)'},{heading:`get_otc_quote`,content:`**Returns**`},{heading:`get_otc_quote`,content:"On success: `{ quoteCode, exchangeRate, finalAmount, validityPeriod, fromCurrency, toCurrency, totalValue, expiry }`. On failure: `{ success: false, message }`."},{heading:`get_otc_quote`,content:`Field`},{heading:`get_otc_quote`,content:`Type`},{heading:`get_otc_quote`,content:`Description`},{heading:`get_otc_quote`,content:"`quoteCode`"},{heading:`get_otc_quote`,content:`string`},{heading:`get_otc_quote`,content:"Pass unchanged to `confirm_otc_trade`"}
1,{heading:`get_otc_quote`,content:"`exchangeRate`"},{heading:`get_otc_quote`,content:`string`},{heading:`get_otc_quote`,content:'Locked fromâto rate. May be `""` when pricing is unavailable â do **not** proceed to confirm in that case'},{heading:`get_otc_quote`,content:"`finalAmount`"},{heading:`get_otc_quote`,content:`string`},{heading:`get_otc_quote`,content:'Estimated receive amount in `toCurrency`. May be `""` when pricing is unavailable'},{heading:`get_otc_quote`,content:"`validityPeriod`"},{heading:`get_otc_quote`,content:`number`},{heading:`get_otc_quote`,content:`Seconds the user has to confirm (UX hint; the server keeps context for 5 minutes)`},{heading:`get_otc_quote`,content:"`expiry`"},{heading:`get_otc_quote`,content:`string`},{heading:`get_otc_quote`,content:`Absolute expiry timestamp (ISO 8601 UTC)`},{heading:`get_otc_quote`,content:"Always display `exchangeRate` and `finalAmount` to the user before calling `confirm_otc_trade`."},{heading:`confirm_otc_trade`,content:`Step 2 of OTC exchange. Executes the trade at the live rate.`},{heading:`confirm_otc_trade`,content:"The server re-fetches a fresh rate at confirm time; the executed `exchangeRate` and `finalAmount` in this response are the final settled values and may differ from the `get_otc_quote` values. Failures are HTTP errors: `410` = quote context expired; `409` = rate drift exceeded. On either error, do not auto-retry â call `get_otc_quote` again."},{heading:`confirm_otc_trade`,content:`**Parameters**`},{heading:`confirm_otc_trade`,content:`Name`},{heading:`confirm_otc_trade`,content:`Type`},{heading:`confirm_otc_trade`,content:`Required`},{heading:`confirm_otc_trade`,content:`Notes`},{heading:`confirm_otc_trade`,content:"`quoteCode`"},{heading:`confirm_otc_trade`,content:`string`},{heading:`confirm_otc_trade`,content:`yes`},{heading:`confirm_otc_trade`,content:"`quoteCode` returned by `get_otc_quote`"},{heading:`confirm_otc_trade`,content:`**Returns**`},{heading:`confirm_otc_trade`,content:"`{ id, tradeCode, point, exchangeRate?, finalAmount? }`"},{heading:`confirm_otc_trade`,content:`Field`},{heading:`confirm_otc_trade`,content:`Type`},{heading:`confirm_otc_trade`,content:`Description`},{heading:`confirm_otc_trade`,content:"`id`"},{heading:`confirm_otc_trade`,content:`number`},{heading:`confirm_otc_trade`,content:`Internal trade record ID`},{heading:`confirm_otc_trade`,content:"`tradeCode`"},{heading:`confirm_otc_trade`,content:`string`},{heading:`confirm_otc_trade`,content:`Transaction reference code â show as the trade identifier`},{heading:`confirm_otc_trade`,content:"`point`"},{heading:`confirm_otc_trade`,content:`string`},{heading:`confirm_otc_trade`,content:`Loyalty/reward points earned (decimal string)`},{heading:`confirm_otc_trade`,content:"`exchangeRate`"},{heading:`confirm_otc_trade`,content:`string (optional)`},{heading:`confirm_otc_trade`,content:`Actual executed exchange rate`},{heading:`confirm_otc_trade`,content:"`finalAmount`"},{heading:`confirm_otc_trade`,content:`string (optional)`},{heading:`confirm_otc_trade`,content:"Actual amount received in `toCurrency`"},{heading:`get_otc_trade_detail`,content:"Look up the full detail of a settled or pending OTC trade by its `tradeCode`. Read-only."},{heading:`get_otc_trade_detail`,content:`**Parameters**`},{heading:`get_otc_trade_detail`,content:`Name`},{heading:`get_otc_trade_detail`,content:`Type`},{heading:`get_otc_trade_detail`,content:`Required`},{heading:`get_otc_trade_detail`,content:`Notes`},{heading:`get_otc_trade_detail`,content:"`tradeCode`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`yes`},{heading:`get_otc_trade_detail`,content:"OTC trade code (e.g. the code returned by `confirm_otc_trade`)"},{heading:`get_otc_trade_detail`,content:`**Returns**`},{heading:`get_otc_trade_detail`,content:"`{ trade: object | null }` â `null` when no trade matches the code."},{heading:`get_otc_trade_detail`,content:"`trade` fields:"},{heading:`get_otc_trade_detail`,content:`Field`},{heading:`get_otc_trade_detail`,content:`Type`},{heading:`get_otc_trade_detail`,content:`Description`},{heading:`get_otc_trade_detail`,content:"`tradeCode`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Unique OTC trade code`},{heading:`get_otc_trade_detail`,content:"`tradeStatus`"},{heading:`get_otc_trade_detail`,content:`number`},{heading:`get_otc_trade_detail`,content:"Status code (e.g. `1` = pending, `4` = settled)"},{heading:`get_otc_trade_detail`,content:"`tradingAction`"},{heading:`get_otc_trade_detail`,content:`number`},{heading:`get_otc_trade_detail`,content:"`1` = buy base, `2` = sell base"},{heading:`get_otc_trade_detail`,content:"`buyerCode`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Buyer participant code`},{heading:`get_otc_trade_detail`,content:"`buyerName`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Buyer display name`},{heading:`get_otc_trade_detail`,content:"`sellerCode`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Seller participant code`},{heading:`get_otc_trade_detail`,content:"`sellerName`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Seller display name`},{heading:`get_otc_trade_detail`,content:"`baseCurrency`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Base currency code`},{heading:`get_otc_trade_detail`,content:"`quoteCurrency`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Quote currency code`},{heading:`get_otc_trade_detail`,content:"`baseQuantity`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Quantity of base currency`}
1,{heading:`get_otc_trade_detail`,content:"`quoteAmount`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Amount of quote currency exchanged`},{heading:`get_otc_trade_detail`,content:"`quotePrice`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Quoted rate before adjustments`},{heading:`get_otc_trade_detail`,content:"`finalPrice`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Final locked exchange rate`},{heading:`get_otc_trade_detail`,content:"`tradeTime`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Trade creation timestamp (ISO 8601)`},{heading:`get_otc_trade_detail`,content:"`settleTime`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Scheduled settlement timestamp (ISO 8601)`},{heading:`get_otc_trade_detail`,content:"`updatedTime`"},{heading:`get_otc_trade_detail`,content:`string`},{heading:`get_otc_trade_detail`,content:`Last status update timestamp (ISO 8601)`},{heading:`fiat-deposit`,content:"Requires `deposit` module permission."},{heading:`get_fiat_deposit_currencies`,content:`List fiat currencies available for deposit. Read-only.`},{heading:`get_fiat_deposit_currencies`,content:`**Parameters**`},{heading:`get_fiat_deposit_currencies`,content:`Name`},{heading:`get_fiat_deposit_currencies`,content:`Type`},{heading:`get_fiat_deposit_currencies`,content:`Required`},{heading:`get_fiat_deposit_currencies`,content:`Notes`},{heading:`get_fiat_deposit_currencies`,content:"`withdrawalParty`"},{heading:`get_fiat_deposit_currencies`,content:`string (enum)`},{heading:`get_fiat_deposit_currencies`,content:`no`},{heading:`get_fiat_deposit_currencies`,content:"`'first_party'` or `'third_party'`. Defaults to first-party"},{heading:`get_fiat_deposit_currencies`,content:"`isSameNameAccount`"},{heading:`get_fiat_deposit_currencies`,content:`boolean`},{heading:`get_fiat_deposit_currencies`,content:`no`},{heading:`get_fiat_deposit_currencies`,content:"`true` for named-account (same-name) deposit flow"},{heading:`get_fiat_deposit_currencies`,content:`**Returns**`},{heading:`get_fiat_deposit_currencies`,content:'`{ currencies: string[] }` â available fiat currency codes (e.g. `"USD"`, `"EUR"`, `"GBP"`).'},{heading:`get_deposit_bank_account`,content:`Get MetaComp's bank account details for a given currency (where to wire funds). Read-only.`},{heading:`get_deposit_bank_account`,content:`**Parameters**`},{heading:`get_deposit_bank_account`,content:`Name`},{heading:`get_deposit_bank_account`,content:`Type`},{heading:`get_deposit_bank_account`,content:`Required`},{heading:`get_deposit_bank_account`,content:`Notes`},{heading:`get_deposit_bank_account`,content:"`currency`"},{heading:`get_deposit_bank_account`,content:`string`},{heading:`get_deposit_bank_account`,content:`yes`},{heading:`get_deposit_bank_account`,content:'Fiat currency code (e.g. `"USD"`, `"EUR"`, `"GBP"`)'},{heading:`get_deposit_bank_account`,content:`**Returns**`},{heading:`get_deposit_bank_account`,content:"`{ accounts: [{ ownerName, ownerAddress, ownerCountryCode, baNumber, swiftCode, bankName, bankAddress, countryCode }] }` â MetaComp's receiving bank account details."},{heading:`get_fiat_deposit_bank_accounts`,content:`List payor bank accounts available for fiat deposit. Read-only.`},{heading:`get_fiat_deposit_bank_accounts`,content:`**Parameters**`},{heading:`get_fiat_deposit_bank_accounts`,content:`Name`},{heading:`get_fiat_deposit_bank_accounts`,content:`Type`},{heading:`get_fiat_deposit_bank_accounts`,content:`Required`},{heading:`get_fiat_deposit_bank_accounts`,content:`Notes`},{heading:`get_fiat_deposit_bank_accounts`,content:"`withdrawalParty`"},{heading:`get_fiat_deposit_bank_accounts`,content:`string (enum)`},{heading:`get_fiat_deposit_bank_accounts`,content:`yes`},{heading:`get_fiat_deposit_bank_accounts`,content:"`'first_party'` or `'third_party'`"},{heading:`get_fiat_deposit_bank_accounts`,content:`**Returns**`},{heading:`get_fiat_deposit_bank_accounts`,content:"`{ accounts: [{ baNumber, ownerName, ownerAddress?, ownerCountryCode?, swiftCode?, bankName?, bankAddress?, countryCode?, ownerType?, relationship?, ownerCorporateCountryCode?, baTag?, relationType? }] }` â payor bank accounts (own accounts for first-party; registered COBO payors for third-party)."},{heading:`get_third_party_fiat_deposit_estimate`,content:`Estimate a third-party (COBO) fiat deposit â fee calculation and bank account details. Read-only.`},{heading:`get_third_party_fiat_deposit_estimate`,content:`**Parameters**`},{heading:`get_third_party_fiat_deposit_estimate`,content:`Name`},{heading:`get_third_party_fiat_deposit_estimate`,content:`Type`},{heading:`get_third_party_fiat_deposit_estimate`,content:`Required`},{heading:`get_third_party_fiat_deposit_estimate`,content:`Notes`},{heading:`get_third_party_fiat_deposit_estimate`,content:"`currency`"},{heading:`get_third_party_fiat_deposit_estimate`,content:`string`},{heading:`get_third_party_fiat_deposit_estimate`,content:`yes`},{heading:`get_third_party_fiat_deposit_estimate`,content:'Fiat currency code (e.g. `"USD"`)'},{heading:`get_third_party_fiat_deposit_estimate`,content:"`amount`"},{heading:`get_third_party_fiat_deposit_estimate`,content:`string`},{heading:`get_third_party_fiat_deposit_estimate`,content:`yes`},{heading:`get_third_party_fiat_deposit_estimate`,content:`Deposit amount as positive decimal string`},{heading:`get_third_party_fiat_deposit_estimate`,content:"`feePayer`"},{heading:`get_third_party_fiat_deposit_estimate`,content:`string (enum)`},{heading:`get_third_party_fiat_deposit_estimate`,content:`yes`},{heading:`get_third_party_fiat_deposit_estimate`,content:"`'paid_by_me'` or `'paid_by_third_party'`"},{heading:`get_third_party_fiat_deposit_estimate`,content:"`baNumber`"},{heading:`get_third_party_fiat_deposit_estimate`,content:`string`},{heading:`get_third_party_fiat_deposit_estimate`,content:`yes`},{heading:`get_third_party_fiat_deposit_estimate`,content:"Payor bank account number â must be from `get_fiat_deposit_bank_accounts`"},{heading:`get_third_party_fiat_deposit_estimate`,content:"`isSameNameAccount`"},{heading:`get_third_party_fiat_deposit_estimate`,content:`boolean`},{heading:`get_third_party_fiat_deposit_estimate`,content:`no`},{heading:`get_third_party_fiat_deposit_estimate`,content:"`true` for named-account flow"},{heading:`get_third_party_fiat_deposit_estimate`,content:`**Returns**`},{heading:`get_third_party_fiat_deposit_estimate`,content:"`{ accountType: 'fiat', depositType, amountSent, estimatedServiceFee, estimatedAmountReceived, payorBankAccount, receiverBankAccount }`. Show fee and amounts to the user for confirmation before calling `execute_third_party_fiat_deposit_submit`."},{heading:`execute_third_party_fiat_deposit_submit`,content:`Submit a third-party (COBO) fiat deposit request.`},{heading:`execute_third_party_fiat_deposit_submit`,content:"Call `get_third_party_fiat_deposit_estimate` first and confirm fee/amounts with the user before calling this tool."},{heading:`execute_third_party_fiat_deposit_submit`,content:`**Parameters**`},{heading:`execute_third_party_fiat_deposit_submit`,content:`Name`},{heading:`execute_third_party_fiat_deposit_submit`,content:`Type`},{heading:`execute_third_party_fiat_deposit_submit`,content:`Required`},{heading:`execute_third_party_fiat_deposit_submit`,content:`Notes`},{heading:`execute_third_party_fiat_deposit_submit`,content:"`currency`"},{heading:`execute_third_party_fiat_deposit_submit`,content:`string`},{heading:`execute_third_party_fiat_deposit_submit`,content:`yes`},{heading:`execute_third_party_fiat_deposit_submit`,content:'Fiat currency code (e.g. `"USD"`)'},{heading:`execute_third_party_fiat_deposit_submit`,content:"`amount`"},{heading:`execute_third_party_fiat_deposit_submit`,content:`string`},{heading:`execute_third_party_fiat_deposit_submit`,content:`yes`},{heading:`execute_third_party_fiat_deposit_submit`,content:`Deposit amount as positive decimal string`},{heading:`execute_third_party_fiat_deposit_submit`,content:"`feePayer`"},{heading:`execute_third_party_fiat_deposit_submit`,content:`string (enum)`},{heading:`execute_third_party_fiat_deposit_submit`,content:`yes`},{heading:`execute_third_party_fiat_deposit_submit`,content:"`'paid_by_me'` or `'paid_by_third_party'`"},{heading:`execute_third_party_fiat_deposit_submit`,content:"`baNumber`"},{heading:`execute_third_party_fiat_deposit_submit`,content:`string`},{heading:`execute_third_party_fiat_deposit_submit`,content:`yes`},{heading:`execute_third_party_fiat_deposit_submit`,content:"Payor bank account number (from `get_fiat_deposit_bank_accounts`)"},{heading:`execute_third_party_fiat_deposit_submit`,content:"`isSameNameAccount`"},{heading:`execute_third_party_fiat_deposit_submit`,content:`boolean`},{heading:`execute_third_party_fiat_deposit_submit`,content:`no`},{heading:`execute_third_party_fiat_deposit_submit`,content:"`true` for named-account flow"},{heading:`execute_third_party_fiat_deposit_submit`,content:`**Returns**`},{heading:`execute_third_party_fiat_deposit_submit`,content:'`{ depositNumber: string }` â the deposit requirement number (e.g. `"DP2026..."`).'},{heading:`get_named_account_currencies`,content:`List fiat currencies supported for same-name (named) account transfers. Read-only.`},{heading:`get_named_account_currencies`,content:`**Parameters**`},{heading:`get_named_account_currencies`,content:`None.`},{heading:`get_named_account_currencies`,content:`**Returns**`},{heading:`get_named_account_currencies`,content:'`{ currencies: string[] }` â currency codes supporting named-account deposits (e.g. `"SGD"`, `"EUR"`, `"USD"`).'},{heading:`get_named_account_list`,content:`Get the user's registered same-name (named) bank accounts for first-party fiat transfers. Read-only.`},{heading:`get_named_account_list`,content:`**Parameters**`},{heading:`get_named_account_list`,content:`None.`},{heading:`get_named_account_list`,content:`**Returns**`},{heading:`get_named_account_list`,content:"`{ accounts: [{ baNumber, ownerName, ownerAddress?, ownerCountryCode?, swiftCode?, bankName?, bankAddress?, countryCode?, ... }] }` â the user's bound same-name bank account details. Call `get_named_account_currencies` first to confirm the selected currency supp
1orts named-account transfers."},{heading:`crypto-deposit`,content:"Requires `deposit` module permission."},{heading:`get_crypto_deposit_currencies`,content:`List crypto currencies available for deposit. Read-only.`},{heading:`get_crypto_deposit_currencies`,content:`**Parameters**`},{heading:`get_crypto_deposit_currencies`,content:`Name`},{heading:`get_crypto_deposit_currencies`,content:`Type`},{heading:`get_crypto_deposit_currencies`,content:`Required`},{heading:`get_crypto_deposit_currencies`,content:`Notes`},{heading:`get_crypto_deposit_currencies`,content:"`withdrawalParty`"},{heading:`get_crypto_deposit_currencies`,content:`string (enum)`},{heading:`get_crypto_deposit_currencies`,content:`no`},{heading:`get_crypto_deposit_currencies`,content:"`'first_party'` or `'third_party'`. Defaults to first-party"},{heading:`get_crypto_deposit_currencies`,content:`**Returns**`},{heading:`get_crypto_deposit_currencies`,content:'`{ currencies: string[] }` â available crypto currency codes (e.g. `"USDT"`, `"BTC"`, `"ETH"`).'},{heading:`get_crypto_deposit_networks`,content:`Get available blockchain networks for depositing a specific cryptocurrency. Read-only.`},{heading:`get_crypto_deposit_networks`,content:`**Parameters**`},{heading:`get_crypto_deposit_networks`,content:`Name`},{heading:`get_crypto_deposit_networks`,content:`Type`},{heading:`get_crypto_deposit_networks`,content:`Required`},{heading:`get_crypto_deposit_networks`,content:`Notes`},{heading:`get_crypto_deposit_networks`,content:"`currency`"},{heading:`get_crypto_deposit_networks`,content:`string`},{heading:`get_crypto_deposit_networks`,content:`yes`},{heading:`get_crypto_deposit_networks`,content:'Crypto currency code (e.g. `"USDT"`, `"BTC"`, `"ETH"`)'},{heading:`get_crypto_deposit_networks`,content:"`withdrawalParty`"},{heading:`get_crypto_deposit_networks`,content:`string (enum)`},{heading:`get_crypto_deposit_networks`,content:`no`},{heading:`get_crypto_deposit_networks`,content:"`'first_party'` or `'third_party'`. Defaults to first-party"},{heading:`get_crypto_deposit_networks`,content:`**Returns**`},{heading:`get_crypto_deposit_networks`,content:'`{ networks: string[] }` â supported blockchain networks (e.g. `"Ethereum"`, `"Tron"`, `"Bitcoin"`).'},{heading:`get_crypto_wallet_addresses`,content:`Get the user's crypto deposit wallet addresses for a blockchain network, with QR codes. Read-only.`},{heading:`get_crypto_wallet_addresses`,content:`**Parameters**`},{heading:`get_crypto_wallet_addresses`,content:`Name`},{heading:`get_crypto_wallet_addresses`,content:`Type`},{heading:`get_crypto_wallet_addresses`,content:`Required`},{heading:`get_crypto_wallet_addresses`,content:`Notes`},{heading:`get_crypto_wallet_addresses`,content:"`network`"},{heading:`get_crypto_wallet_addresses`,content:`string`},{heading:`get_crypto_wallet_addresses`,content:`yes`},{heading:`get_crypto_wallet_addresses`,content:'Blockchain network (e.g. `"Ethereum"`, `"Tron"`, `"Bitcoin"`)'},{heading:`get_crypto_wallet_addresses`,content:`**Returns**`},{heading:`get_crypto_wallet_addresses`,content:"`{ addresses: [{ walletAddress, qrCodeDataUrl }] }`. QR codes are also shipped as MCP image content blocks â most clients render them inline. Do not attempt to render the `data:` URL via markdown `![]()` in chat UIs."},{heading:`get_third_party_crypto_deposit_estimate`,content:`Estimate a third-party (COBO) crypto deposit â fee, wallet address, and QR code. Read-only.`},{heading:`get_third_party_crypto_deposit_estimate`,content:`**Parameters**`},{heading:`get_third_party_crypto_deposit_estimate`,content:`Name`},{heading:`get_third_party_crypto_deposit_estimate`,content:`Type`},{heading:`get_third_party_crypto_deposit_estimate`,content:`Required`},{heading:`get_third_party_crypto_deposit_estimate`,content:`Notes`},{heading:`get_third_party_crypto_deposit_estimate`,content:"`network`"},{heading:`get_third_party_crypto_deposit_estimate`,content:`string`},{heading:`get_third_party_crypto_deposit_estimate`,content:`yes`},{heading:`get_third_party_crypto_deposit_estimate`,content:'Blockchain network (e.g. `"Tron"`, `"Ethereum"`, `"Bitcoin"`)'},{heading:`get_third_party_crypto_deposit_estimate`,content:"`currency`"},{heading:`get_third_party_crypto_deposit_estimate`,content:`string`},{heading:`get_third_party_crypto_deposit_estimate`,content:`yes`},{heading:`get_third_party_crypto_deposit_estimate`,content:'Crypto currency code (e.g. `"USDT"`, `"BTC"`)'},{heading:`get_third_party_crypto_deposit_estimate`,content:"`amount`"},{heading:`get_third_party_crypto_deposit_estimate`,content:`string`},{heading:`get_third_party_crypto_deposit_estimate`,content:`yes`},{heading:`get_third_party_crypto_deposit_estimate`,content:`Deposit amount as positive decimal string`},{heading:`get_third_party_crypto_deposit_estimate`,content:"`feePayer`"},{heading:`get_third_party_crypto_deposit_estimate`,content:`string (enum)`},{heading:`get_third_party_crypto_deposit_estimate`,content:`yes`},{heading:`get_third_party_crypto_deposit_estimate`,content:"`'paid_by_me'` or `'paid_by_third_party'`"},{heading:`get_third_party_crypto_deposit_estimate`,content:`**Returns**`},{heading:`get_third_party_crypto_deposit_estimate`,content:"`{ accountType: 'crypto', depositType, feePayer, amountSent, estimatedServiceFee, estimatedAmountReceived, walletAddress, qrCodeDataUrl }`."},{heading:`withdrawal`,content:"Requires `withdrawal` module permission. Always call `get_withdrawal_quote` before executing to confirm service fee and minimum amount. For third-party withdrawals, `purposeOfTransaction` is required on execute calls."},{heading:`get_withdrawal_currencies`,content:`List currencies available for withdrawal. Read-only.`},{heading:`get_withdrawal_currencies`,content:`**Parameters**`},{heading:`get_withdrawal_currencies`,content:`Name`},{heading:`get_withdrawal_currencies`,content:`Type`},{heading:`get_withdrawal_currencies`,content:`Required`},{heading:`get_withdrawal_currencies`,content:`Notes`},{heading:`get_withdrawal_currencies`,content:"`currencyType`"},{heading:`get_withdrawal_currencies`,content:"`1` or `2` (integer literal)"},{heading:`get_withdrawal_currencies`,content:`yes`},{heading:`get_withdrawal_currencies`,content:"`1` = fiat, `2` = crypto"},{heading:`get_withdrawal_currencies`,content:"`withdrawalParty`"},{heading:`get_withdrawal_currencies`,content:"`1` or `2` (integer literal)"},{heading:`get_withdrawal_currencies`,content:`yes`},{heading:`get_withdrawal_currencies`,content:"`1` = first-party, `2` = third-party"},{heading:`get_withdrawal_currencies`,content:"`isSameNameAccount`"},{heading:`get_withdrawal_currencies`,content:`boolean`},{heading:`get_withdrawal_currencies`,content:`no`},{heading:`get_withdrawal_currencies`,content:"Fiat only; `true` = same-name account path. Must be omitted or `false` when `currencyType = 2`"},{heading:`get_withdrawal_currencies`,content:`**Returns**`},{heading:`get_withdrawal_currencies`,content:"`{ currencies: string[] }` â currency codes available for withdrawal."},{heading:`get_withdrawal_quote`,content:`Get the service fee and minimum withdrawal amount in a single call. Read-only.`},{heading:`get_withdrawal_quote`,content:`**Parameters**`},{heading:`get_withdrawal_quote`,content:`Name`},{heading:`get_withdrawal_quote`,content:`Type`},{heading:`get_withdrawal_quote`,content:`Required`},{heading:`get_withdrawal_quote`,content:`Notes`},{heading:`get_withdrawal_quote`,content:"`withdrawalParty`"},{heading:`get_withdrawal_quote`,content:"`1` or `2` (integer literal)"},{heading:`get_withdrawal_quote`,content:`yes`},{heading:`get_withdrawal_quote`,content:"`1` = first-party, `2` = third-party"},{heading:`get_withdrawal_quote`,content:"`currency`"},{heading:`get_withdrawal_quote`,content:`string`},{heading:`get_withdrawal_quote`,content:`yes`},{heading:`get_withdrawal_quote`,content:`Uppercase alphanumeric currency code`},{heading:`get_withdrawal_quote`,content:"`amount`"},{heading:`get_withdrawal_quote`,content:`string`},{heading:`get_withdrawal_quote`,content:`yes`},{heading:`get_withdrawal_quote`,content:`Withdrawal amount as positive decimal string`},{heading:`get_withdrawal_quote`,content:"`isSameNameAccount`"},{heading:`get_withdrawal_quote`,content:`boolean`},{heading:`get_withdrawal_quote`,content:`no`},{heading:`get_withdrawal_quote`,content:`Fiat only`},{heading:`get_withdrawal_quote`,content:`**Returns**`},{heading:`get_withdrawal_quote`,content:"`{ fee: { serviceFee: string }, minimumAmount: { minimumAmount: number } }`."},{heading:`get_fiat_withdrawal_bank_accounts`,content:`List non-same-name fiat withdrawal bank accounts (regular bound accounts). Read-only.`},{heading:`get_fiat_withdrawal_bank_accounts`,content:`**Parameters**`},{heading:`get_fiat_withdrawal_bank_accounts`,content:`None.`},{heading:`get_fiat_withdrawal_bank_accounts`,content:`**Returns**`},{heading:`get_fiat_withdrawal_bank_accounts`,content:"`{ accounts: [{ baNumber, ownerName, ownerAddress?, ownerCountryCode?, swiftCode?, bankName?, bankAddress?, countryCode?, ownerType?, ... }] }`. For same-name accounts, use `get_named_account_list` instead."},{heading:`execute_fiat_withdrawal`,content:`Execute a fiat withdrawal.`},{heading:`execute_fiat_withdrawal`,content:"Confirm fee and minimum with `get_withdrawal_quote` and confirm the destination bank account with the user before calling this tool."},{heading:`execute_fiat_withdrawal`,content:`**Parameters**`},{heading:`execute_fiat_withdrawal`,content:`Name`},{heading:`execute_fiat_withdrawal`,content:`Type`},{heading:`execute_fiat_withdrawal`,content:`Required`},{heading:`execute_fiat_withdrawal`,content:`Notes`},{heading:`execute_fiat_withdrawal`,content:"`withdrawalParty`"},{heading:`execute_fiat_withdrawal`,content:"`1` or `2` (integer literal)"},{heading:`execute_fiat_withdrawal`,content:`yes`},{heading:`execute_fiat_withdrawal`,content:"`1` = first-party, `2` = third-party"},{heading:`execute_fiat_withdrawal`,content:"`currency`"},{heading:`execute_fiat_withdrawal`,content:`string`},{heading:`execute_fiat_withdrawal`,content:`yes`},{heading:`execute_fiat_withdrawal`,content:`Uppercase alphabetic fiat currency code`},{heading:`execute_fiat_withdrawal`,content:"`amount`"},{heading:`execute_fiat_withdrawal`,content:`string`},{heading:`execute_fiat_withdrawal`,content:`yes`},{heading:`execute_fiat_withdrawal`,content:`Withdrawal amount as positive decimal string`},{heading:`execute_fiat_withdrawal`,content:"`bankAccountNumber`"},{heading:`execute_fiat_withdrawal`,content:`string`},{heading:`execute_fiat_withdrawal`,content:`yes`},{heading:`execute_fiat_withdrawal`,content:`Destination bank account number`},{heading:`execute_fiat_withdrawal`,content:"`verificationCode`"},{heading:`execute_fiat_withdrawal`,content:`string`},{heading:`execute_fiat_withdrawal`,content:`yes`},{heading:`execute_fiat_withdrawal`,content:`One-time verification code from MetaComp authentication`},{heading:`execute_fiat_withdrawal`,content:"`chargeType`"},{heading:`execute_fiat_withdrawal`,content:`integer (1â3)`},{heading:`execute_fiat_withdrawal`,content:`no`},{heading:`execute_fiat_withdrawal`,content:"`1` = beneficiary bears fee, `2` = sender bears fee, `3` = shared"},{heading:`execute_fiat_withdrawal`,content:"`isSameNameAccount`"},{heading:`execute_fiat_withdrawal`,content:`boolean`},{heading:`execute_fiat_withdrawal`,content:`no`},{heading:`execute_fiat_withdrawal`,content:"`true` for same-name account path (fiat only)"},{heading:`execute_fiat_withdrawal`,content:"`purposeOfTransaction`"},{heading:`execute_fiat_withdrawal`,content:`string`},{heading:`execute_fiat_withdrawal`,content:`conditional`},{heading:`execute_fiat_withdrawal`,content:"Required when `withdrawalParty = 2` (third-party)"},{heading:`execute_fiat_withdrawal`,content:`**Returns**`},{heading:`execute_fiat_withdrawal`,content:"`{ txCode, currency, status, withdrawalAmount?, chargeAmount?, totalChargeAmount?, amountReceived?, to?, network?, createAt?, updateAt? }`. See Response Reference."},{heading:`get_crypto_withdrawal_wallets`,content:`Get crypto wallet addresses for withdrawal, filtered by party type. Read-only.`},{heading:`get_crypto_withdrawal_wallets`,content:`**Parameters**`},{heading:`get_crypto_withdrawal_wallets`,content:`Name`},{heading:`get_crypto_withdrawal_wallets`,content:`Type`},{heading:`get_crypto_withdrawal_wallets`,content:`Required`},{heading:`get_crypto_withdrawal_wallets`,content:`Notes`},{heading:`get_crypto_withdrawal_wallets`,content:"`withdrawalParty`"},{heading:`get_crypto_withdrawal_wallets`,content:"`1` or `2` (integer literal)"},{heading:`get_crypto_withdrawal_wallets`,content:`yes`},{heading:`get_crypto_withdrawal_wallets`,content:"`1` = first-party (own wallets), `2` = third-party (beneficiary wallets)"},{heading:`get_crypto_withdrawal_wallets`,content:`**Returns**`},{heading:`get_crypto_withdrawal_wallets`,content:"`{ wallets: [{ walletAddress, network, walletTag, ownerName }] }`."},{heading:`execute_crypto_withdrawal`,content:`Execute a cryptocurrency withdrawal.`},{heading:`execute_crypto_withdrawal`,content:"For third-party (`withdrawalParty = 2`): call `upload_file` first to obtain a file `id`, then pass it as `proof`. Both `proof` and `purposeOfTransaction` are required for third-party. Missing either will fail server-side validation."},{heading:`execute_crypto_withdrawal`,content:`**Parameters**`},{heading:`execute_crypto_withdrawal`,content:`Name`},{heading:`execute_crypto_withdrawal`,content:`Type`},{heading:`execute_crypto_withdrawal`,content:`Required`},{heading:`execute_crypto_withdrawal`,content:`Notes`},{heading:`execute_crypto_withdrawal`,content:"`withdrawalParty`"},{heading:`execute_crypto_withdrawal`,content:"`1` or `2` (integer literal)"},{heading:`execute_crypto_withdrawal`,content:`yes`},{heading:`execute_crypto_withdrawal`,content:"`1` = first-party, `2` = third-party"},{heading:`execute_crypto_withdrawal`,content:"`currency`"},{heading:`execute_crypto_withdrawal`,content:`string`},{heading:`execute_crypto_withdrawal`,content:`yes`},{heading:`execute_crypto_withdrawal`,content:`Uppercase alphanumeric crypto currency code`},{heading:`execute_crypto_withdrawal`,content:"`amount`"},{heading:`execute_crypto_withdrawal`,content:`string`},{heading:`execute_crypto_withdrawal`,content:`yes`},{heading:`execute_crypto_withdrawal`,content:`Withdrawal amount as positive decimal string`},{heading:`execute_crypto_withdrawal`,content:"`walletAddress`"},{heading:`execute_crypto_withdrawal`,content:`string`},{heading:`execute_crypto_withdrawal`,content:`yes`},{heading:`execute_crypto_withdrawal`,content:`Destination wallet address`},{heading:`execute_crypto_withdrawal`,content:"`network`"},{heading:`execute_crypto_withdrawal`,content:`string`},{heading:`execute_crypto_withdrawal`,content:`yes`},{heading:`execute_crypto_withdrawal`,content:`Blockchain network (must be supported for the currency)`},{heading:`execute_crypto_withdrawal`,content:"`verificationCode`"},{heading:`execute_crypto_withdrawal`,content:`string`},{heading:`execute_crypto_withdrawal`,content:`yes`},{heading:`execute_crypto_withdrawal`,content:`One-time verification code from MetaComp authentication`},{heading:`execute_crypto_withdrawal`,content:"`proof`"},{heading:`execute_crypto_withdrawal`,content:`integer`},{heading:`execute_crypto_withdrawal`,content:`conditional`},{heading:`execute_crypto_withdrawal`,content:"File `id` from `upload_file`. Required when `withdrawalParty = 2`"},{heading:`execute_crypto_withdrawal`,content:"`purposeOfTransaction`"},{heading:`execute_crypto_withdrawal`,content:`string`},{heading:`execute_crypto_withdrawal`,content:`conditional`},{heading:`execute_crypto_withdrawal`,content:"Free-text purpose. Required when `withdrawalParty = 2`"},{heading:`execute_crypto_withdrawal`,content:`**Returns**`},{heading:`execute_crypto_withdrawal`,content:"`{ txCode, currency, status, withdrawalAmount?, chargeAmount?, totalChargeAmount?, amountReceived?, to?, network?, createAt?, updateAt? }`. See Response Reference."}
1,{heading:`upload_file`,content:`Upload a supporting document as a base64 string.`},{heading:`upload_file`,content:"Required before `execute_crypto_withdrawal` when `withdrawalParty = 2`. The returned `id` is passed as `proof`."},{heading:`upload_file`,content:`**Parameters**`},{heading:`upload_file`,content:`Name`},{heading:`upload_file`,content:`Type`},{heading:`upload_file`,content:`Required`},{heading:`upload_file`,content:`Notes`},{heading:`upload_file`,content:"`fileBase64`"},{heading:`upload_file`,content:`string`},{heading:`upload_file`,content:`yes`},{heading:`upload_file`,content:`Base64-encoded file content. Max \\~7M chars (â 5MB binary)`},{heading:`upload_file`,content:"`originalName`"},{heading:`upload_file`,content:`string`},{heading:`upload_file`,content:`yes`},{heading:`upload_file`,content:'Original file name with extension (e.g. `"invoice.pdf"`). Recorded for audit trail'},{heading:`upload_file`,content:"`mimeType`"},{heading:`upload_file`,content:`string`},{heading:`upload_file`,content:`no`},{heading:`upload_file`,content:'MIME type (e.g. `"application/pdf"`, `"image/png"`). Defaults to `"application/octet-stream"`'},{heading:`upload_file`,content:`**Returns**`},{heading:`upload_file`,content:"`{ id: number, physicalName: string }`. Use `id` as the `proof` parameter in `execute_crypto_withdrawal`."},{heading:`get_deposit_list`,content:`Query paginated deposit transaction records. Read-only.`},{heading:`get_deposit_list`,content:`**Parameters**`},{heading:`get_deposit_list`,content:`Name`},{heading:`get_deposit_list`,content:`Type`},{heading:`get_deposit_list`,content:`Required`},{heading:`get_deposit_list`,content:`Notes`},{heading:`get_deposit_list`,content:"`pageNum`"},{heading:`get_deposit_list`,content:`integer ⥠1`},{heading:`get_deposit_list`,content:`yes`},{heading:`get_deposit_list`,content:`Page number, starting from 1`},{heading:`get_deposit_list`,content:"`pageSize`"},{heading:`get_deposit_list`,content:`integer 1â100`},{heading:`get_deposit_list`,content:`yes`},{heading:`get_deposit_list`,content:`Records per page (max 100)`},{heading:`get_deposit_list`,content:"`payeeAccountType`"},{heading:`get_deposit_list`,content:`number`},{heading:`get_deposit_list`,content:`yes`},{heading:`get_deposit_list`,content:"`1` = fiat deposits, `2` = crypto deposits"},{heading:`get_deposit_list`,content:"`startTime`"},{heading:`get_deposit_list`,content:`string`},{heading:`get_deposit_list`,content:`no`},{heading:`get_deposit_list`,content:'Start of time range: `"YYYY-MM-DD HH:mm:ss"`'},{heading:`get_deposit_list`,content:"`endTime`"},{heading:`get_deposit_list`,content:`string`},{heading:`get_deposit_list`,content:`no`},{heading:`get_deposit_list`,content:'End of time range: `"YYYY-MM-DD HH:mm:ss"`'},{heading:`get_deposit_list`,content:`**Returns**`},{heading:`get_deposit_list`,content:"`{ total, list, pageNum, pageSize, pages }`. Each `list` item: `{ paymentCode, status, statusDesc, currency, totalAmount, receiveAmount, chargeAmount, detail, createAt, updateAt, payerCode, payerName, payeeCode, payeeName, coboInfo, ... }`."},{heading:`get_deposit_list`,content:"Amounts (`totalAmount`, `receiveAmount`, `chargeAmount`) are **integers in minor units** â divide by `10^decimals`. See Response Reference."},{heading:`get_withdrawal_list`,content:`Query paginated withdrawal transaction records. Read-only.`},{heading:`get_withdrawal_list`,content:`**Parameters**`},{heading:`get_withdrawal_list`,content:`Name`},{heading:`get_withdrawal_list`,content:`Type`},{heading:`get_withdrawal_list`,content:`Required`},{heading:`get_withdrawal_list`,content:`Notes`},{heading:`get_withdrawal_list`,content:"`pageNum`"},{heading:`get_withdrawal_list`,content:`integer ⥠1`},{heading:`get_withdrawal_list`,content:`yes`},{heading:`get_withdrawal_list`,content:`Page number, starting from 1`},{heading:`get_withdrawal_list`,content:"`pageSize`"},{heading:`get_withdrawal_list`,content:`integer 1â100`},{heading:`get_withdrawal_list`,content:`yes`},{heading:`get_withdrawal_list`,content:`Records per page (max 100)`},{heading:`get_withdrawal_list`,content:"`payeeAccountType`"},{heading:`get_withdrawal_list`,content:`number`},{heading:`get_withdrawal_list`,content:`yes`},{heading:`get_withdrawal_list`,content:"`1` = fiat withdrawals, `2` = crypto withdrawals"},{heading:`get_withdrawal_list`,content:"`startTime`"},{heading:`get_withdrawal_list`,content:`string`},{heading:`get_withdrawal_list`,content:`no`},{heading:`get_withdrawal_list`,content:'Start of time range: `"YYYY-MM-DD HH:mm:ss"`'},{heading:`get_withdrawal_list`,content:"`endTime`"},{heading:`get_withdrawal_list`,content:`string`},{heading:`get_withdrawal_list`,content:`no`},{heading:`get_withdrawal_list`,content:'End of time range: `"YYYY-MM-DD HH:mm:ss"`'},{heading:`get_withdrawal_list`,content:`**Returns**`},{heading:`get_withdrawal_list`,content:"`{ total, list, pageNum, pageSize, pages }`. Each `list` item: `{ paymentCode, status, statusDesc, currency, totalAmount, receiveAmount, chargeAmount, paymentType, purposeOfTransaction, pathTo, fee, feeRate, detail, createAt, updateAt, coboInfo, poboInfo, ... }`."},{heading:`get_withdrawal_list`,content:"`paymentType`: `21` = first-party, `22` = third-party. Amou
1nts are **integers in minor units** â divide by `10^decimals`. See Response Reference."},{heading:`fixed-income`,content:"Requires `wealth` module permission. Always call `investor_precheck` before `fip_subscribe` to verify required agreements are signed."},{heading:`get_fip_products`,content:`Query available MetaComp Wealth Fixed Income Products. Read-only.`},{heading:`get_fip_products`,content:`**Parameters**`},{heading:`get_fip_products`,content:`None.`},{heading:`get_fip_products`,content:`**Returns**`},{heading:`get_fip_products`,content:"`{ success, code, msg, data, currencyConvertInfoList? }`"},{heading:`get_fip_products`,content:"`data` is an array of products:"},{heading:`get_fip_products`,content:`Field`},{heading:`get_fip_products`,content:`Type`},{heading:`get_fip_products`,content:`Description`},{heading:`get_fip_products`,content:"`productCode`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:`Internal product code`},{heading:`get_fip_products`,content:"`productName`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:`Display name`},{heading:`get_fip_products`,content:"`productType`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:"Category (currently `FIP`)"},{heading:`get_fip_products`,content:"`term`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:'Human-readable term (e.g. `"Flexible"`, `"30 Days"`)'},{heading:`get_fip_products`,content:"`termType`"},{heading:`get_fip_products`,content:`integer`},{heading:`get_fip_products`,content:"`1` = flexible/open term, `2` = fixed term"},{heading:`get_fip_products`,content:"`sort`"},{heading:`get_fip_products`,content:`integer`},{heading:`get_fip_products`,content:`Sort order`},{heading:`get_fip_products`,content:"`estApr`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:`Estimated APR or range (percentage string)`},{heading:`get_fip_products`,content:"`currencyItemList`"},{heading:`get_fip_products`,content:`array`},{heading:`get_fip_products`,content:`Supported currency options (see below)`},{heading:`get_fip_products`,content:"Each `currencyItemList` entry:"},{heading:`get_fip_products`,content:`Field`},{heading:`get_fip_products`,content:`Type`},{heading:`get_fip_products`,content:`Description`},{heading:`get_fip_products`,content:"`id`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:"Currency item unique identifier â pass to `fip_subscribe`"},{heading:`get_fip_products`,content:"`currency`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:'Currency code (e.g. `"USD"`, `"USDT"`, `"USDC"`, `"BTC"`, `"ETH"`)'},{heading:`get_fip_products`,content:"`estApr`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:`APR for this currency option`},{heading:`get_fip_products`,content:"`term`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:`Human-readable term`},{heading:`get_fip_products`,content:"`termType`"},{heading:`get_fip_products`,content:`integer`},{heading:`get_fip_products`,content:"`1` = flexible, `2` = fixed"},{heading:`get_fip_products`,content:"`termDays`"},{heading:`get_fip_products`,content:`integer`},{heading:`get_fip_products`,content:`Term in days; negative values indicate flexible settlement products`},{heading:`get_fip_products`,content:"`liquidity`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:'Settlement description (e.g. `"(T + 1 Settlement)"`)'},{heading:`get_fip_products`,content:"`mhp`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:`Minimum holding period description; empty string if not specified`},{heading:`get_fip_products`,content:"`issuer`"},{heading:`get_fip_products`,content:`string`},{heading:`get_fip_products`,content:`Issuer name`},{heading:`get_fip_agreement`,content:`Query FIP agreement documents (PDF links) for a specific product and currency. Read-only.`},{heading:`get_fip_agreement`,content:`**Parameters**`},{heading:`get_fip_agreement`,content:`Name`},{heading:`get_fip_agreement`,content:`Type`},{heading:`get_fip_agreement`,content:`Required`},{heading:`get_fip_agreement`,content:`Notes`},{heading:`get_fip_agreement`,content:"`productType`"},{heading:`get_fip_agreement`,content:`string`},{heading:`get_fip_agreement`,content:`yes`},{heading:`get_fip_agreement`,content:'Product category (e.g. `"FIP"`)'}
1,{heading:`get_fip_agreement`,content:"`productCode`"},{heading:`get_fip_agreement`,content:`string`},{heading:`get_fip_agreement`,content:`yes`},{heading:`get_fip_agreement`,content:'Product code (e.g. `"FIP_OpenTerm_T+1"`, `"FIP_30Days"`)'},{heading:`get_fip_agreement`,content:"`currency`"},{heading:`get_fip_agreement`,content:`string`},{heading:`get_fip_agreement`,content:`yes`},{heading:`get_fip_agreement`,content:'Currency code (e.g. `"USD"`, `"USDT"`, `"USDC"`, `"BTC"`, `"ETH"`)'},{heading:`get_fip_agreement`,content:`**Returns**`},{heading:`get_fip_agreement`,content:"`{ agreements: [{ product_type, product_code, currency, url, show_name, sort, term_days }] }`. `url` is a PDF download link. Present the agreement document to the user before subscribing."},{heading:`investor_precheck`,content:`Check whether the user has completed required investor agreements and declarations. Read-only.`},{heading:`investor_precheck`,content:`**Parameters**`},{heading:`investor_precheck`,content:`None.`},{heading:`investor_precheck`,content:`**Returns**`},{heading:`investor_precheck`,content:`Field`},{heading:`investor_precheck`,content:`Type`},{heading:`investor_precheck`,content:`Description`},{heading:`investor_precheck`,content:"`Master Brokerage Agreement & Trading Rules`"},{heading:`investor_precheck`,content:`boolean`},{heading:`investor_precheck`,content:`Whether the Master Brokerage Agreement has been signed`},{heading:`investor_precheck`,content:"`investorDeclarationTag`"},{heading:`investor_precheck`,content:`boolean`},{heading:`investor_precheck`,content:`Whether the investor declaration has been completed`},{heading:`investor_precheck`,content:"If either field is `false`, the user must complete that step before subscribing to a FIP product."},{heading:`fip_subscribe`,content:`Subscribe to a MetaComp Wealth Fixed Income Product.`},{heading:`fip_subscribe`,content:"Call `investor_precheck` and present the `get_fip_agreement` document to the user before calling this tool."},{heading:`fip_subscribe`,content:`**Parameters**`},{heading:`fip_subscribe`,content:`Name`},{heading:`fip_subscribe`,content:`Type`},{heading:`fip_subscribe`,content:`Required`},{heading:`fip_subscribe`,content:`Notes`},{heading:`fip_subscribe`,content:"`id`"},{heading:`fip_subscribe`,content:`string`},{heading:`fip_subscribe`,content:`yes`},{heading:`fip_subscribe`,content:"Currency item ID from `get_fip_products` (`currencyItemList[].id`)"},{heading:`fip_subscribe`,content:"`currency`"},{heading:`fip_subscribe`,content:`string`},{heading:`fip_subscribe`,content:`yes`},{heading:`fip_subscribe`,content:'Currency code (e.g. `"USD"`, `"USDT"`, `"USDC"`, `"BTC"`, `"ETH"`)'},{heading:`fip_subscribe`,content:"`termDays`"},{heading:`fip_subscribe`,content:`integer`},{heading:`fip_subscribe`,content:`yes`},{heading:`fip_subscribe`,content:"Term length in days. Use negative values for flexible products (e.g. `-2` for T+1 settlement, `-1` for T+3)"},{heading:`fip_subscribe`,content:"`subscriptionAmount`"},{heading:`fip_subscribe`,content:`number`},{heading:`fip_subscribe`,content:`yes`},{heading:`fip_subscribe`,content:`Subscription amount in the specified currency`},{heading:`fip_subscribe`,content:`**Returns**`},{heading:`fip_subscribe`,content:"`{ success, code, msg, data, currencyConvertInfoList? }`"},{heading:`fip_subscribe`,content:"`data` fields:"},{heading:`fip_subscribe`,content:`Field`},{heading:`fip_subscribe`,content:`Type`},{heading:`fip_subscribe`,content:`Description`},{heading:`fip_subscribe`,content:"`currency`"},{heading:`fip_subscribe`,content:`string`},{heading:`fip_subscribe`,content:`Subscribed currency`},{heading:`fip_subscribe`,content:"`subscriptionAmount`"},{heading:`fip_subscribe`,content:`string`},{heading:`fip_subscribe`,content:`Confirmed subscription amount`},{heading:`fip_subscribe`,content:"`subscriptionDate`"},{heading:`fip_subscribe`,content:`string or null`},{heading:`fip_subscribe`,content:'Subscription date (e.g. `"2026-04-09"`); null if not yet determined'},{heading:`fip_subscribe`,content:"`returnsAccrualStartDate`"},{heading:`fip_subscribe`,content:`string or null`},{heading:`fip_subscribe`,content:`Date returns start accruing; null if not yet determined`},{heading:`fip_subscribe`,content:"`initialRedemptionOpeningDay`"},{heading:`fip_subscribe`,content:`string or null`},{heading:`fip_subscribe`,content:`Earliest redemption date; null if not yet determined`},{heading:`fip_subscribe`,content:"`settlementDate`"},{heading:`fip_subscribe`,content:`string or null`},{heading:`fip_subscribe`,content:`Settlement date; null if not yet determined`}],headings:[{id:`accounts`,content:`Accounts`},{id:`get_account_summary`,content:`get_account_summary`},{id:`get_account_detail`,content:`get_account_detail`},{id:`get_module_permissions`,content:`get_module_permissions`},{id:`get_available_currency_pairs`,content:`get_available_currency_pairs`},{id:`otc-exchange`,content:`OTC Exchange`},{id:`get_exchange_quote`,content:`get_exchange_quote`},{id:`get_otc_quote`,content:`get_otc_quote`},{id:`confirm_otc_trade`,content:`confirm_otc_trade`},{id:`get_otc_trade_detail`,content:`get_otc_trade_detail`},{id:`fiat-deposit`,content:`Fiat Deposit`},{id:`get_fiat_deposit_currencies`,content:`get_fiat_deposit_currencies`},{id:`get_deposit_bank_account`,content:`get_deposit_bank_account`},{id:`get_fiat_deposit_bank_accounts`,content:`get_fiat_deposit_bank_accounts`},{id:`get_third_party_fiat_deposit_estimate`,content:`get_third_party_fiat_deposit_estimate`},{id:`execute_third_party_fiat_deposit_submit`,content:`execute_third_party_fiat_deposit_submit`},{id:`get_named_account_currencies`,content:`get_named_account_currencies`},{id:`get_named_account_list`,content:`get_named_account_list`},{id:`crypto-deposit`,content:`Crypto Deposit`},{id:`get_crypto_deposit_currencies`,content:`get_crypto_deposit_currencies`},{id:`get_crypto_deposit_networks`,content:`get_crypto_deposit_networks`},{id:`get_crypto_wallet_addresses`,content:`get_crypto_wallet_addresses`},{id:`get_third_party_crypto_deposit_estimate`,content:`get_third_party_crypto_deposit_estimate`}
1,{id:`withdrawal`,content:`Withdrawal`},{id:`get_withdrawal_currencies`,content:`get_withdrawal_currencies`},{id:`get_withdrawal_quote`,content:`get_withdrawal_quote`},{id:`get_fiat_withdrawal_bank_accounts`,content:`get_fiat_withdrawal_bank_accounts`},{id:`execute_fiat_withdrawal`,content:`execute_fiat_withdrawal`},{id:`get_crypto_withdrawal_wallets`,content:`get_crypto_withdrawal_wallets`},{id:`execute_crypto_withdrawal`,content:`execute_crypto_withdrawal`},{id:`upload_file`,content:`upload_file`},{id:`history`,content:`History`},{id:`get_deposit_list`,content:`get_deposit_list`},{id:`get_withdrawal_list`,content:`get_withdrawal_list`},{id:`fixed-income`,content:`Fixed Income`},{id:`get_fip_products`,content:`get_fip_products`},{id:`get_fip_agreement`,content:`get_fip_agreement`},{id:`investor_precheck`,content:`investor_precheck`},{id:`fip_subscribe`,content:`fip_subscribe`}]},s=[{depth:2,url:`#accounts`,title:(0,i.jsx)(i.Fragment,{children:`Accounts`})},{depth:3,url:`#get_account_summary`,title:(0,i.jsx)(i.Fragment,{children:`get_account_summary`})},{depth:3,url:`#get_account_detail`,title:(0,i.jsx)(i.Fragment,{children:`get_account_detail`})},{depth:3,url:`#get_module_permissions`,title:(0,i.jsx)(i.Fragment,{children:`get_module_permissions`})},{depth:3,url:`#get_available_currency_pairs`,title:(0,i.jsx)(i.Fragment,{children:`get_available_currency_pairs`})},{depth:2,url:`#otc-exchange`,title:(0,i.jsx)(i.Fragment,{children:`OTC Exchange`})},{depth:3,url:`#get_exchange_quote`,title:(0,i.jsx)(i.Fragment,{children:`get_exchange_quote`})},{depth:3,url:`#get_otc_quote`,title:(0,i.jsx)(i.Fragment,{children:`get_otc_quote`})},{depth:3,url:`#confirm_otc_trade`,title:(0,i.jsx)(i.Fragment,{children:`confirm_otc_trade`})},{depth:3,url:`#get_otc_trade_detail`,title:(0,i.jsx)(i.Fragment,{children:`get_otc_trade_detail`})},{depth:2,url:`#fiat-deposit`,title:(0,i.jsx)(i.Fragment,{children:`Fiat Deposit`})},{depth:3,url:`#get_fiat_deposit_currencies`,title:(0,i.jsx)(i.Fragment,{children:`get_fiat_deposit_currencies`})},{depth:3,url:`#get_deposit_bank_account`,title:(0,i.jsx)(i.Fragment,{children:`get_deposit_bank_account`})},{depth:3,url:`#get_fiat_deposit_bank_accounts`,title:(0,i.jsx)(i.Fragment,{children:`get_fiat_deposit_bank_accounts`})},{depth:3,url:`#get_third_party_fiat_deposit_estimate`,title:(0,i.jsx)(i.Fragment,{children:`get_third_party_fiat_deposit_estimate`})},{depth:3,url:`#execute_third_party_fiat_deposit_submit`,title:(0,i.jsx)(i.Fragment,{children:`execute_third_party_fiat_deposit_submit`})},{depth:3,url:`#get_named_account_currencies`,title:(0,i.jsx)(i.Fragment,{children:`get_named_account_currencies`})},{depth:3,url:`#get_named_account_list`,title:(0,i.jsx)(i.Fragment,{children:`get_named_account_list`})},{depth:2,url:`#crypto-deposit`,title:(0,i.jsx)(i.Fragment,{children:`Crypto Deposit`})},{depth:3,url:`#get_crypto_deposit_currencies`,title:(0,i.jsx)(i.Fragment,{children:`get_crypto_deposit_currencies`})},{depth:3,url:`#get_crypto_deposit_networks`,title:(0,i.jsx)(i.Fragment,{children:`get_crypto_deposit_networks`})},{depth:3,url:`#get_crypto_wallet_addresses`,title:(0,i.jsx)(i.Fragment,{children:`get_crypto_wallet_addresses`})},{depth:3,url:`#get_third_party_crypto_deposit_estimate`,title:(0,i.jsx)(i.Fragment,{children:`get_third_party_crypto_deposit_estimate`})},{depth:2,url:`#withdrawal`,title:(0,i.jsx)(i.Fragment,{children:`Withdrawal`})},{depth:3,url:`#get_withdrawal_currencies`,title:(0,i.jsx)(i.Fragment,{children:`get_withdrawal_currencies`})},{depth:3,url:`#get_withdrawal_quote`,title:(0,i.jsx)(i.Fragment,{children:`get_withdrawal_quote`})},{depth:3,url:`#get_fiat_withdrawal_bank_accounts`,title:(0,i.jsx)(i.Fragment,{children:`get_fiat_withdrawal_bank_accounts`})},{depth:3,url:`#execute_fiat_withdrawal`,title:(0,i.jsx)(i.Fragment,{children:`execute_fiat_withdrawal`})},{depth:3,url:`#get_crypto_withdrawal_wallets`,title:(0,i.jsx)(i.Fragment,{children:`get_crypto_withdrawal_wallets`})},{depth:3,url:`#execute_crypto_withdrawal`,title:(0,i.jsx)(i.Fragment,{children:`execute_crypto_withdrawal`})},{depth:3,url:`#upload_file`,title:(0,i.jsx)(i.Fragment,{children:`upload_file`})},{depth:2,url:`#history`,title:(0,i.jsx)(i.Fragment,{children:`History`})},{depth:3,url:`#get_deposit_list`,title:(0,i.jsx)(i.Fragment,{children:`get_deposit_list`})},{depth:3,url:`#get_withdrawal_list`,title:(0,i.jsx)(i.Fragment,{children:`get_withdrawal_list`})},{depth:2,url:`#fixed-income`,title:(0,i.jsx)(i.Fragment,{children:`Fixed Income`})},{depth:3,url:`#get_fip_products`,title:(0,i.jsx)(i.Fragment,{children:`get_fip_products`})},{depth:3,url:`#get_fip_agreement`,title:(0,i.jsx)(i.Fragment,{children:`get_fip_agreement`})},{depth:3,url:`#investor_precheck`,title:(0,i.jsx)(i.Fragment,{children:`investor_precheck`})},{depth:3,url:`#fip_subscribe`,title:(0,i.jsx)(i.Fragment,{children:`fip_subscribe`})}];function c(e){let t={a:`a`,code:`code`,h2:`h2`,h3:`h3`,hr:`hr`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,...e.components},{Callout:n}=t;return n||u(`Callout`,!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:[`All tools are available via the MetaComp MCP server at `,(0,i.jsx)(t.code,{children:`https://www.metacomp.ai/mcp`}),`. Check `,(0,i.jsx)(t.a,{href:`/developers/financial-services/accounts#get_module_permissions`,children:`module permissions`}),` before calling any module-specific tool. Cross-cutting concepts (minor units, `,(0,i.jsx)(t.code,{children:`withdrawalParty`}),`, `,(0,i.jsx)(t.code,{children:`currencyType`}),`, fee enums, verification codes) are defined in `,(0,i.jsx)(t.a,{href:`/developers/financial-services/concepts`,children:`Concepts`}),`.`]}),` 2`,(0,i.jsx)(t.hr,{}),` 3`,(0,i.jsx)(t.h2,{id:`accounts`,children:`Accounts`}),` 4`,(0,i.jsx)(t.h3,{id:`get_account_summary`,children:`get_account_summary`}),` 5`,(0,i.jsx)(t.p,{children:`Get a USD-equivalent balance summary across all product account categories. Read-only.`}),` 6`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 7`,(0,i.jsx)(t.p,{children:`None.`}),` 8`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 9`,(0,i.jsxs)(t.p,{children:[`An object with keys `,(0,i.jsx)(t.code,{children:`fiat`}),`, `,(0,i.jsx)(t.code,{children:`crypto`}),`, `,(0,i.jsx)(t.code,{children:`investment_fiat`}),`, `,(0,i.jsx)(t.code,{children:`quarantine_portfolio`}),`, `,(0,i.jsx)(t.code,{children:`investment_product`}),`. Each key maps to `,(0,i.jsx)(t.code,{children:`{ availableAmou
9nt, pendingAmount, totalAmount }`}),` â all high-precision USD decimal strings.`]}),` 10`,(0,i.jsx)(t.hr,{}),` 11`,(0,i.jsx)(t.h3,{id:`get_account_detail`,children:`get_account_detail`}),` 12`,(0,i.jsx)(t.p,{children:`Fetch per-currency breakdown for a specific product account. Read-only.`}),` 13`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 14`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Name`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`productCode`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`fiat`}),` | `,(0,i.jsx)(t.code,{children:`crypto`}),` | `,(0,i.jsx)(t.code,{children:`investment_fiat`}),` | `,(0,i.jsx)(t.code,{children:`quarantine_portfolio`}),` | `,(0,i.jsx)(t.code,{children:`investment_product`}),` | `,(0,i.jsx)(t.code,{children:`named_account`})]})]})})]}),` 15`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 16`,(0,i.jsxs)(t.p,{children:[`On success: `,(0,i.jsx)(t.code,{children:`{ data: { holderCode, productCode, availableAmount, pendingAmount, totalAmount, instrumentInfoMap } }`}),`. `,(0,i.jsx)(t.code,{children:`instrumentInfoMap`}),` is keyed by currency code; each entry has `,(0,i.jsx)(t.code,{children:`availableAmount`}),`, `,(0,i.jsx)(t.code,{children:`availableAmountDisplay`}),`, `,(0,i.jsx)(t.code,{children:`pendingAmount`}),`, `,(0,i.jsx)(t.code,{children:`pendingCreditAmount`}),`. On session expiry: `,(0,i.jsx)(t.code,{children:`{ error: true, message, authUrl? }`}),`. See `,(0,i.jsx)(t.a,{href:`/developers/financial-services/accounts#get_account_detail`,children:`Accounts & Balances`}),`.`]}),` 17`,(0,i.jsx)(t.hr,{}),` 18`,(0,i.jsx)(t.h3,{id:`get_module_permissions`,children:`get_module_permissions`}),` 19`,(0,i.jsx)(t.p,{children:`Check which financial modules the authenticated user can access. Read-only.`}),` 20`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 21`,(0,i.jsx)(t.p,{children:`None.`}),` 22`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 23`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:`{ permissions: [{ module: 'deposit'|'otc'|'withdrawal'|'wealth', hasPermission: boolean }] }`})}),` 24`,(0,i.jsx)(t.hr,{}),` 25`,(0,i.jsx)(t.h3,{id:`get_available_currency_pairs`,children:`get_available_currency_pairs`}),` 26`,(0,i.jsx)(t.p,{children:`List all currency pairs available for OTC exchange. Read-only.`}),` 27`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 28`,(0,i.jsx)(t.p,{children:`None.`}),` 29`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 30`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ pairs: string[] }`}),` â each element is a tradeable pair in `,(0,i.jsx)(t.code,{children:`BASE/QUOTE`}),` format (e.g. `,(0,i.jsx)(t.code,{children:`"USD/USDC"`}),`, `,(0,i.jsx)(t.code,{children:`"GBP/USDT"`}),`).`]}),` 31`,(0,i.jsx)(t.hr,{}),` 32`,(0,i.jsx)(t.h2,{id:`otc-exchange`,children:`OTC Exchange`}),` 33`,(0,i.jsxs)(t.p,{children:[`Requires `,(0,i.jsx)(t.code,{children:`otc`}),` module permission. The OTC flow is two steps: `,(0,i.jsx)(t.code,{children:`get_otc_quote`}),` â `,(0,i.jsx)(t.code,{children:`confirm_otc_trade`}),`. For error handling (HTTP 410 / 409), see `,(0,i.jsx)(t.a,{href:`/developers/financial-services/responses#otc-two-step-error-model`,children:`Response Reference`}),`.`]}),` 34`,(0,i.jsx)(t.h3,{id:`get_exchange_quote`,children:`get_exchange_quote`}),` 35`,(0,i.jsx)(t.p,{children:`Fetch the current fromâto exchange rate without locking a quote or checking balance. Use for browsing rates or pre-lock math. Read-only.`}),` 36`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 37`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
37ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`fromCurrency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Source currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`, `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"SGD"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`toCurrency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Target currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`, `,(0,i.jsx)(t.code,{children:`"EUR"`}),`)`]})]})]})]}),` 38`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 39`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ rate: string }`}),` â the decimal fromâto exchange rate. Multiply `,(0,i.jsx)(t.code,{children:`fromCurrency`}),` amount by `,(0,i.jsx)(t.code,{children:`rate`}),` to get the `,(0,i.jsx)(t.code,{children:`toCurrency`}),` amount. Does not lock a quote or reserve balance.`]}),` 40`,(0,i.jsx)(t.hr,{}),` 41`,(0,i.jsx)(t.h3,{id:`get_otc_quote`,children:`get_otc_quote`}),` 42`,(0,i.jsx)(t.p,{children:`Step 1 of OTC exchange. Locks a quote at a specific amount and performs a backend balance and limit check. Read-only.`}),` 43`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 44`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
44ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`fromCurrency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Source currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`, `,(0,i.jsx)(t.code,{children:`"USDT"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`toCurrency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Target currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`totalValue`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Amount to exchange in source currency (e.g. `,(0,i.jsx)(t.code,{children:`"1000"`}),`, `,(0,i.jsx)(t.code,{children:`"500.50"`}),`)`]})]})]})]}),` 45`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 46`,(0,i.jsxs)(t.p,{children:[`On success: `,(0,i.jsx)(t.code,{children:`{ quoteCode, exchangeRate, finalAmount, validityPeriod, fromCurrency, toCurrency, totalValue, expiry }`}),`. On failure: `,(0,i.jsx)(t.code,{children:`{ success: false, message }`}),`.`]}),` 47`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Field`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Description`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`quoteCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Pass unchanged to `,(0,i.jsx)(t.code,{children:`confirm_otc_trade`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`exchangeRate`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Locked fromâto rate. May be `,(0,i.jsx)(t.code,{children:`""`}),` when pricing is unavailable â do `,(0,i.jsx)(t.strong,{children:`not`}),` proceed to confirm in that case`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`finalAmount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Estimated receive amount in `,(0,i.jsx)(t.code,{children:`toCurrency`}),`. May be `,(0,i.jsx)(t.code,{children:`""`}),` when pricing is unavailable`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`validityPeriod`})}),(0,i.jsx)(t.td,{children:`number`}),(0,i.jsx)(t.td,{children:`Seconds the user has to confirm (UX hint; the server keeps context for 5 minutes)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`expiry`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Absolute expiry timestamp (ISO 8601 UTC)`})]})]})]}),` 48`,(0,i.jsxs)(t.p,{children:[`Always display `,(0,i.jsx)(t.code,{children:`exchangeRate`}),` and `,(0,i.jsx)(t.code,{children:`finalAmount`}),` to the user before calling `,(0,i.jsx)(t.code,{children:`confirm_otc_trade`}),`.`]}),` 49`,(0,i.jsx)(t.hr,{}),` 50`,(0,i.jsx)(t.h3,{id:`confirm_otc_trade`,children:`confirm_otc_trade`}),` 51`,(0,i.jsx)(t.p,{children:`Step 2 of OTC exchange. Executes the trade at the live rate.`}),` 52`,(0,i.jsx)(n,{type:`warn`,children:`Destructive â requires explicit user confirmation before calling.`}),` 53`,(0,i.jsxs)(t.p,{children:[`The server re-fetches a fresh rate at confirm time; the executed `,(0,i.jsx)(t.code,{children:`exchangeRate`}),` and `,(0,i.jsx)(t.code,{children:`finalAmount`}),` in this response are the final settled values and may differ from the `,(0,i.jsx)(t.code,{children:`get_otc_quote`}),` values. Failures are HTTP errors: `,(0,i.jsx)(t.code,{children:`410`}),` = quote context expired; `,(0,i.jsx)(t.code,{children:`409`}),` = rate drift exceeded. On either error, do not auto-retry â call `,(0,i.jsx)(t.code,{children:`get_otc_quote`}),` again.`]}),` 54`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 55`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
55ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`quoteCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`quoteCode`}),` returned by `,(0,i.jsx)(t.code,{children:`get_otc_quote`})]})]})})]}),` 56`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 57`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:`{ id, tradeCode, point, exchangeRate?, finalAmount? }`})}),` 58`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Field`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Description`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`id`})}),(0,i.jsx)(t.td,{children:`number`}),(0,i.jsx)(t.td,{children:`Internal trade record ID`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`tradeCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Transaction reference code â show as the trade identifier`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`point`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Loyalty/reward points earned (decimal string)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`exchangeRate`})}),(0,i.jsx)(t.td,{children:`string (optional)`}),(0,i.jsx)(t.td,{children:`Actual executed exchange rate`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`finalAmount`})}),(0,i.jsx)(t.td,{children:`string (optional)`}),(0,i.jsxs)(t.td,{children:[`Actual amount received in `,(0,i.jsx)(t.code,{children:`toCurrency`})]})]})]})]}),` 59`,(0,i.jsx)(t.hr,{}),` 60`,(0,i.jsx)(t.h3,{id:`get_otc_trade_detail`,children:`get_otc_trade_detail`}),` 61`,(0,i.jsxs)(t.p,{children:[`Look up the full detail of a settled or pending OTC trade by its `,(0,i.jsx)(t.code,{children:`tradeCode`}),`. Read-only.`]}),` 62`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 63`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
63ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`tradeCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`OTC trade code (e.g. the code returned by `,(0,i.jsx)(t.code,{children:`confirm_otc_trade`}),`)`]})]})})]}),` 64`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 65`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ trade: object | null }`}),` â `,(0,i.jsx)(t.code,{children:`null`}),` when no trade matches the code.`]}),` 66`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`trade`}),` fields:`]}),` 67`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Field`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Description`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`tradeCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Unique OTC trade code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`tradeStatus`})}),(0,i.jsx)(t.td,{children:`number`}),(0,i.jsxs)(t.td,{children:[`Status code (e.g. `,(0,i.jsx)(t.code,{children:`1`}),` = pending, `,(0,i.jsx)(t.code,{children:`4`}),` = settled)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`tradingAction`})}),(0,i.jsx)(t.td,{children:`number`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = buy base, `,(0,i.jsx)(t.code,{children:`2`}),` = sell base`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`buyerCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Buyer participant code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`buyerName`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Buyer display name`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`sellerCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Seller participant code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`sellerName`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Seller display name`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`baseCurrency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Base currency code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`quoteCurrency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Quote currency code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`baseQuantity`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Quantity of base currency`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`quoteAmount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Amount of quote currency exchanged`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`quotePrice`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Quoted rate before adjustments`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`finalPrice`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Final locked exchange rate`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`tradeTime`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Trade creation timestamp (ISO 8601)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`settleTime`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Scheduled settlement timestamp (ISO 8601)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`updatedTime`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Last status update timestamp (ISO 8601)`})]})]})]}),` 68`,(0,i.jsx)(t.hr,{}),` 69`,(0,i.jsx)(t.h2,{id:`fiat-deposit`,children:`Fiat Deposit`}),` 70`,(0,i.jsxs)(t.p,{children:[`Requires `,(0,i.jsx)(t.code,{children:`deposit`}),` module permission.`]}),` 71`,(0,i.jsx)(t.h3,{id:`get_fiat_deposit_currencies`,children:`get_fiat_deposit_currencies`}),` 72`,(0,i.jsx)(t.p,{children:`List fiat currencies available for deposit. Read-only.`}),` 73`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 74`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
74ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`'first_party'`}),` or `,(0,i.jsx)(t.code,{children:`'third_party'`}),`. Defaults to first-party`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`isSameNameAccount`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`true`}),` for named-account (same-name) deposit flow`]})]})]})]}),` 75`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 76`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ currencies: string[] }`}),` â available fiat currency codes (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`, `,(0,i.jsx)(t.code,{children:`"EUR"`}),`, `,(0,i.jsx)(t.code,{children:`"GBP"`}),`).`]}),` 77`,(0,i.jsx)(t.hr,{}),` 78`,(0,i.jsx)(t.h3,{id:`get_deposit_bank_account`,children:`get_deposit_bank_account`}),` 79`,(0,i.jsx)(t.p,{children:`Get MetaComp's bank account details for a given currency (where to wire funds). Read-only.`}),` 80`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 81`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
81ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Fiat currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`, `,(0,i.jsx)(t.code,{children:`"EUR"`}),`, `,(0,i.jsx)(t.code,{children:`"GBP"`}),`)`]})]})})]}),` 82`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 83`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ accounts: [{ ownerName, ownerAddress, ownerCountryCode, baNumber, swiftCode, bankName, bankAddress, countryCode }] }`}),` â MetaComp's receiving bank account details.`]}),` 84`,(0,i.jsx)(t.hr,{}),` 85`,(0,i.jsx)(t.h3,{id:`get_fiat_deposit_bank_accounts`,children:`get_fiat_deposit_bank_accounts`}),` 86`,(0,i.jsx)(t.p,{children:`List payor bank accounts available for fiat deposit. Read-only.`}),` 87`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 88`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
88ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`'first_party'`}),` or `,(0,i.jsx)(t.code,{children:`'third_party'`})]})]})})]}),` 89`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 90`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ accounts: [{ baNumber, ownerName, ownerAddress?, ownerCountryCode?, swiftCode?, bankName?, bankAddress?, countryCode?, ownerType?, relationship?, ownerCorporateCountryCode?, baTag?, relationType? }] }`}),` â payor bank accounts (own accounts for first-party; registered COBO payors for third-party).`]}),` 91`,(0,i.jsx)(t.hr,{}),` 92`,(0,i.jsx)(t.h3,{id:`get_third_party_fiat_deposit_estimate`,children:`get_third_party_fiat_deposit_estimate`}),` 93`,(0,i.jsx)(t.p,{children:`Estimate a third-party (COBO) fiat deposit â fee calculation and bank account details. Read-only.`}),` 94`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 95`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
95ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Fiat currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`amount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Deposit amount as positive decimal string`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`feePayer`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`'paid_by_me'`}),` or `,(0,i.jsx)(t.code,{children:`'paid_by_third_party'`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`baNumber`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Payor bank account number â must be from `,(0,i.jsx)(t.code,{children:`get_fiat_deposit_bank_accounts`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`isSameNameAccount`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`true`}),` for named-account flow`]})]})]})]}),` 96`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 97`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ accountType: 'fiat', depositType, amountSent, estimatedServiceFee, estimatedAmountReceived, payorBankAccount, receiverBankAccount }`}),`. Show fee and amounts to the user for confirmation before calling `,(0,i.jsx)(t.code,{children:`execute_third_party_fiat_deposit_submit`}),`.`]}),` 98`,(0,i.jsx)(t.hr,{}),` 99`,(0,i.jsx)(t.h3,{id:`execute_third_party_fiat_deposit_submit`,children:`execute_third_party_fiat_deposit_submit`}),` 100`,(0,i.jsx)(t.p,{children:`Submit a third-party (COBO) fiat deposit request.`}),` 101`,(0,i.jsx)(n,{type:`warn`,children:`Destructive â requires explicit user confirmation before calling.`}),` 102`,(0,i.jsxs)(t.p,{children:[`Call `,(0,i.jsx)(t.code,{children:`get_third_party_fiat_deposit_estimate`}),` first and confirm fee/amounts with the user before calling this tool.`]}),` 103`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 104`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
104ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Fiat currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`amount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Deposit amount as positive decimal string`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`feePayer`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`'paid_by_me'`}),` or `,(0,i.jsx)(t.code,{children:`'paid_by_third_party'`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`baNumber`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Payor bank account number (from `,(0,i.jsx)(t.code,{children:`get_fiat_deposit_bank_accounts`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`isSameNameAccount`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`true`}),` for named-account flow`]})]})]})]}),` 105`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 106`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ depositNumber: string }`}),` â the deposit requirement number (e.g. `,(0,i.jsx)(t.code,{children:`"DP2026..."`}),`).`]}),` 107`,(0,i.jsx)(t.hr,{}),` 108`,(0,i.jsx)(t.h3,{id:`get_named_account_currencies`,children:`get_named_account_currencies`}),` 109`,(0,i.jsx)(t.p,{children:`List fiat currencies supported for same-name (named) account transfers. Read-only.`}),` 110`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 111`,(0,i.jsx)(t.p,{children:`None.`}),` 112`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 113`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ currencies: string[] }`}),` â currency codes supporting named-account deposits (e.g. `,(0,i.jsx)(t.code,{children:`"SGD"`}),`, `,(0,i.jsx)(t.code,{children:`"EUR"`}),`, `,(0,i.jsx)(t.code,{children:`"USD"`}),`).`]}),` 114`,(0,i.jsx)(t.hr,{}),` 115`,(0,i.jsx)(t.h3,{id:`get_named_account_list`,children:`get_named_account_list`}),` 116`,(0,i.jsx)(t.p,{children:`Get the user's registered same-name (named) bank accounts for first-party fiat transfers. Read-only.`}),` 117`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 118`,(0,i.jsx)(t.p,{children:`None.`}),` 119`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 120`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ accounts: [{ baNumber, ownerName, ownerAddress?, ownerCountryCode?, swiftCode?, bankName?, bankAddress?, countryCode?, ... }] }`}),` â the user's bound same-name bank account details. Call `,(0,i.jsx)(t.code,{children:`get_named_account_currencies`}),` first to confirm the selected currency supports named-account transfers.`]}),` 121`,(0,i.jsx)(t.hr,{}),` 122`,(0,i.jsx)(t.h2,{id:`crypto-deposit`,children:`Crypto Deposit`}),` 123`,(0,i.jsxs)(t.p,{children:[`Requires `,(0,i.jsx)(t.code,{children:`deposit`}),` module permission.`]}),` 124`,(0,i.jsx)(t.h3,{id:`get_crypto_deposit_currencies`,children:`get_crypto_deposit_currencies`}),` 125`,(0,i.jsx)(t.p,{children:`List crypto currencies available for deposit. Read-only.`}),` 126`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 127`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
127ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`'first_party'`}),` or `,(0,i.jsx)(t.code,{children:`'third_party'`}),`. Defaults to first-party`]})]})})]}),` 128`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 129`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ currencies: string[] }`}),` â available crypto currency codes (e.g. `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`, `,(0,i.jsx)(t.code,{children:`"ETH"`}),`).`]}),` 130`,(0,i.jsx)(t.hr,{}),` 131`,(0,i.jsx)(t.h3,{id:`get_crypto_deposit_networks`,children:`get_crypto_deposit_networks`}),` 132`,(0,i.jsx)(t.p,{children:`Get available blockchain networks for depositing a specific cryptocurrency. Read-only.`}),` 133`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 134`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
134ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Crypto currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`, `,(0,i.jsx)(t.code,{children:`"ETH"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`'first_party'`}),` or `,(0,i.jsx)(t.code,{children:`'third_party'`}),`. Defaults to first-party`]})]})]})]}),` 135`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 136`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ networks: string[] }`}),` â supported blockchain networks (e.g. `,(0,i.jsx)(t.code,{children:`"Ethereum"`}),`, `,(0,i.jsx)(t.code,{children:`"Tron"`}),`, `,(0,i.jsx)(t.code,{children:`"Bitcoin"`}),`).`]}),` 137`,(0,i.jsx)(t.hr,{}),` 138`,(0,i.jsx)(t.h3,{id:`get_crypto_wallet_addresses`,children:`get_crypto_wallet_addresses`}),` 139`,(0,i.jsx)(t.p,{children:`Get the user's crypto deposit wallet addresses for a blockchain network, with QR codes. Read-only.`}),` 140`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 141`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
141ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`network`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Blockchain network (e.g. `,(0,i.jsx)(t.code,{children:`"Ethereum"`}),`, `,(0,i.jsx)(t.code,{children:`"Tron"`}),`, `,(0,i.jsx)(t.code,{children:`"Bitcoin"`}),`)`]})]})})]}),` 142`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 143`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ addresses: [{ walletAddress, qrCodeDataUrl }] }`}),`. QR codes are also shipped as MCP image content blocks â most clients render them inline. Do not attempt to render the `,(0,i.jsx)(t.code,{children:`data:`}),` URL via markdown `,(0,i.jsx)(t.code,{children:`![]()`}),` in chat UIs.`]}),` 144`,(0,i.jsx)(t.hr,{}),` 145`,(0,i.jsx)(t.h3,{id:`get_third_party_crypto_deposit_estimate`,children:`get_third_party_crypto_deposit_estimate`}),` 146`,(0,i.jsx)(t.p,{children:`Estimate a third-party (COBO) crypto deposit â fee, wallet address, and QR code. Read-only.`}),` 147`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 148`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
148ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`network`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Blockchain network (e.g. `,(0,i.jsx)(t.code,{children:`"Tron"`}),`, `,(0,i.jsx)(t.code,{children:`"Ethereum"`}),`, `,(0,i.jsx)(t.code,{children:`"Bitcoin"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Crypto currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`amount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Deposit amount as positive decimal string`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`feePayer`})}),(0,i.jsx)(t.td,{children:`string (enum)`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`'paid_by_me'`}),` or `,(0,i.jsx)(t.code,{children:`'paid_by_third_party'`})]})]})]})]}),` 149`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 150`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ accountType: 'crypto', depositType, feePayer, amountSent, estimatedServiceFee, estimatedAmountReceived, walletAddress, qrCodeDataUrl }`}),`.`]}),` 151`,(0,i.jsx)(t.hr,{}),` 152`,(0,i.jsx)(t.h2,{id:`withdrawal`,children:`Withdrawal`}),` 153`,(0,i.jsxs)(t.p,{children:[`Requires `,(0,i.jsx)(t.code,{children:`withdrawal`}),` module permission. Always call `,(0,i.jsx)(t.code,{children:`get_withdrawal_quote`}),` before executing to confirm service fee and minimum amount. For third-party withdrawals, `,(0,i.jsx)(t.code,{children:`purposeOfTransaction`}),` is required on execute calls.`]}),` 154`,(0,i.jsx)(t.h3,{id:`get_withdrawal_currencies`,children:`get_withdrawal_currencies`}),` 155`,(0,i.jsx)(t.p,{children:`List currencies available for withdrawal. Read-only.`}),` 156`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 157`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
157ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currencyType`})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` or `,(0,i.jsx)(t.code,{children:`2`}),` (integer literal)`]}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = fiat, `,(0,i.jsx)(t.code,{children:`2`}),` = crypto`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` or `,(0,i.jsx)(t.code,{children:`2`}),` (integer literal)`]}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = first-party, `,(0,i.jsx)(t.code,{children:`2`}),` = third-party`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`isSameNameAccount`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[`Fiat only; `,(0,i.jsx)(t.code,{children:`true`}),` = same-name account path. Must be omitted or `,(0,i.jsx)(t.code,{children:`false`}),` when `,(0,i.jsx)(t.code,{children:`currencyType = 2`})]})]})]})]}),` 158`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 159`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ currencies: string[] }`}),` â currency codes available for withdrawal.`]}),` 160`,(0,i.jsx)(t.hr,{}),` 161`,(0,i.jsx)(t.h3,{id:`get_withdrawal_quote`,children:`get_withdrawal_quote`}),` 162`,(0,i.jsx)(t.p,{children:`Get the service fee and minimum withdrawal amount in a single call. Read-only.`}),` 163`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 164`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
164ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` or `,(0,i.jsx)(t.code,{children:`2`}),` (integer literal)`]}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = first-party, `,(0,i.jsx)(t.code,{children:`2`}),` = third-party`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Uppercase alphanumeric currency code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`amount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Withdrawal amount as positive decimal string`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`isSameNameAccount`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsx)(t.td,{children:`Fiat only`})]})]})]}),` 165`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 166`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ fee: { serviceFee: string }, minimumAmount: { minimumAmount: number } }`}),`.`]}),` 167`,(0,i.jsx)(t.hr,{}),` 168`,(0,i.jsx)(t.h3,{id:`get_fiat_withdrawal_bank_accounts`,children:`get_fiat_withdrawal_bank_accounts`}),` 169`,(0,i.jsx)(t.p,{children:`List non-same-name fiat withdrawal bank accounts (regular bound accounts). Read-only.`}),` 170`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 171`,(0,i.jsx)(t.p,{children:`None.`}),` 172`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 173`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ accounts: [{ baNumber, ownerName, ownerAddress?, ownerCountryCode?, swiftCode?, bankName?, bankAddress?, countryCode?, ownerType?, ... }] }`}),`. For same-name accounts, use `,(0,i.jsx)(t.code,{children:`get_named_account_list`}),` instead.`]}),` 174`,(0,i.jsx)(t.hr,{}),` 175`,(0,i.jsx)(t.h3,{id:`execute_fiat_withdrawal`,children:`execute_fiat_withdrawal`}),` 176`,(0,i.jsx)(t.p,{children:`Execute a fiat withdrawal.`}),` 177`,(0,i.jsx)(n,{type:`warn`,children:`Destructive â requires explicit user confirmation before calling.`}),` 178`,(0,i.jsxs)(t.p,{children:[`Confirm fee and minimum with `,(0,i.jsx)(t.code,{children:`get_withdrawal_quote`}),` and confirm the destination bank account with the user before calling this tool.`]}),` 179`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 180`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
180ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` or `,(0,i.jsx)(t.code,{children:`2`}),` (integer literal)`]}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = first-party, `,(0,i.jsx)(t.code,{children:`2`}),` = third-party`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Uppercase alphabetic fiat currency code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`amount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Withdrawal amount as positive decimal string`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`bankAccountNumber`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Destination bank account number`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`verificationCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`One-time verification code from MetaComp authentication`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`chargeType`})}),(0,i.jsx)(t.td,{children:`integer (1â3)`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = beneficiary bears fee, `,(0,i.jsx)(t.code,{children:`2`}),` = sender bears fee, `,(0,i.jsx)(t.code,{children:`3`}),` = shared`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`isSameNameAccount`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`true`}),` for same-name account path (fiat only)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`purposeOfTransaction`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`conditional`}),(0,i.jsxs)(t.td,{children:[`Required when `,(0,i.jsx)(t.code,{children:`withdrawalParty = 2`}),` (third-party)`]})]})]})]}),` 181`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 182`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ txCode, currency, status, withdrawalAmount?, chargeAmount?, totalChargeAmount?, amountReceived?, to?, network?, createAt?, updateAt? }`}),`. See `,(0,i.jsx)(t.a,{href:`/developers/financial-services/responses#execute-withdrawal-response`,children:`Response Reference`}),`.`]}),` 183`,(0,i.jsx)(t.hr,{}),` 184`,(0,i.jsx)(t.h3,{id:`get_crypto_withdrawal_wallets`,children:`get_crypto_withdrawal_wallets`}),` 185`,(0,i.jsx)(t.p,{children:`Get crypto wallet addresses for withdrawal, filtered by party type. Read-only.`}),` 186`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 187`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
187ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` or `,(0,i.jsx)(t.code,{children:`2`}),` (integer literal)`]}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = first-party (own wallets), `,(0,i.jsx)(t.code,{children:`2`}),` = third-party (beneficiary wallets)`]})]})})]}),` 188`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 189`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ wallets: [{ walletAddress, network, walletTag, ownerName }] }`}),`.`]}),` 190`,(0,i.jsx)(t.hr,{}),` 191`,(0,i.jsx)(t.h3,{id:`execute_crypto_withdrawal`,children:`execute_crypto_withdrawal`}),` 192`,(0,i.jsx)(t.p,{children:`Execute a cryptocurrency withdrawal.`}),` 193`,(0,i.jsx)(n,{type:`warn`,children:`Destructive â requires explicit user confirmation before calling. Irreversible once broadcast to the network.`}),` 194`,(0,i.jsxs)(t.p,{children:[`For third-party (`,(0,i.jsx)(t.code,{children:`withdrawalParty = 2`}),`): call `,(0,i.jsx)(t.code,{children:`upload_file`}),` first to obtain a file `,(0,i.jsx)(t.code,{children:`id`}),`, then pass it as `,(0,i.jsx)(t.code,{children:`proof`}),`. Both `,(0,i.jsx)(t.code,{children:`proof`}),` and `,(0,i.jsx)(t.code,{children:`purposeOfTransaction`}),` are required for third-party. Missing either will fail server-side validation.`]}),` 195`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 196`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
196ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`withdrawalParty`})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` or `,(0,i.jsx)(t.code,{children:`2`}),` (integer literal)`]}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = first-party, `,(0,i.jsx)(t.code,{children:`2`}),` = third-party`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Uppercase alphanumeric crypto currency code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`amount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Withdrawal amount as positive decimal string`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`walletAddress`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Destination wallet address`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`network`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Blockchain network (must be supported for the currency)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`verificationCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`One-time verification code from MetaComp authentication`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`proof`})}),(0,i.jsx)(t.td,{children:`integer`}),(0,i.jsx)(t.td,{children:`conditional`}),(0,i.jsxs)(t.td,{children:[`File `,(0,i.jsx)(t.code,{children:`id`}),` from `,(0,i.jsx)(t.code,{children:`upload_file`}),`. Required when `,(0,i.jsx)(t.code,{children:`withdrawalParty = 2`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`purposeOfTransaction`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`conditional`}),(0,i.jsxs)(t.td,{children:[`Free-text purpose. Required when `,(0,i.jsx)(t.code,{children:`withdrawalParty = 2`})]})]})]})]}),` 197`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 198`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ txCode, currency, status, withdrawalAmount?, chargeAmount?, totalChargeAmount?, amountReceived?, to?, network?, createAt?, updateAt? }`}),`. See `,(0,i.jsx)(t.a,{href:`/developers/financial-services/responses#execute-withdrawal-response`,children:`Response Reference`}),`.`]}),` 199`,(0,i.jsx)(t.hr,{}),` 200`,(0,i.jsx)(t.h3,{id:`upload_file`,children:`upload_file`}),` 201`,(0,i.jsx)(t.p,{children:`Upload a supporting document as a base64 string.`}),` 202`,(0,i.jsx)(n,{type:`warn`,children:`Destructive â requires explicit user confirmation before calling.`}),` 203`,(0,i.jsxs)(t.p,{children:[`Required before `,(0,i.jsx)(t.code,{children:`execute_crypto_withdrawal`}),` when `,(0,i.jsx)(t.code,{children:`withdrawalParty = 2`}),`. The returned `,(0,i.jsx)(t.code,{children:`id`}),` is passed as `,(0,i.jsx)(t.code,{children:`proof`}),`.`]}),` 204`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 205`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
205ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`fileBase64`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Base64-encoded file content. Max ~7M chars (â 5MB binary)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`originalName`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Original file name with extension (e.g. `,(0,i.jsx)(t.code,{children:`"invoice.pdf"`}),`). Recorded for audit trail`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`mimeType`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[`MIME type (e.g. `,(0,i.jsx)(t.code,{children:`"application/pdf"`}),`, `,(0,i.jsx)(t.code,{children:`"image/png"`}),`). Defaults to `,(0,i.jsx)(t.code,{children:`"application/octet-stream"`})]})]})]})]}),` 206`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 207`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ id: number, physicalName: string }`}),`. Use `,(0,i.jsx)(t.code,{children:`id`}),` as the `,(0,i.jsx)(t.code,{children:`proof`}),` parameter in `,(0,i.jsx)(t.code,{children:`execute_crypto_withdrawal`}),`.`]}),` 208`,(0,i.jsx)(t.hr,{}),` 209`,(0,i.jsx)(t.h2,{id:`history`,children:`History`}),` 210`,(0,i.jsx)(t.h3,{id:`get_deposit_list`,children:`get_deposit_list`}),` 211`,(0,i.jsx)(t.p,{children:`Query paginated deposit transaction records. Read-only.`}),` 212`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 213`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
213ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`pageNum`})}),(0,i.jsx)(t.td,{children:`integer ⥠1`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Page number, starting from 1`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`pageSize`})}),(0,i.jsx)(t.td,{children:`integer 1â100`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Records per page (max 100)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`payeeAccountType`})}),(0,i.jsx)(t.td,{children:`number`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = fiat deposits, `,(0,i.jsx)(t.code,{children:`2`}),` = crypto deposits`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`startTime`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[`Start of time range: `,(0,i.jsx)(t.code,{children:`"YYYY-MM-DD HH:mm:ss"`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`endTime`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[`End of time range: `,(0,i.jsx)(t.code,{children:`"YYYY-MM-DD HH:mm:ss"`})]})]})]})]}),` 214`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 215`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ total, list, pageNum, pageSize, pages }`}),`. Each `,(0,i.jsx)(t.code,{children:`list`}),` item: `,(0,i.jsx)(t.code,{children:`{ paymentCode, status, statusDesc, currency, totalAmount, receiveAmount, chargeAmount, detail, createAt, updateAt, payerCode, payerName, payeeCode, payeeName, coboInfo, ... }`}),`.`]}),` 216`,(0,i.jsxs)(t.p,{children:[`Amounts (`,(0,i.jsx)(t.code,{children:`totalAmount`}),`, `,(0,i.jsx)(t.code,{children:`receiveAmount`}),`, `,(0,i.jsx)(t.code,{children:`chargeAmount`}),`) are `,(0,i.jsx)(t.strong,{children:`integers in minor units`}),` â divide by `,(0,i.jsx)(t.code,{children:`10^decimals`}),`. See `,(0,i.jsx)(t.a,{href:`/developers/financial-services/responses#minor-units-in-history-lists`,children:`Response Reference`}),`.`]}),` 217`,(0,i.jsx)(t.hr,{}),` 218`,(0,i.jsx)(t.h3,{id:`get_withdrawal_list`,children:`get_withdrawal_list`}),` 219`,(0,i.jsx)(t.p,{children:`Query paginated withdrawal transaction records. Read-only.`}),` 220`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 221`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
221ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`pageNum`})}),(0,i.jsx)(t.td,{children:`integer ⥠1`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Page number, starting from 1`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`pageSize`})}),(0,i.jsx)(t.td,{children:`integer 1â100`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Records per page (max 100)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`payeeAccountType`})}),(0,i.jsx)(t.td,{children:`number`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = fiat withdrawals, `,(0,i.jsx)(t.code,{children:`2`}),` = crypto withdrawals`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`startTime`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[`Start of time range: `,(0,i.jsx)(t.code,{children:`"YYYY-MM-DD HH:mm:ss"`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`endTime`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`no`}),(0,i.jsxs)(t.td,{children:[`End of time range: `,(0,i.jsx)(t.code,{children:`"YYYY-MM-DD HH:mm:ss"`})]})]})]})]}),` 222`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 223`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ total, list, pageNum, pageSize, pages }`}),`. Each `,(0,i.jsx)(t.code,{children:`list`}),` item: `,(0,i.jsx)(t.code,{children:`{ paymentCode, status, statusDesc, currency, totalAmount, receiveAmount, chargeAmount, paymentType, purposeOfTransaction, pathTo, fee, feeRate, detail, createAt, updateAt, coboInfo, poboInfo, ... }`}),`.`]}),` 224`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`paymentType`}),`: `,(0,i.jsx)(t.code,{children:`21`}),` = first-party, `,(0,i.jsx)(t.code,{children:`22`}),` = third-party. Amounts are `,(0,i.jsx)(t.strong,{children:`integers in minor units`}),` â divide by `,(0,i.jsx)(t.code,{children:`10^decimals`}),`. See `,(0,i.jsx)(t.a,{href:`/developers/financial-services/responses#minor-units-in-history-lists`,children:`Response Reference`}),`.`]}),` 225`,(0,i.jsx)(t.hr,{}),` 226`,(0,i.jsx)(t.h2,{id:`fixed-income`,children:`Fixed Income`}),` 227`,(0,i.jsxs)(t.p,{children:[`Requires `,(0,i.jsx)(t.code,{children:`wealth`}),` module permission. Always call `,(0,i.jsx)(t.code,{children:`investor_precheck`}),` before `,(0,i.jsx)(t.code,{children:`fip_subscribe`}),` to verify required agreements are signed.`]}),` 228`,(0,i.jsx)(t.h3,{id:`get_fip_products`,children:`get_fip_products`}),` 229`,(0,i.jsx)(t.p,{children:`Query available MetaComp Wealth Fixed Income Products. Read-only.`}),` 230`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 231`,(0,i.jsx)(t.p,{children:`None.`}),` 232`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 233`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:`{ success, code, msg, data, currencyConvertInfoList? }`})}),` 234`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`data`}),` is an array of products:`]}),` 235`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Field`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Description`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`productCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Internal product code`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`productName`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Display name`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`productType`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Category (currently `,(0,i.jsx)(t.code,{children:`FIP`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`term`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Human-readable term (e.g. `,(0,i.jsx)(t.code,{children:`"Flexible"`}),`, `,(0,i.jsx)(t.code,{children:`"30 Days"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`termType`})}),(0,i.jsx)(t.td,{children:`integer`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = flexible/open term, `,(0,i.jsx)(t.code,{children:`2`}),` = fixed term`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`sort`})}),(0,i.jsx)(t.td,{children:`integer`}),(0,i.jsx)(t.td,{children:`Sort order`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`estApr`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Estimated APR or range (percentage string)`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currencyItemList`})}),(0,i.jsx)(t.td,{children:`array`}),(0,i.jsx)(t.td,{children:`Supported currency options (see below)`})]})]})]}),` 236`,(0,i.jsxs)(t.p,{children:[`Each `,(0,i.jsx)(t.code,{children:`currencyItemList`}),` entry:`]}),` 237`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Field`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Description`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`id`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Currency item unique identifier â pass to `,(0,i.jsx)(t.code,{children:`fip_subscribe`})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`, `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"USDC"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`, `,(0,i.jsx)(t.code,{children:`"ETH"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`estApr`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`APR for this currency option`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`term`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Human-readable term`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`termType`})}),(0,i.jsx)(t.td,{children:`integer`}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:`1`}),` = flexible, `,(0,i.jsx)(t.code,{children:`2`}),` = fixed`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`termDays`})}),(0,i.jsx)(t.td,{children:`integer`}),(0,i.jsx)(t.td,{children:`Term in days; negative values indicate flexible settlement products`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`liquidity`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsxs)(t.td,{children:[`Settlement description (e.g. `,(0,i.jsx)(t.code,{children:`"(T + 1 Settlement)"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`mhp`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Minimum holding period description; empty string if not specified`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`issuer`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Issuer name`})]})]})]}),` 238`,(0,i.jsx)(t.hr,{}),` 239`,(0,i.jsx)(t.h3,{id:`get_fip_agreement`,children:`get_fip_agreement`}),` 240`,(0,i.jsx)(t.p,{children:`Query FIP agreement documents (PDF links) for a specific product and currency. Read-only.`}),` 241`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 242`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
242ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`productType`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Product category (e.g. `,(0,i.jsx)(t.code,{children:`"FIP"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`productCode`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Product code (e.g. `,(0,i.jsx)(t.code,{children:`"FIP_OpenTerm_T+1"`}),`, `,(0,i.jsx)(t.code,{children:`"FIP_30Days"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`, `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"USDC"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`, `,(0,i.jsx)(t.code,{children:`"ETH"`}),`)`]})]})]})]}),` 243`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 244`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`{ agreements: [{ product_type, product_code, currency, url, show_name, sort, term_days }] }`}),`. `,(0,i.jsx)(t.code,{children:`url`}),` is a PDF download link. Present the agreement document to the user before subscribing.`]}),` 245`,(0,i.jsx)(t.hr,{}),` 246`,(0,i.jsx)(t.h3,{id:`investor_precheck`,children:`investor_precheck`}),` 247`,(0,i.jsx)(t.p,{children:`Check whether the user has completed required investor agreements and declarations. Read-only.`}),` 248`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 249`,(0,i.jsx)(t.p,{children:`None.`}),` 250`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 251`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(t.pre,{className:`shiki shiki-themes github-light github-dark`,style:{"--shiki-light":`#24292e`,"--shiki-dark":`#e1e4e8`,"--shiki-light-bg":`#fff`,"--shiki-dark-bg":`#24292e`},tabIndex:`0`,icon:`<svg viewBox="0 0 24 24"><path d="M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z" fill="currentColor" /></svg>`,children:(0,i.jsxs)(t.code,{children:[(0,i.jsx)(t.span,{className:`line`,children:(0,i.jsx)(t.span,{style:{"--shiki-light":`#24292E`,"--shiki-dark":`#E1E4E8`},children:`{`})}),` 252`,(0,i.jsxs)(t.span,{className:`line`,children:[(0,i.jsx)(t.span,{style:{"--shiki-light":`#005CC5`,"--shiki-dark":`#79B8FF`},children:` "Master Brokerage Agreement & Trading Rules"`}),(0,i.jsx)(t.span,{style:{"--shiki-light":`#24292E`,"--shiki-dark":`#E1E4E8`},children:`: `}),(0,i.jsx)(t.span,{style:{"--shiki-light":`#005CC5`,"--shiki-dark":`#79B8FF`},children:`true`}),(0,i.jsx)(t.span,{style:{"--shiki-light":`#24292E`,"--shiki-dark":`#E1E4E8`},children:`,`})]}),` 253`,(0,i.jsxs)(t.span,{className:`line`,children:[(0,i.jsx)(t.span,{style:{"--shiki-light":`#005CC5`,"--shiki-dark":`#79B8FF`},children:` "investorDeclarationTag"`}),(0,i.jsx)(t.span,{style:{"--shiki-light":`#24292E`,"--shiki-dark":`#E1E4E8`},children:`: `}),(0,i.jsx)(t.span,{style:{"--shiki-light":`#005CC5`,"--shiki-dark":`#79B8FF`},children:`false`})]}),` 254`,(0,i.jsx)(t.span,{className:`line`,children:(0,i.jsx)(t.span,{style:{"--shiki-light":`#24292E`,"--shiki-dark":`#E1E4E8`},children:`}`})})]})})}),` 255`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Field`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Description`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`Master Brokerage Agreement & Trading Rules`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`Whether the Master Brokerage Agreement has been signed`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`investorDeclarationTag`})}),(0,i.jsx)(t.td,{children:`boolean`}),(0,i.jsx)(t.td,{children:`Whether the investor declaration has been completed`})]})]})]}),` 256`,(0,i.jsxs)(t.p,{children:[`If either field is `,(0,i.jsx)(t.code,{children:`false`}),`, the user must complete that step before subscribing to a FIP product.`]}),` 257`,(0,i.jsx)(t.hr,{}),` 258`,(0,i.jsx)(t.h3,{id:`fip_subscribe`,children:`fip_subscribe`}),` 259`,(0,i.jsx)(t.p,{children:`Subscribe to a MetaComp Wealth Fixed Income Product.`}),` 260`,(0,i.jsx)(n,{type:`warn`,children:`Destructive â requires explicit user confirmation before calling.`}),` 261`,(0,i.jsxs)(t.p,{children:[`Call `,(0,i.jsx)(t.code,{children:`investor_precheck`}),` and present the `,(0,i.jsx)(t.code,{children:`get_fip_agreement`}),` document to the user before calling this tool.`]}),` 262`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Parameters`})}),` 263`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`N
263ame`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Required`}),(0,i.jsx)(t.th,{children:`Notes`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`id`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Currency item ID from `,(0,i.jsx)(t.code,{children:`get_fip_products`}),` (`,(0,i.jsx)(t.code,{children:`currencyItemList[].id`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Currency code (e.g. `,(0,i.jsx)(t.code,{children:`"USD"`}),`, `,(0,i.jsx)(t.code,{children:`"USDT"`}),`, `,(0,i.jsx)(t.code,{children:`"USDC"`}),`, `,(0,i.jsx)(t.code,{children:`"BTC"`}),`, `,(0,i.jsx)(t.code,{children:`"ETH"`}),`)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`termDays`})}),(0,i.jsx)(t.td,{children:`integer`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsxs)(t.td,{children:[`Term length in days. Use negative values for flexible products (e.g. `,(0,i.jsx)(t.code,{children:`-2`}),` for T+1 settlement, `,(0,i.jsx)(t.code,{children:`-1`}),` for T+3)`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`subscriptionAmount`})}),(0,i.jsx)(t.td,{children:`number`}),(0,i.jsx)(t.td,{children:`yes`}),(0,i.jsx)(t.td,{children:`Subscription amount in the specified currency`})]})]})]}),` 264`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:`Returns`})}),` 265`,(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:`{ success, code, msg, data, currencyConvertInfoList? }`})}),` 266`,(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:`data`}),` fields:`]}),` 267`,(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:`Field`}),(0,i.jsx)(t.th,{children:`Type`}),(0,i.jsx)(t.th,{children:`Description`})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`currency`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Subscribed currency`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`subscriptionAmount`})}),(0,i.jsx)(t.td,{children:`string`}),(0,i.jsx)(t.td,{children:`Confirmed subscription amount`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`subscriptionDate`})}),(0,i.jsx)(t.td,{children:`string or null`}),(0,i.jsxs)(t.td,{children:[`Subscription date (e.g. `,(0,i.jsx)(t.code,{children:`"2026-04-09"`}),`); null if not yet determined`]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`returnsAccrualStartDate`})}),(0,i.jsx)(t.td,{children:`string or null`}),(0,i.jsx)(t.td,{children:`Date returns start accruing; null if not yet determined`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`initialRedemptionOpeningDay`})}),(0,i.jsx)(t.td,{children:`string or null`}),(0,i.jsx)(t.td,{children:`Earliest redemption date; null if not yet determined`})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:`settlementDate`})}),(0,i.jsx)(t.td,{children:`string or null`}),(0,i.jsx)(t.td,{children:`Settlement date; null if not yet determined`})]})]})]})]})}function l(e={}){let{wrapper:t}=e.components||{};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}function u(e,t){throw Error(`Expected `+(t?`component`:`object`)+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}export{r as a,s as i,a as n,o as r,l as t};
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.