Deposits, Withdrawals, and Rebalances
Deposits, withdrawals, and rebalances are Tesser's first-party funds-movement resources: there is no third-party beneficiary. Every account in the flow is one of yours — a bank account, a self-custodial wallet, or a ledger you hold at a provider. That is what separates them from Payments, which move funds to or from an arms-length third party. Deposits and withdrawals reach that result by transacting with a liquidity provider, which executes the on- or off-ramp; rebalances move funds only between your Tesser-managed accounts.
| Resource | What it moves | Create endpoint |
|---|---|---|
| Deposit | Funds into a liquidity provider, on-ramping fiat to stablecoin | POST /v1/treasury/deposits |
| Withdrawal | Funds out of a liquidity provider, off-ramping stablecoin to fiat | POST /v1/treasury/withdrawals |
| Rebalance | Funds between your own Tesser-managed accounts | POST /v1/treasury/rebalances |
All three share the same data shape, lifecycle phases, and statuses as payments. See Funds Movement Lifecycle and Data Model for the desired / estimated / actual overlays, the step model, and balance and step statuses.
Deposits and Withdrawals
Deposits and Withdrawals involve funds exchange with a liquidity provider to on-ramp funds into your organization’s wallets or off-ramp funds back into external bank accounts.
- On-ramping: Exchange fiat for stablecoin(s) via a stablecoin liquidity provider. Fiat funds leave your organization’s, or your customers’, fiat bank account(s) and stablecoins are deposited to your wallets.
- Off-ramping: Exchange stablecoin(s) for fiat via a liquidity provider. Stablecoins leave your organization’s, or your customers’, wallets and fiat is deposited to fiat bank account(s).
To create either one, see Deposit Funds via a Liquidity Provider and Withdraw Funds via a Liquidity Provider.
Rebalances
A rebalance moves funds between two of your Tesser-managed accounts — either a provider ledger (for example, a Circle ledger or an OpenFX ledger) or a self-custodial wallet you have registered with Tesser. Nothing enters or leaves your control: a rebalance only changes where your funds sit.
Rebalances exist because a balance of the right total size is not necessarily in the right place. You may need to:
- Fund a wallet on a specific network before sending payouts on that network
- Consolidate balances that have accumulated across several wallets or ledgers
- Convert an idle currency balance into the stablecoin your upcoming payouts require
- Move funds between providers to match where your payment volume is going
A rebalance can be same-currency or cross-currency, and Tesser plans the route for you:
- Same-currency rebalances execute as a single
transferstep — for example, moving USDC between two Circle ledgers, or USDT on POLYGON from one self-custodial wallet to another.estimated.*matchesdesired.*1:1, and there is no swap. - Cross-currency rebalances begin with a
swapstep at a provider ledger (the step's source and destinationaccount_idare the same account), then atransferstep moves the swapped balance to the destination. Tesser reports an indicative exchange rate inestimated.*; the realized fill lands inactual.*and may differ slightly.
Rebalances are first-party only — they never involve a third party. To send funds to a beneficiary outside your organization, create a payment instead. See Send a Stablecoin Payout.
Because a rebalance debits one of your accounts, Tesser runs a balance check before executing. Where the source is a self-custodial wallet, you also sign the outbound transaction yourself. For the full walkthrough — including request and response examples, webhooks, and the signing flow — see Rebalance Funds.