Skip to main content

Spark Stables Bridge

Spark Stables is a quote-based bridge that supports both directions:
  • Inbound: USDC on supported chains -> USDB on Spark (default).
  • Outbound: USDB on Spark -> USDC on a destination chain.

What it supports

  • Inbound USDC -> USDB on Spark via Brale.
  • Outbound USDB -> USDC on supported chains via Brale.
  • Quote-based deposits with direction-specific deposit addresses.
  • Chain confirmations enforced per chain.
  • Status tracking from processing to completed.
  • Amounts are strings in smallest units (6 decimals).

Supported chains

Inbound sourceChain / outbound destinationChain: solana, base, polygon, arbitrum, optimism, ethereum. Spark is the source chain for outbound.

How it works (high level)

Inbound (USDC -> USDB)
  1. User requests a quote with { sourceChain, amount, userSparkAddress } and receives a deposit address.
  2. User sends USDC to the deposit address and submits the transaction hash.
  3. Bridge verifies confirmations, orchestrates the Brale transfer, and marks the bridge completed once USDB lands on Spark.
Outbound (USDB -> USDC)
  1. User requests a quote with { direction: "out", destinationChain, amount, userSparkAddress, destinationAddress }.
  2. User sends USDB on Spark to the deposit address and submits the Spark transaction hash.
  3. Bridge verifies the Spark tx, orchestrates the Brale transfer, and marks the bridge completed once USDC lands on the destination chain.

SDK entry point

const stables = bridge.spark.stables;

Next steps

  • Quickstart: bridge/spark-stables/quickstart
  • Architecture: bridge/spark-stables/architecture
  • API reference: bridge/spark-stables/api