Skip to main content
Waiting for Bitcoin confirmations is painful. Traditional deposits require 1-6 block confirmations (10-60 minutes) before funds are usable. Spark’s 0-conf deposits eliminate this wait entirely.

The Confirmation Problem

When you deposit Bitcoin to most platforms:
Send BTC → Wait 10+ minutes → 1 confirmation → Maybe wait more → Funds available
This delay exists because of double-spend risk: the sender could broadcast a conflicting transaction that steals back the Bitcoin before it confirms. Platforms wait for confirmations to ensure the deposit is final.

0-Conf: Instant Credit

Spark’s 0-conf deposits work differently:
Send BTC → Funds available immediately → Spark handles the risk
Your deposit is credited instantly, even before it appears in a Bitcoin block. You can use your funds right away.

How It Works

1. You Send Bitcoin to Your Deposit Address

const depositAddress = await wallet.getSingleUseDepositAddress();
// Send BTC to this address from any wallet/exchange

2. Spark Detects the Unconfirmed Transaction

The moment your transaction hits the Bitcoin mempool, Spark sees it.

3. Instant Credit (0-Conf)

If the deposit qualifies for 0-conf, your Spark balance is credited immediately:
// Balance updates instantly, no confirmation wait
const balance = await wallet.getBalance();
console.log(`Available now: ${balance.bitcoin.total} sats`);

4. Spark Absorbs the Risk

Spark Service Providers (SSPs) take on the double-spend risk. If someone attempts a double-spend, the SSP absorbs the loss, not you.

Risk Analysis

Why This Is Safe for You

  • You get instant access: Use your Bitcoin immediately
  • No risk to you: If a double-spend occurs, Spark absorbs it
  • Same self-custody: You maintain unilateral exit rights

How Spark Manages Risk

Spark uses multiple signals to assess 0-conf safety:
SignalWhat It Means
RBF FlagReplace-by-fee enabled = higher risk
Fee RateLow fees = easier to replace
Input AgeOlder inputs = less likely to double-spend
AmountLarger amounts may require confirmation
Sender ReputationKnown patterns reduce risk
For deposits that don’t qualify for 0-conf (high risk), standard confirmation requirements apply.

Use Cases

Exchanges and Trading

  • Deposit BTC and trade immediately
  • No waiting for confirmations during volatile markets
  • Better UX than competitors

Payment Applications

  • Accept Bitcoin payments instantly
  • Credit user accounts without delay
  • Enable real-time commerce

Wallets

  • Seamless deposit experience
  • Funds available the moment they’re sent
  • Competitive with custodial solutions

Developer Integration

Check Deposit Status

// Get deposit address
const address = await wallet.getSingleUseDepositAddress();

// Monitor for deposits (including 0-conf)
wallet.on('deposit', (deposit) => {
  console.log(`Deposit detected: ${deposit.amount} sats`);
  console.log(`Confirmed: ${deposit.confirmed}`);
  console.log(`0-conf credited: ${deposit.instantCredit}`);
});

Query Pending Deposits

const deposits = await wallet.getPendingDeposits();

for (const deposit of deposits) {
  console.log(`${deposit.amount} sats - ${deposit.confirmations} confirmations`);
}

Comparison: Deposit Times

Platform TypeTime to Use Funds
Spark (0-conf)Instant
Traditional Exchange10-60 minutes (1-6 conf)
Hardware Wallet10+ minutes (1 conf)
Lightning (channel open)10-60 minutes

Limitations

Not All Deposits Qualify

Some deposits still require confirmations:
  • Very large amounts
  • High-risk transaction patterns
  • RBF-enabled transactions with low fees

Coming Soon

0-conf deposits are currently in development and rolling out progressively. Check the Features page for current status.

Security Model

For Users

Your funds remain self-custodial throughout. The 0-conf credit is real Bitcoin that you can:
  • Transfer on Spark instantly
  • Withdraw to L1 (after confirmation)
  • Exit unilaterally if needed

For SSPs

Service providers who offer 0-conf take calculated risk in exchange for:
  • Better user experience
  • Competitive advantage
  • Fee revenue from deposits

The Bottom Line

0-conf deposits solve Bitcoin’s UX problem without compromising self-custody:
  • Instant: No more waiting for confirmations
  • Safe for users: Spark absorbs double-spend risk
  • Self-custodial: Your keys, your Bitcoin
  • Production-ready: Battle-tested risk assessment
This is how Bitcoin deposits should work.

Learn More