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
| Capability | Guide |
|---|---|
| Register end customers and hold money attributable to them | Sub-clients |
| Open accounts, issue IBANs, and move money between accounts inside your own tree | Accounts |
| Pay another TCB customer instantly, on TCB's own ledger, addressed by IBAN or handle | Settlements |
| Accept a crypto deposit at a TCB-issued address, then convert the credited balance | Crypto deposits |
| Convert one currency you hold into another | Conversions |
| Register a destination, follow it through screening, TCB approval and its holding period, then pay it | Destinations, Payouts |
| Be told when something settles, without polling — this one spans both halves of the API | Webhooks |
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
| Step | What happens | Route |
|---|---|---|
| 1. Register a client | TCB 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 IBANs | Fiat 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 arrives | The 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 it | A 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 destination | You 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 it | A payout sends fiat from an account you control to a destination that is already usable. | POST /payouts |
Where the money can go
| From | To | How |
|---|---|---|
| An external wallet | An account you control | An on-chain transfer to the address POST /crypto-deposit-addresses issues you |
| One currency you hold | Another currency | POST /conversions |
| One account in your tree | Another account in your tree | POST /transfers |
| An account you control | A registered destination | POST /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
Sub-clients
Register an end customer, attest to your due diligence, and watch it reach VERIFIED.
Accounts
Open accounts, issue IBANs, and move money inside your own tree.
Crypto deposits
Get your deposit address, read arrivals, and move the credited balance onward.
Conversions
Turn one currency you hold into another, priced by a venue that quotes independently.
Destinations
Register where a payment is going, and follow it through screening and approval.
Payouts
Pay a registered destination, and handle a return if one comes back.
Webhooks
Register an endpoint, verify signatures, handle retries. Spans both halves.