Prefunded Accounts
Prefunded Accounts (Client Balances) let you hold a balance on the Movmint ledger and use it as the source or target of an FX conversion for instant, rail-free settlement.
What are Prefunded Accounts?
A Prefunded Account — also called a Client Balance — is a balance Movmint holds for you on its ledger, denominated in a single asset. Each balance is identified by a client_account_id and backed by a ledger account named cl_{CLIENTNAME}_funds_{ASSET} (for example, cl_acmecorp_funds_USDC). Accounts are created automatically the first time you fund a given asset; you hold at most one account per asset.
What can they do?
Once funded, a Client Balance can be used as the source or target of a Quote & Capture by setting source_type / target_type to CLIENT_BALANCE:
- As source — Movmint debits your prefunded balance at capture time. No external deposit is needed per transaction, so settlement on the source side is instant.
- As target — converted funds are credited to your prefunded balance instead of being delivered to an external bank, card, or wallet. Delivery on the target side is instant.
- Both sides — using
CLIENT_BALANCEas both source and target performs an on-ledger asset swap (e.g., convert your USDC balance into a BSD balance).
Pricing (market rate, spread, and fees) is identical to a standard Quote & Capture — the only difference is the funding/delivery rail.
Why use them?
Prefunding removes real-time payment settlement from the critical path of a conversion. That means faster, more predictable execution, fewer moving parts per transaction, and the ability to pre-position liquidity for high-volume or latency-sensitive flows.
| Aspect | Standard Quote & Capture | CLIENT_BALANCE as source | CLIENT_BALANCE as target |
|---|---|---|---|
| Source funding | Send funds per transaction | Debited from prefunded balance | Send funds per transaction |
| Target delivery | External destination | External destination | Credited to prefunded balance |
| Settlement timing | On confirmed receipt/delivery | Immediate at capture | Immediate at delivery |
| External rails needed | Yes | None on source side | None on target side |
Balance states
Every Client Balance tracks three figures:
| Field | Description |
|---|---|
available_balance | Funds usable immediately as a CLIENT_BALANCE source on a Quote/Capture. |
pending_balance | Funding deposits detected on-chain but not yet settled or cleared by compliance screening. |
total_balance | available_balance + pending_balance. |
Funds move from pending_balance to available_balance once the deposit is confirmed on-chain and passes TRM sanctions/risk screening.
Funding
In the current release, balances are funded by DLT deposits only (e.g., USDC on Ethereum/Base/Solana, BTC on Bitcoin, plus EURC and ETH). You request an ephemeral deposit address, send the asset, and Movmint credits your balance after settlement and screening. Bank and card funding are not yet supported.
In this section
- Funding a Client Balance — request a deposit address and load funds.
- Getting Balances — read current available/pending/total balances.
- Getting Transactions — review funding, debits, and credits for an account.
IdempotencyThe Client Balance endpoints require an
x-idempotency-keyheader (a UUID you generate), including the read endpoints. Reuse the same key when retrying a request.
Updated 2 months ago
