Skip to main content

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.

Your business, step 1: Open the accountA business opens an account with you
Your business, step 2: KYC/KYB providerVerify the businessKYB done before deposits are accepted
Your business, step 3: Wallet or custody providerIssue a deposit addressEach account gets its own address
Goldsky, step 4: TurboWatch the addressAdded to the watch list, no redeploy
Blockchains, step 5: Deposit arrivesStablecoins land at the account’s address
Goldsky, step 6: TurboSpot the depositTransfers to watched addresses picked out
Your business, step 8: Account providerReceive bank depositsWires to the account’s own named IBAN
Goldsky, step 7: TurboPublish to your queueOne message per deposit
Your business, step 9: Match and postYour core ledger books it to the account
  • Goldsky
  • Your provider

How to take stablecoin deposits into business accounts

Goldsky runs a pipeline that checks every stablecoin transfer against the deposit addresses you’ve issued and publishes each match to your queue. Your core ledger reads the queue and posts each deposit to its account.

What you’ll need

  • Goldsky Turbo
  • A business verification (KYB) provider
  • A custody or wallet provider that issues each account’s deposit address
  • A database for the list of deposit addresses
  • A message queue your ledger reads from
  • An account provider that issues named IBANs or account numbers
  • Your core ledger
  1. 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.

  2. 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.

  3. 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.

  4. Add the address to the watch list

    Handled by Goldsky Turbo

    You 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)
  5. 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.

  6. Spot every deposit to a watched address

    Handled by Goldsky Turbo

    Operations 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 dynamic_table_check(), and carries each match forward with its transaction hash and block.

    Build a deposit detection pipeline (opens in a new tab)
  7. Publish each deposit to your queue

    Handled by Goldsky Turbo

    Your 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 id, and reorg corrections reach the same topic as delete records for your consumer to apply.

    Set up the Kafka sink (opens in a new tab)
  8. 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.

  9. 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.

How to credit stablecoin deposits to a fiat account

Detect the stablecoins a customer sends to their account’s deposit address, so the provider can convert them and credit the fiat balance of the customer’s named account.

Goldsky runs a pipeline that checks every stablecoin transfer against the deposit addresses issued to your customers and publishes each match to your queue. Your provider screens and converts the deposit, and your ledger credits the fiat to the customer’s named account.

What you’ll need

  • Goldsky Turbo
  • An account provider that issues named IBANs or account numbers
  • A provider that issues deposit addresses, screens deposits and converts stablecoins into fiat
  • A database for the list of deposit addresses
  • A message queue your ledger reads from
  • Your core ledger
  1. 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.

  2. Watch the deposit address

    Handled by Goldsky Turbo

    You 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)
  3. 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.

  4. Publish each deposit to your queue

    Handled by Goldsky Turbo

    The 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 dynamic_table_check(), and the Kafka sink publishes each one keyed on the transfer id, with reorg corrections marked as deletes in the dbz.op header.

    Set up the Kafka sink (opens in a new tab)
  5. 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.

  6. 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.

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.

© Endless Sky Inc. All rights reserved.

PrivacyTermsSecurity

System status