Not sure if accumulation addresses are right for you? See Choose Your Integration for a comparison of all three integration patterns.
- delivers
USDBto a fixed Spark address, or - swaps into
BTCand delivers BTC to a fixed Spark address.
/quote and /submit per deposit.
Supported routes
Supported routes
USDC (solana|base|ethereum|arbitrum|optimism|polygon|tron) -> USDB (spark)USDC (solana|base|ethereum|arbitrum|optimism|polygon|tron) -> BTC (spark)USDT (ethereum|arbitrum|optimism|tron|plasma) -> USDB (spark)USDT (ethereum|arbitrum|optimism|tron|plasma) -> BTC (spark)ETH (ethereum) -> USDB (spark)ETH (ethereum) -> BTC (spark)SOL (solana) -> USDB (spark)SOL (solana) -> BTC (spark)
Create an Accumulation Address
depositAddress: the address to receive deposits (Solana address for Solana source, deposit address for chains sources other than Solana)subscriptions: status of server-side deposit detection subscriptions (Solana-sourced only)
Deposit Lifecycle
- Your user sends a supported deposit asset to one of the returned deposit addresses.
- Flashnet detects the deposit and creates an order.
- The engine processes the order asynchronously.
- You observe progress via partner webhooks.
Webhooks
Accumulation deposits create normalorder.* webhook events.
To receive them:
- Register an endpoint with
POST /v1/webhooks. - Verify
X-Flashnet-Signatureon inbound requests. - Treat webhook delivery as at least once.
Manage Addresses
List accumulation addresses:GET /v1/accumulation-addresses
GET /v1/accumulation-addresses/:id
DELETE /v1/accumulation-addresses/:id(requiresX-Idempotency-Key)
Sync
POST /v1/accumulation-addresses/sync re-registers all enabled deposit addresses with the configured deposit detection webhooks.
The sync endpoint only re-registers Solana-sourced addresses. Chain-sourced addresses do not use webhook subscriptions.
This is intended for operational recovery and self-hosted deployments.