Skip to main content

Stablecoin treasury management across chains

What is stablecoin treasury management across chains?

Stablecoin treasury management across chains is keeping one current view of the stablecoin cash a business holds in every wallet, on every chain, by token, also called a multi-chain cash position.

Treasury teams need it to know how much cash they can move and where it sits, and wallets spread across chains and custodians make that hard to see from their treasury system; the AFP lists integration with treasury and ERP systems among the barriers to using stablecoins in treasury.

Goldsky keeps each watched wallet’s balance current in your database as cash moves, and your treasury system adds them up by wallet, chain and token.

You can see stablecoin cash across chains two ways: stream balances for every wallet into your database with Turbo Pipelines, or call the Feeds balances API for each wallet from your app.

Who uses stablecoin treasury management across chains?

Stablecoin payment companies, remittance companies, sponsor banks and fintechs that hold operating cash in stablecoins, in dollars or euros, on more than one chain.

How a multi-chain stablecoin cash view works

The diagram follows one treasury wallet from the day it’s opened to its balance in your total cash view, and shows who does each step. Your setup may differ.

Your business, step 1: Open a walletA new treasury wallet on any chain
Your business, step 2: CustodianCreate the addressYour custodian issues and holds it
Goldsky, step 3: TurboWatch every walletAdded live, no redeploy
Blockchains, step 4: Cash movesStablecoins in and out of any wallet
Your business, step 6: See all your cashTotals by wallet, chain and token
Goldsky, step 5: TurboKeep balances currentRead at each change, one row per wallet
  • Goldsky
  • Your provider

Ways to see stablecoin cash across chains

The pipeline pushes each balance change to your database as cash moves; the balances API returns holdings with US dollar values when your app calls it, with nothing running in between.

Best for
Many wallets, with positions kept beside your treasury system
Products
Turbo
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
Tens of wallets, checked from your app when needed
Products
Feeds
What you run
Nothing; you call an endpoint and keep what you need
What you write
REST requests
Where your data lives
Hosted by Goldsky
How results reach you
Returned when you call

Option 1: Manage stablecoin treasury across chains by streaming balances to your database

A pipeline watches every treasury wallet on your list, reads a wallet’s stablecoin balance whenever it moves, and keeps one current row per wallet and token in your database for your treasury system to total.

When to stream treasury balances to your database

You hold cash in many wallets, or on chains a balances API doesn’t cover, and want positions kept beside your treasury system.

What you’ll need

  • Goldsky Turbo
  • A custody provider that creates and holds your treasury wallets
  • A Postgres database for the wallet list
  • A database for current balances
  • Your treasury system or dashboard
  1. Open a treasury wallet

    Cash sits in wallets the business opens for operations, collections or payouts on each chain it uses.

    Your treasury team decides what each wallet is for and records it. A wallet with no recorded purpose shows up in the total with nobody to answer for it.

  2. Create the address

    Your custodian creates the wallet and holds its keys under your policy.

    The new address has to reach your treasury records as soon as it exists. If it doesn’t, cash can arrive in a wallet nobody is watching.

  3. Watch every wallet

    Handled by Goldsky Turbo

    You only see balances for wallets you’re watching, so each new one has to join the list.

    The list has to update without restarting anything. A gap between opening a wallet and watching it leaves its first receipts out of your cash view.

    With Goldsky, the wallet list is a Turbo Pipelines dynamic table in your Postgres database; insert a row and the running pipeline starts watching that address.

    Learn about dynamic tables (opens in a new tab)
  4. Move cash in and out

    Stablecoins arrive from customers and counterparties and leave as payments.

    Each movement is recorded in a block. For a short time the newest blocks can still be replaced, so a balance seen once can still change.

  5. Keep balances current

    Handled by Goldsky Turbo

    Treasury needs each wallet’s balance now, not as of yesterday’s export.

    When a watched wallet moves, its balance is read at that block and replaces the previous figure, one row per wallet and token. Reading only on a schedule leaves the view behind between reads.

    Turbo Pipelines calls _gs_eth_call with balanceOf at the transfer’s block and upserts one row per wallet and token, so a reorg correction replaces the same row.

    Read balances in pipeline SQL (opens in a new tab)
  6. See all your cash

    Treasury wants one figure per wallet, chain and token, and a total.

    Your treasury system sums the rows by wallet, chain and token and shows where cash sits, next to your bank balances, with each currency’s stablecoins, such as dollar and euro stablecoins, in their own total. Tokens with different decimals have to be scaled before they’re added, or one token’s units swamp the total.

What to know about streaming treasury balances

  • Goldsky runs the pipeline; totals by wallet, chain and token are queries in your database or treasury system.
  • A new wallet is watched as soon as you add it to the list, with no redeploy.
  • Balances update when a wallet moves, so a wallet that hasn’t moved keeps its last balance.
  • Rows keyed on the wallet take reorg corrections as updates.

Option 2: Manage stablecoin treasury across chains with a balances API

Your app calls a balances API for each treasury wallet’s current holdings across chains, with US dollar values, and adds the wallets together.

When to use a balances API for treasury

You have tens of wallets on chains the API covers and a small team, and want current balances whenever your app calls it, without running a pipeline or a database.

What you’ll need

  • Goldsky Feeds
  • A custody provider that creates and holds your treasury wallets
  • The list of your treasury wallet addresses
  • Your app or treasury system, to call the API and total the results
  1. Open a treasury wallet

    Cash sits in wallets the business opens for operations, collections or payouts on each chain it uses.

    Your treasury team decides what each wallet is for and records it. A wallet with no recorded purpose shows up in the total with nobody to answer for it.

  2. Create the address

    Your custodian creates the wallet and holds its keys under your policy.

    The new address has to reach your treasury records as soon as it exists. If it doesn’t, cash can arrive in a wallet nobody is watching.

  3. Keep your wallet list

    The API returns only the wallets you request, so your app needs the full list.

    Store each wallet’s address and purpose, and add new wallets as they’re opened. A wallet missing from the list is missing from the total.

  4. Move cash in and out

    Stablecoins arrive from customers and counterparties and leave as payments.

    Each movement is recorded in a block. For a short time the newest blocks can still be replaced, so a balance seen once can still change.

  5. Read each wallet’s balances

    Handled by Goldsky Feeds

    Treasury needs what each wallet holds now, on every chain it uses.

    Your app requests each wallet’s balances on the chains you use. A dollar total needs a price for every token, and a token without one adds nothing to it.

    The Goldsky Feeds balances endpoint returns one wallet’s latest balance of each token across the chains you request, with a US dollar value per token and a total for the wallet.

    Read wallet balances (opens in a new tab)
  6. See all your cash

    Treasury wants one figure per wallet, chain and token, and a total.

    Your app adds the wallets together by chain and token, keeping dollar and euro stablecoins in separate currency totals, and shows where cash sits. Record when each balance was read, because a total built from reads at different times can count a transfer twice.

What to know about using a balances API for treasury

  • Your app calls the API when it needs a figure; nothing is pushed to you when cash moves.
  • The API returns the latest balance only; a past date has to be rebuilt from transfers.
  • Each call covers one wallet, so the total across wallets is your step.
  • A token without a recent price comes back without a US dollar value.

What you control

Your team
  • Open a treasury wallet
  • See all your cash
Your providers
  • Custodian

Security and deployment

  • SOC 2 Type IIIndependently audited security controls.
  • Dedicated infrastructureSingle-tenant options for production workloads.
  • Data residencyCloud, on-premises or co-located.

Manage stablecoin treasury across chains 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