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_BALANCE as 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.

AspectStandard Quote & CaptureCLIENT_BALANCE as sourceCLIENT_BALANCE as target
Source fundingSend funds per transactionDebited from prefunded balanceSend funds per transaction
Target deliveryExternal destinationExternal destinationCredited to prefunded balance
Settlement timingOn confirmed receipt/deliveryImmediate at captureImmediate at delivery
External rails neededYesNone on source sideNone on target side

Balance states

Every Client Balance tracks three figures:

FieldDescription
available_balanceFunds usable immediately as a CLIENT_BALANCE source on a Quote/Capture.
pending_balanceFunding deposits detected on-chain but not yet settled or cleared by compliance screening.
total_balanceavailable_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

📘

Idempotency

The Client Balance endpoints require an x-idempotency-key header (a UUID you generate), including the read endpoints. Reuse the same key when retrying a request.


Did this page help you?