Skip to main content
Instant Bitcoin deposits UI
0-conf deposits make inbound Bitcoin feel instant. Instead of waiting for the normal L1 confirmation threshold before a deposit becomes usable, an enabled integration can quote the transaction, select an available fulfillment plan, and claim the credit as soon as the transaction is accepted for instant funding. For wallets, onramps, bridges, exchanges, and payment apps, this removes the dead time between “BTC sent” and “funds available.” Users can keep trading, bridging, spending, or settling while the Bitcoin transaction continues toward final confirmation in the background.
0-conf static deposits are currently gated. Contact the team to enable support for your integration.
The first-party JavaScript SDK exposes this flow through:
  • wallet.getInstantStaticDepositQuote(transactionId, outputIndex?, partnerId?)
  • wallet.claimInstantStaticDeposit({ quote, plan, transactionId, outputIndex })
These SparkWallet methods quote the deposit, return the available funding plans, and claim the selected plan.

Flow

1

Generate a static deposit address

Use the same static deposit address flow as a normal L1 deposit.
2

Send Bitcoin to the address

Broadcast a Bitcoin transaction paying the static deposit address. Record the transaction ID and the output index that pays the Spark deposit address.
3

Request an instant quote

Ask for an instant static deposit quote. Pass partnerId if one has been issued for your integration.
4

Select a fulfillment plan

The quote response includes one or more fulfillment plans. A plan with confirmations === 0 is the 0-conf path. Plans with higher confirmation counts can also be claimed through the same SDK method.
5

Claim the deposit

Claim with the quote and selected plan. The SDK signs the correct user statement for the selected plan and submits the instant static deposit claim.

Complete Example


Quote Response

getInstantStaticDepositQuote returns:
Use quote.creditAmount.originalValue when you need the credited sat amount. Use plan.confirmations to distinguish the 0-conf plan from plans that require one or more confirmations.

Claim Response

claimInstantStaticDeposit returns:
After claiming, monitor wallet balance, transfer state, or your own deposit workflow using your normal Spark wallet integration.

Notes

  • The deposit must be to a static deposit address from getStaticDepositAddress().
  • Pass outputIndex when you know it. The quote method can auto-detect it, but the claim call requires an output index.
  • 0-conf availability is determined by the quote and fulfillment plans. If the deposit is not eligible or your integration is not enabled, the quote or claim may fail.