Skip to main content

Cross-chain transfer tracking

What it is

Cross-chain transfer tracking follows each stablecoin transfer that is burned on one chain and minted on another, and shows whether it has settled, is still in flight or has stalled.

Stablecoin payment providers, wallets and fintechs that keep their own ledger move funds between chains all day, and until the mint lands the money sits in neither balance, so a transfer that stalls unnoticed leaves a customer or a treasury short.

Goldsky records every burn and every mint in your database and runs a scheduled check on late transfers, while you pair them into a status, set the delay you accept and fix any stuck transfer.

Who it’s for

Stablecoin payment providers, payment service providers, wallets, card networks and fintechs that run their own ledger and move stablecoins between chains.

How cross-chain transfer tracking works

The diagram follows one transfer from the burn on the source chain to a stuck transfer being fixed, and shows who does each step. Your setup may differ.

Blockchains, step 1: Burn on the source chainStablecoins burned, with destination and nonce
Your business, step 3: Stablecoin issuerAttest the burnSigns the message once the burn is final
Goldsky, step 2: TurboRecord each burnEvery source chain, one table
Blockchains, step 4: Mint on the destination chainAttestation submitted, stablecoins minted
Your business, step 6: Pair burns with mintsSettled, in flight or stalled
Goldsky, step 5: TurboRecord each mintKeyed by source domain and nonce
Your business, step 8: Fix the stuck transferRe-attest or retry the mint
Goldsky, step 7: ComposeCheck stalled transfersAsks the issuer, alerts if not ready
  • Goldsky
  • Your provider

How to track cross-chain stablecoin transfers

Two Turbo Pipelines pipelines write every burn and every mint on the chains you use to your Postgres database, where one join gives each transfer its status. A scheduled Compose task checks late transfers with the issuer and raises an alert.

What you’ll need

  • Goldsky Turbo
  • Goldsky Compose
  • A Postgres database you run, with an API over it that the task can call
  • The issuer’s transfer contract addresses on each chain you use
  • An alerting endpoint your operations team watches
  1. Burn the stablecoins on the source chain

    A burn-and-mint transfer starts by destroying the stablecoins on the chain they leave.

    The burn records the amount, the destination chain, the recipient and a nonce that identifies the transfer. Until the matching mint lands, the money is in neither chain’s balance.

  2. Record every burn on each source chain

    Handled by Goldsky Turbo

    You can only follow transfers you’ve seen leave.

    Every burn on every chain you send from goes into one table, tagged with its source chain, nonce, amount and time. A chain left out shows its transfers as never started.

    With Goldsky, one Turbo Pipelines pipeline reads the logs of each chain’s TokenMessenger contract, decodes DepositForBurn, combines the chains with UNION ALL and writes the burns to Postgres.

    Build a cross-chain settlement ledger (opens in a new tab)
  3. Wait for the issuer to attest the burn

    The destination chain mints only against a message the issuer has signed.

    The issuer’s attestation service waits for the burn to be confirmed, then signs it. Its API answering “not found” early on is expected and doesn’t mean the transfer failed.

  4. Mint the stablecoins on the destination chain

    The transfer is done only when the stablecoins exist again on the chain they were sent to.

    Someone submits the signed attestation to the destination chain to mint. If nobody submits it, or the mint fails, the burn stays unmatched.

  5. Record every mint on each destination chain

    Handled by Goldsky Turbo

    A burn is settled only once you see its mint.

    Each mint is stored with the source domain and nonce of the burn it completes, and the chain it landed on. Without the source domain and nonce, mints can’t be tied back to burns.

    A second Turbo Pipelines pipeline decodes MessageReceived from each chain’s MessageTransmitter, which carries the source domain and nonce, and writes the mints to Postgres.

    Index mints on every chain (opens in a new tab)
  6. Pair burns with mints into a status

    Each transfer needs one answer: settled, in flight or stalled.

    Join burns to mints on source domain (the issuer’s number for the source chain) and nonce: a match is settled, an unmatched burn is in flight, and one older than the delay you accept is stalled. Nonces repeat across source domains, so joining on the nonce alone pairs the wrong transfers.

  7. Check stalled transfers with the issuer

    Handled by Goldsky Compose

    A stalled transfer needs someone to know why before customers ask.

    For each stalled transfer, ask the issuer’s attestation API whether the signed message is ready, and alert when it isn’t. A transfer with a ready attestation but no mint is stuck at the mint, not the attestation.

    A scheduled Compose task calls an endpoint you expose over your database with fetch for the stalled transfers, since a task reaches outside systems only over HTTP. It looks each up by source domain and burn transaction and posts an alert when the attestation isn’t complete, with retries and a trace of every run.

    Run a task on a schedule (opens in a new tab)
  8. Fix the stuck transfer

    Stalled money has to reach its destination or be accounted for.

    Retry a failed mint, or request a fresh attestation when the old one has expired, then mint again. As long as the burn exists on the source chain, the transfer can still be completed.

What you control

Your team
  • Pair burns with mints into a status
  • Fix the stuck transfer
Your providers
  • Stablecoin issuer

Security and deployment

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

Track cross-chain stablecoin transfers 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