Pilot environment: testnet, simulated yield, mocked fiat rails — read the disclosure
Concepts

Banking as a service

Accounts and IBANs for you and for your end customers, money in, money moved between accounts, and money out to a registered destination.

Banking as a service is the half of the API that holds and moves fiat. You register your end customers as sub-clients, open accounts for yourself and for them, issue an IBAN on the accounts that need a payment coordinate, receive crypto at a deposit address TCB issues you, move and convert what you hold inside your own tree, and pay a destination you registered ahead of time. You instruct TCB on your clients' behalf, and every call is made from your own backend with an API key.

What you can do

CapabilityGuide
Register end customers and hold money attributable to themSub-clients
Open accounts, issue IBANs, and move money between accounts inside your own treeAccounts
Pay another TCB customer instantly, on TCB's own ledger, addressed by IBAN or handleSettlements
Accept a crypto deposit at a TCB-issued address, then convert the credited balanceCrypto deposits
Convert one currency you hold into anotherConversions
Register a destination, follow it through screening, TCB approval and its holding period, then pay itDestinations, Payouts
Be told when something settles, without polling — this one spans both halves of the APIWebhooks

The shape of it

Everything inside the shaded region belongs to you. The blue lines are money moving; the grey lines are structure.

Every terminal outcome on that path is announced to an endpoint you register, so you do not have to poll for it: crypto_deposit.credited on an arrival, payout.settled and payout.returned on a payment, conversion.settled on a conversion, transfer.completed on a move inside your tree.

Step by step

StepWhat happensRoute
1. Register a clientTCB accepts the identity information you collected for your end customer, screens it, and reserves a MAIN account and IBAN per currency. Each IBAN carries that customer's own legal name as the payee name, and goes live once the customer is verified.POST /sub-clients
2. Open accounts and IBANsFiat accounts in one currency each, owned by you or by a sub-client, and an IBAN on the ones that need a payment coordinate.POST /accounts, POST /accounts/{id}/iban
3. Money arrivesThe crypto path is the live inbound leg: crypto arrives at a deposit address TCB issues you and is credited to an account you control. An IBAN is the coordinate fiat will arrive at, but in the pilot no inbound payment reaches an IBAN — see what is real and what is not.POST /crypto-deposit-addresses, GET /crypto-deposits
4. Move it or convert itA transfer moves fiat between any two accounts inside your tree and is terminal on the response. A conversion turns one currency you hold into another.POST /transfers, POST /conversions
5. Register a destinationYou register where a payment is going ahead of sending it, and follow it through screening, TCB approval and its holding period.POST /beneficiaries
6. Pay itA payout sends fiat from an account you control to a destination that is already usable.POST /payouts

Where the money can go

FromToHow
An external walletAn account you controlAn on-chain transfer to the address POST /crypto-deposit-addresses issues you
One currency you holdAnother currencyPOST /conversions
One account in your treeAnother account in your treePOST /transfers
An account you controlA registered destinationPOST /payouts — a bank destination today

Putting fiat into a vault, and taking it back out, is the other half of the API: Yield as a service.

The states a conversion or a payout passes through, and what to do at each one, are in The money lifecycle. A crypto deposit's states are in its own guide.

The guides

Pilot disclosure

On this page