Tokenized deposits for interbank settlement
What are tokenized deposits for interbank settlement?
Tokenized deposits for interbank settlement are payments between banks made by moving deposit tokens, ordinary bank deposits recorded as tokens on a chain, instead of wiring money between correspondent accounts.
Global and regional banks use them to settle with each other at any hour, and every token movement has to appear in the core banking system as the same booking.
Goldsky decodes each mint, burn and transfer of the deposit token for your systems and checks the onchain totals against your core; the token platform, the bookings and the matching stay with the bank.
You can settle tokenized deposits two ways: stream every token movement to your queue or database with Turbo Pipelines, or index the token contract with a hosted subgraph and receive a webhook for each change.
Who uses tokenized deposits for interbank settlement?
Global banks, regional banks and sponsor banks that issue deposit tokens or settle with banks that do.
How tokenized deposit settlement between banks works
The diagram follows one interbank payment from the debit in your core banking system to the check that the onchain and core totals agree. Your setup may differ.
Ways to settle interbank payments in tokenized deposits
The pipeline pushes each movement into a queue or database you run and can read several chains at once; the subgraph keeps the records behind a hosted query API for one chain.
- Best for
- Several chains, movements in your own queue
- What you run
- The destination: your database, queue or bucket, or a Postgres database Goldsky hosts
- What you write
- Pipeline YAML and SQL; TypeScript transforms when needed
- Where your data lives
- In your own database or systems
- How results reach you
- Pushed to you
- Best for
- One EVM chain, read through a hosted API
- What you run
- Nothing; Goldsky runs indexing, storage and the API
- What you write
- A schema and mapping handlers, or a no-code or low-code config for simple contracts
- Where your data lives
- Hosted by Goldsky
- How results reach you
- You query; changes are pushed
| Usual setupOption 1: Stream to your queue | Option 2: Hosted subgraph | |
|---|---|---|
| Best for | Several chains, movements in your own queue | One EVM chain, read through a hosted API |
| Products | TurboCompose | SubgraphsCompose |
| What you run | The destination: your database, queue or bucket, or a Postgres database Goldsky hosts | Nothing; Goldsky runs indexing, storage and the API |
| What you write | Pipeline YAML and SQL; TypeScript transforms when needed | A schema and mapping handlers, or a no-code or low-code config for simple contracts |
| Where your data lives | In your own database or systems | Hosted by Goldsky |
| How results reach you | Pushed to you | You query; changes are pushed |
Book the interbank payment in the core
The payment exists first as a booking in your core banking system, which debits the paying client.
The core records the client debit, the receiving bank and a payment reference. That reference is what ties the token movement back to the booking later, so it has to travel with the payment.
Move the deposit tokens
Settling between banks means the deposit tokens move from your bank’s wallet to the receiving bank’s wallet.
Your token platform builds and sends the transfer, or mints or burns tokens when money enters or leaves the token. A transfer sent without the payment reference has to be matched later by amount and time, which breaks when two payments are the same size.
Settle the tokens on the chain
The payment is settled when the receiving bank holds the tokens on the chain both banks read.
The transfer is recorded as an event in a block. Until enough blocks sit on top of it, a reorg can still replace that block, so a booking made from it early may have to be undone.
Decode every token movement
Handled by Goldsky TurboYour systems need each mint, burn and transfer in plain fields, not as raw chain logs.
Every event from the token contract is read and turned into sender, receiver, amount and type. Decoding against an out-of-date interface after the token is upgraded puts wrong values in every field.
Turbo Pipelines can read the token contract’s logs and decode them with
Decode logs with SQL functions (opens in a new tab)_gs_log_decode, pulling the interface with_gs_fetch_abiso the pipeline keeps up when the token is upgraded.Publish each movement to your queue
Handled by Goldsky TurboYour settlement engine reads token movements from a queue it already consumes, so it books them in its own order and pace.
Each message needs a stable key, because delivery can repeat after a network error and your engine has to skip a message it already booked. When the chain replaces recent blocks, the engine also has to remove what it booked from them.
Goldsky’s Kafka sink publishes each row keyed on its ID, with a
Set up the Kafka sink (opens in a new tab)dbz.opheader that marks it as an insert, update or delete. A movement undone by a reorg arrives as a delete for your engine to apply.Match each movement to the payment and post it
A token movement only counts in the books once it’s tied to the payment it settles.
Your systems match each movement to a core payment by reference, wallet and amount, then post the receiving side. A movement with no payment, or a payment with no movement, is a break someone has to explain.
Check the onchain totals against the core
Handled by Goldsky ComposeEvery token in circulation should match a deposit on the books, and the two records drift apart if any movement is missed.
On a schedule, compare the tokens outstanding on the chain with the deposits your core holds against them, and raise a break when they differ. The check has to record its inputs, so an auditor can see what was compared and when.
A scheduled Compose task can read the token’s
Check supply against your records (opens in a new tab)totalSupplyon the chain, fetch the matching figure from your core’s API and post a break to your operations tooling when they differ. Every read and request is logged on the run.
What to know about streaming deposit-token movements
- Goldsky runs the pipeline; the queue or database it writes to, and the code that books each movement, are yours.
- Each movement is pushed as it’s decoded, so nothing on your side polls the chain.
- A queue receives reorg corrections as delete records your consumer applies; database tables with a primary key are corrected in place.
- Delivery is at least once, so your consumer skips a message it has already booked.
Book the interbank payment in the core
The payment exists first as a booking in your core banking system, which debits the paying client.
The core records the client debit, the receiving bank and a payment reference. That reference is what ties the token movement back to the booking later, so it has to travel with the payment.
Move the deposit tokens
Settling between banks means the deposit tokens move from your bank’s wallet to the receiving bank’s wallet.
Your token platform builds and sends the transfer, or mints or burns tokens when money enters or leaves the token. A transfer sent without the payment reference has to be matched later by amount and time, which breaks when two payments are the same size.
Settle the tokens on the chain
The payment is settled when the receiving bank holds the tokens on the chain both banks read.
The transfer is recorded as an event in a block. Until enough blocks sit on top of it, a reorg can still replace that block, so a booking made from it early may have to be undone.
Index every token movement
Handled by Goldsky SubgraphsYour systems need each mint, burn and transfer as a record they can query, from the token’s first block on.
A schema sets the records and mappings turn each contract event into one. A field you leave out can’t be queried later without changing the index and building it again.
Goldsky Subgraphs runs your mappings over the token contract from the block you start at and serves the records at a hosted GraphQL endpoint.
Learn how Subgraphs work (opens in a new tab)Push each movement to your backend
Handled by Goldsky SubgraphsSettlement can’t wait for someone to query, so each new movement has to reach your systems as it’s recorded.
Each change has to say whether it’s a new record, an update or a rollback after a reorg. Changes can arrive out of order, so your backend keeps its own last-updated time for each record.
A Subgraphs webhook on the movement entity sends an
Set up subgraph webhooks (opens in a new tab)INSERT,UPDATEorDELETEpayload for every change, and each version’sblock_rangemarks a reorg rollback.Match each movement to the payment and post it
A token movement only counts in the books once it’s tied to the payment it settles.
Your systems match each movement to a core payment by reference, wallet and amount, then post the receiving side. A movement with no payment, or a payment with no movement, is a break someone has to explain.
Check the onchain totals against the core
Handled by Goldsky ComposeEvery token in circulation should match a deposit on the books, and the two records drift apart if any movement is missed.
On a schedule, compare the tokens outstanding on the chain with the deposits your core holds against them, and raise a break when they differ. The check has to record its inputs, so an auditor can see what was compared and when.
A scheduled Compose task can read the token’s
Check supply against your records (opens in a new tab)totalSupplyon the chain, fetch the matching figure from your core’s API and post a break to your operations tooling when they differ. Every read and request is logged on the run.
What to know about indexing deposit tokens with a hosted subgraph
- Goldsky hosts the index and its GraphQL endpoint; your backend receives the webhooks and keeps its own copy if it needs one.
- Webhooks can arrive out of order, and each record version’s
block_rangeis how your code tells a reorg rollback from an update. - Adding a field later means changing the subgraph and indexing again.
- One subgraph covers one chain, so settlement on several chains needs one subgraph each.
What you control
- Your team
- Book the interbank payment in the core
- Match each movement to the payment and post it
- Your providers
- Deposit token platform
Questions and answers
What are tokenized deposits?
Tokenized deposits are ordinary bank deposits recorded as tokens on a blockchain, issued by a bank and held on its balance sheet like any other deposit. The customer’s claim on the bank doesn’t change; only the record does, so the money can move between accounts or banks on the chain at any hour. Banks use them for treasury moves and for payments between institutions.
How are tokenized deposits different from stablecoins?
A tokenized deposit is a deposit at the bank that issued it, while a stablecoin is issued by a separate company and backed by a pool of reserve assets. Deposit tokens usually move only between the bank’s approved clients and partner banks. Stablecoins circulate more widely, including on public chains between people who aren’t customers of the issuer.
How do tokenized deposits work?
A bank debits a client’s account and mints the same amount as deposit tokens, which move on a chain between approved wallets until they’re burned and credited back as an ordinary deposit. Each mint, transfer and burn is an event on the chain that the core banking system has to book. Banks match every event to its payment and compare the tokens outstanding with the deposits behind them.
Security and deployment
- SOC 2 Type IIIndependently audited security controls.
- Dedicated infrastructureSingle-tenant options for production workloads.
- Data residencyCloud, on-premises or co-located.
More use cases that settle across chains and currencies
- Stablecoin settlementSettle business, card-network and interbank payments in stablecoins or deposit tokens across chains.
- B2B cross-border payments in stablecoinsPay suppliers abroad in stablecoins and track each payment from send to off-ramp.
- Cross-chain transfer trackingSee every cross-chain stablecoin transfer as settled, in flight or stalled, and catch the stuck ones.
- Stablecoin settlement for card networksSettle card-network obligations with issuers and acquirers in stablecoins across chains.
- Onchain FX between stablecoinsSwap between stablecoin currencies onchain and record the rate and settlement of each trade.
Use cases built the same way
- Stablecoin deposits to business bank accountsDetect stablecoin deposits into business bank and fintech accounts and post them to the account alongside fiat.
- Crypto exchange deposit detectionDetect deposits to each exchange user’s addresses, wait for enough confirmations and credit the user once.
- Stablecoin credit lines for card issuersTrack the stablecoin draws and repayments on a card issuer’s credit line so the lender’s book matches the chain.
- Post onchain transfers to your ledgerPost each confirmed onchain transfer to the fintech’s own ledger, corrected for reorgs.
Settle interbank payments in tokenized deposits with Goldsky
We’ll map it to your systems and show you what Goldsky runs, so your team builds the product, not the pipelines underneath it.