Accept BTC
on Bitcoin with an API.

Accept and send BTC on Bitcoin: a deposit address for every customer, deposits credited once they're final, and payouts your own team approves. The keys stay in hardware enclaves you can verify.

BTC on Bitcoin

The details.

NetworkBitcoin
TypeThe native coin of Bitcoin
Decimals8 (amounts in the API are whole numbers of the smallest unit)
DepositsA deposit counts once it is 2 blocks deep and its block is still part of the chain. If a reorganization removes it, it's never credited.
Minimum withdrawal0.0005 BTC
Network feesFees come from the coins being sent. A payment still unconfirmed after 30 minutes is resent with a higher fee (replace-by-fee), from the same coins to the same recipient.
AddressesNative SegWit (P2WPKH) addresses, starting with bc1q.
Asset id in the APIBTC

For developers

Deposit addresses and payouts in a few lines.

import { Valtu, depositAddress } from "@valtu/wallet-kit";
const valtu = Valtu.fromEnv();

// A deposit address for one of your customers (idempotent).
const wallet = await valtu.wallets.forCustomer("cus_42");
const address = depositAddress(wallet, "bitcoin");

// A payout of 0.0025 BTC: retries never send twice.
const amount = await valtu.assets.toBaseUnits("BTC", "0.0025");
await valtu.transfers.create({ walletId: payoutWalletId, asset: "BTC", amount, to, externalId: "payout_981" });

Python: pip install valtu, same calls (valtu.wallets.for_customer, valtu.transfers.create). Full guide: integration.

Related

More on Valtu.

Start with a test workspace today.

Same dashboard, same API, free test coins. Go live when your team is ready.