URL: /paas/fincard-virtual/accounts --- title: 'Accounts' description: 'Merchant account management, balances, ledger transactions, and fund transfers' --- # Account APIs Manage merchant accounts (WALLET and MARGIN types), query balances, view ledger transactions, and execute fund transfers. **Base URL:** `POST /api/v2.1/fincard/virtual/account/...` --- ## Assets (Account Info) Returns all merchant accounts with balances. ```bash POST /api/v2.1/fincard/virtual/account/info ``` **Request:** `{}` (empty body) **Response `data[]`:** | Field | Type | Description | |-------|------|-------------| | `accountId` | String | Account ID | | `accountName` | String | Account name | | `accountType` | String | `WALLET` or `MARGIN` | | `currency` | String | Currency (e.g. `USD`) | | `totalBalance` | BigDecimal | Total balance | | `availableBalance` | BigDecimal | Available balance | | `frozenBalance` | BigDecimal | Frozen balance | | `digital` | Long | Decimal places for display | ```json { "success": true, "code": 200, "msg": "Success", "data": [ { "accountId": "19847563867367666", "accountName": "wallet9023", "accountType": "WALLET", "currency": "USD", "totalBalance": 100, "availableBalance": 100, "frozenBalance": 0, "digital": 2 } ] } ``` --- ## Account List Paginated list of accounts with optional type filter. ```bash POST /api/v2.1/fincard/virtual/account/list ``` **Request:** | Field | Type | Required | Description | |-------|------|----------|-------------| | `accountId` | Long | No | Filter by account ID | | `type` | String | No | `WALLET` or `MARGIN` | | `pageNum` | Integer | Yes | Page number (default 1) | | `pageSize` | Integer | Yes | Page size (default 10, max 10) | **Response `data`:** `{ total: Long, records: [...] }` — records same shape as Account Info. --- ## Single Account Query Query a single account by ID. ```bash POST /api/v2.1/fincard/virtual/account/single/query ``` **Request:** | Field | Type | Required | Description | |-------|------|----------|-------------| | `accountId` | Long | Yes | Account ID | **Response `data[]`:** Same shape as Account Info. --- ## Ledger Transactions Query financial transaction history for an account. ```bash POST /api/v2.1/fincard/virtual/account/transaction ``` **Request:** | Field | Type | Required | Description | |-------|------|----------|-------------| | `pageNum` | Integer | Yes | Page number (default 1) | | `pageSize` | Integer | Yes | Page size (default 10, max 100) | | `orderNo` | String | No | Filter by transaction ID | | `accountId` | Long | No | Filter by account | | `bizType` | String | No | Transaction type (see below) | | `startTime` | Long | No | Start time (ms). Max 30-day range | | `endTime` | Long | No | End time (ms) | **Transaction Types (`bizType`):** | Value | Description | |-------|-------------| | `chain_deposit` | Wallet chain deposit | | `chain_withdraw` | Wallet chain withdrawal | | `card_purchase` | Card purchase (create fee + deposit) | | `card_deposit` | Card deposit | | `card_withdraw` | Card withdraw | | `card_cancel` | Card cancel | | `card_auth_fee_patch` | Card authorization fee | | `card_auth_cross_board_patch` | Card cross-border fee | | `gt_transfer` | Global transfer | | `gt_transfer_refund` | Global transfer refund | | `fixed` | Adjustment | | `card_overdraft_statement` | Card overdraft bill | **Response `data`:** `{ total, records[] }` | Field | Type | Description | |-------|------|-------------| | `txId` | Long | Internal transaction ID | | `accountId` | String | Account ID | | `amount` | BigDecimal | Amount | | `beforeBalance` | BigDecimal | Balance before transaction | | `afterBalance` | BigDecimal | Balance after transaction | | `orderNo` | String | Transaction ID | | `bizType` | String | Transaction type | | `direction` | String | `IN` or `OUT` | | `remark` | String | Remark | | `createTime` | Long | Millisecond timestamp | ```json { "success": true, "code": 200, "msg": "SUCCESS", "data": { "total": 34, "records": [ { "txId": 517581, "accountId": "1979009257233215490", "currency": "USD", "amount": "4.08", "beforeBalance": "99327.04375", "afterBalance": "99322.96375", "orderNo": "C2C_UZS_2025122307584616966", "bizType": "gt_transfer", "direction": "OUT", "remark": "Global transfer", "createTime": 1766480100874 } ] } } ``` --- ## Create Shared Account Create a new MARGIN account for shared card mode. ```bash POST /api/v2.1/fincard/virtual/account/create ``` **Request:** | Field | Type | Required | Description | |-------|------|----------|-------------| | `accountName` | String | Yes | Account name | **Response `data[]`:** The created account (same shape as Account Info). --- ## Fund Transfer Transfer or collect funds between accounts. ```bash POST /api/v2.1/fincard/virtual/account/transfer ``` **Request:** | Field | Type | Required | Description | |-------|------|----------|-------------| | `type` | String | Yes | `TRANSFER` or `COLLECTION` | | `merchantOrderNo` | String | Yes | Client transaction ID `[20..40]` | | `amount` | BigDecimal | Yes | Amount | | `payerAccountId` | Long | Yes | Payer account (typically WALLET) | | `payeeAccountId` | Long | Yes | Payee account (typically MARGIN) | | `remark` | String | No | Remark | **Response `data`:** `true` (boolean) Use this to fund a MARGIN account before creating shared (BUDGET_CARD) cards linked to it. --- ## Wallet Deposit (Deprecated) **Deprecated.** Use the [Wallet v2 APIs](/paas/fincard-virtual/wallet) instead. Create a wallet deposit order. Returns deposit address and amount. ```bash POST /api/v2.1/fincard/virtual/account/walletDeposit ``` **Request:** | Field | Type | Required | Description | |-------|------|----------|-------------| | `chain` | String | No | `TRC20` (default) or `BEP20` | | `amount` | BigDecimal | Yes | Deposit amount | **Response `data`:** | Field | Type | Description | |-------|------|-------------| | `orderNo` | String | Transaction ID | | `userInputDepositAmount` | BigDecimal | Input amount | | `actualDepositAmount` | BigDecimal | Actual amount (with decimal adjustment) | | `currency` | String | `USDT` | | `chain` | String | Network chain | | `toAddress` | String | Wallet deposit address | | `createTime` | Long | Order time (ms) | | `expireSecond` | Long | Validity period (seconds) | --- ## Wallet Deposit Transactions (Deprecated) **Deprecated.** Use the [Wallet v2 Transaction History](/paas/fincard-virtual/wallet) instead. ```bash POST /api/v2.1/fincard/virtual/account/walletDepositTransaction ``` Paginated query for wallet deposit transactions. Response: `{ total, records[] }`.