Stablecoin deposits to business bank accounts
What are stablecoin deposits to business bank accounts?
Stablecoin deposits to business bank accounts are stablecoins a business sends to the deposit address of its bank or fintech account, which the provider then posts to that account beside its fiat balance.
Sponsor banks, crypto-native banks and fintechs offering stablecoin-enabled accounts run them because each deposit has to be booked once, against the right customer, before that customer can use the money.
Goldsky can watch every deposit address you issue and publish each deposit to your queue, while account opening, business verification, bank transfers and the posting itself stay with your team.
Who offers stablecoin deposits to business bank accounts?
Sponsor banks, crypto-native banks, banking-as-a-service platforms and business-account fintechs that run their own ledger and give each customer a stablecoin deposit address.
How a stablecoin deposit reaches a business account
Each card is one step in a single deposit, from the business opening its account to your core ledger posting the funds. Your setup may differ.
Open the business account
Every deposit has to be posted to an account, so the account comes first.
Your platform creates the account record that deposits will be posted to. Without a stable account ID, a deposit has nowhere to go and operations ends up placing it by hand.
Verify the business
Banks and account providers have to know who owns a business before it can move money through them.
Your KYB provider checks the business and the people behind it against your onboarding policy. If deposits are accepted before the check clears, you hold funds from a customer you haven’t approved and have to decide what to do with them.
Issue the account’s deposit address
Each account gets its own deposit address (its account number on the chain), so money sent there can only belong to that customer.
Your custody provider creates the address and holds its keys under your policy, and your platform records which account it belongs to. An address shared between accounts forces you to match deposits on amount and timing, which breaks as soon as two customers send the same sum.
Add the address to the watch list
Handled by Goldsky TurboYou only spot deposits to addresses you’re watching, so every new address goes on the list as soon as it’s issued.
The list has to grow and shrink as accounts open and close, without stopping anything that’s running. A gap between issuing the address and watching it means the customer’s first deposit can arrive unnoticed.
With Goldsky, the watch list can be a Turbo Pipelines dynamic table, which lives in a Postgres database. Insert the new address and the running pipeline starts matching it, with no redeploy.
Learn about dynamic tables (opens in a new tab)Receive the deposit
The business funds its account by sending stablecoins to its deposit address, from another bank, an exchange or its own wallet.
The transfer is recorded in a block on the chain. For a short time the newest blocks can still be replaced, so a deposit seen once isn’t final yet.
Spot every deposit to a watched address
Handled by Goldsky TurboOperations needs to know money arrived without anyone checking each address.
Every incoming transfer to a watched address has to be caught and recorded with the address, token, amount and transaction, including transfers made by another contract (an internal call). A scanner that skips those, or misses a reorg (the chain replacing its newest blocks) that swaps one deposit for another, surfaces later as a customer asking where their money went.
A Turbo Pipelines SQL transform keeps only transfers whose recipient is on the watch list, using
Build a deposit detection pipeline (opens in a new tab)dynamic_table_check(), and carries each match forward with its transaction hash and block.Publish each deposit to your queue
Handled by Goldsky TurboYour ledger takes work from a queue, so each deposit should arrive there as one message.
A message can be delivered more than once after a network error or a restart, and a deposit the chain later undoes arrives as a correction. The consumer has to ignore repeats by a stable ID and apply corrections, or the same deposit is posted twice.
Turbo Pipelines can publish each deposit to a Kafka topic, keyed on the transfer
Set up the Kafka sink (opens in a new tab)id, and reorg corrections reach the same topic as delete records for your consumer to apply.Take bank deposits into the same account
Most business accounts are funded by bank transfer as well, and both kinds of deposit end up in one balance.
Your account provider gives each customer an IBAN or account number in their own name, so a wire or SEPA payment is tied to the account without anyone reading the payment reference. Post bank and onchain deposits against the same account ID, or the customer’s balance has to be pieced together from two systems.
Match the deposit and post it to the account
A transfer becomes a deposit in the customer’s account only when your ledger books it.
Your system looks up the account that owns the receiving address, waits until the deposit is final by your rule for that chain, and posts it once. Posting before then risks a balance that includes money the chain has taken back.
Related jobs
Link a deposit address to the customer’s named account
The customer’s balance is in fiat, so a stablecoin deposit only lands in the right place if its address is tied to their account.
Each customer has an IBAN or account number in their own name, and gets a unique wallet address for stablecoins linked to it. Record the link when the address is issued; an address shared between customers leaves you matching deposits on amount and timing.
Watch the deposit address
Handled by Goldsky TurboYou only spot deposits to addresses you’re watching, so every new address goes on the list as soon as it’s issued.
The list grows and shrinks as accounts open and close, without stopping anything that’s running. A gap between issuing the address and watching it means the customer’s first deposit can arrive unnoticed.
Goldsky can keep the watch list in a Turbo Pipelines dynamic table, which lives in a Postgres database, so a new address is matched from the moment you insert it.
Learn about dynamic tables (opens in a new tab)Receive the stablecoins
The customer funds the account by sending stablecoins from their own wallet or someone else’s.
The transfer is recorded in a block on the chain. For a short time the newest blocks can still be replaced, so a deposit seen once isn’t final yet.
Publish each deposit to your queue
Handled by Goldsky TurboThe conversion and the credit both start from one record of the deposit.
Every incoming transfer to a watched address is recorded with the address, token, amount and transaction. A message can arrive twice, and a deposit the chain later undoes arrives as a correction, so the consumer ignores repeats by a stable ID and applies corrections.
A Turbo Pipelines SQL transform keeps transfers to watched addresses with
Set up the Kafka sink (opens in a new tab)dynamic_table_check(), and the Kafka sink publishes each one keyed on the transferid, with reorg corrections marked as deletes in thedbz.opheader.Screen and convert the deposit
The stablecoins have to clear screening and become fiat before the customer can spend them as fiat.
The provider screens the deposit, then converts it into the account’s currency, subject to its cut-offs, so the balance stays in fiat. A deposit held by screening isn’t credited while it’s held.
Credit the fiat to the named account
The deposit is done for the customer when the fiat shows in their account.
Your ledger posts the converted amount to the account that owns the address, once, against the deposit’s transaction. Keep the stablecoin amount, the rate and the fee beside it, so the statement and your reconciliation explain the fiat that was credited.
What you control
- Your team
- Open the business account
- Match the deposit and post it to the account
- Your providers
- KYC/KYB provider
- Wallet or custody provider
- Account provider
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 detect deposits
- Deposit detectionSpot incoming stablecoin transfers to your customers’ wallets and credit them once confirmed.
- Stablecoin wallet top-upsCredit a user’s app balance when a stablecoin transfer to their embedded wallet confirms.
- Crypto exchange deposit detectionDetect deposits to each exchange user’s addresses, wait for enough confirmations and credit the user once.
- Accept stablecoin paymentsConfirm stablecoin payments from shoppers and mark the order paid.
- Authorize and capture stablecoin paymentsHold a buyer’s stablecoins in an escrow contract at checkout, capture them to the merchant as orders ship, void what can’t be filled and refund after capture.
- Stablecoin off-rampsDetect the stablecoin a customer sends to cash out, so the provider can pay fiat to their bank account or card.
- Confirm x402 and agent stablecoin paymentsConfirm stablecoin payments that AI agents make, often per request, and keep each agent within its spending limits.
- Stablecoin subscription paymentsConfirm each scheduled stablecoin charge onchain and mark the subscription paid.
Use cases built the same way
- Stablecoin settlement for card networksSettle card-network obligations with issuers and acquirers in stablecoins across chains.
- Post onchain transfers to your ledgerPost each confirmed onchain transfer to the fintech’s own ledger, corrected for reorgs.
- Stablecoin card programsDetect stablecoin top-ups to the wallets that back a card program so spend limits update.
- Tokenized deposits for interbank settlementSettle payments between banks in tokenized deposits and tie each one to the core.
Take stablecoin deposits into business accounts 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.