Skip to main content

Spark Stables Bridge

Spark Stables is a quote-based bridge that supports inbound USDC -> USDB on Spark and outbound USDB -> USDC to supported chains.

Components

  • User wallet (Solana/EVM or Spark): Sends USDC on the source chain or USDB on Spark.
  • Bridge SDK (spark.stables): Quote, submit, and status helpers.
  • Bridge API: Issues quotes, verifies deposits, and orchestrates minting/transfers.
  • Source chain (USDC): Receives inbound deposits.
  • Spark: Receives inbound USDB and is the source for outbound USDB.
  • Brale: Converts USDC to/from USDB and transfers to the correct network.
  • Destination chain (USDC): Receives outbound transfers.

Architecture

Inbound (USDC -> USDB): Outbound (USDB -> USDC):

Flow: USDC -> USDB (Inbound)

Flow: USDB -> USDC (Outbound)

Status model

  • processing: deposit submitted, waiting for verification.
  • confirming: tx found, waiting for chain confirmations.
  • minting: Brale transfer in progress.
  • completed: USDB sent to Spark (inbound) or USDC sent to destination chain (outbound).
  • failed: terminal failure.
Quote status (when polling by quoteId):
  • pending: quote active, waiting for deposit.
  • expired: quote expired.
  • completed: quote fulfilled.

Operational notes

  • Amounts are strings in smallest units (6 decimals).
  • Only quote needs direction; other endpoints infer it from ids or tx hashes.
  • Inbound uses sourceChain; outbound uses destinationChain + destinationAddress.
  • Quotes expire; the deposit address is bound to the quote.
  • Processing is idempotent; it is safe to retry process.
  • Supported chains: solana, base, polygon, arbitrum, optimism, ethereum.