Date: April 1, 2026
Participants: Suso (Founder), DeepSeek (Main Research Assistant)
Context: The escrow needs a reliable backup source of EUR/BCH liquidity in case a decentralised liquidity network is not available. This session investigates Kraken’s API, account requirements, and the practicalities of using it to buy BCH and forward it to merchants, while addressing the address whitelisting constraint.
Determine the minimum Kraken account level needed to automate BCH withdrawals, and design a safe, efficient flow that respects Kraken’s security features while allowing the escrow to pay any merchant without pre‑whitelisting their addresses.
Kraken offers three main tiers. For automated BCH withdrawals, the Intermediate level is sufficient:
| Account Level | Verification | BCH Withdrawal Limit | API Access | Best For |
|---|---|---|---|---|
| Intermediate | ID + proof of residence | Unlimited | Full API, 16 keys | Most users, including escrow |
| Pro Personal | Additional financial info | Higher | 25 keys, higher rate limits | High‑volume traders |
| Business | Business registration | Custom | 25 keys, highest limits | Corporate accounts |
Withdraw, Trade, and Balance permissions.When the escrow calls the Kraken API to withdraw BCH:
| Stage | Duration |
|---|---|
| Internal processing | Up to 20 minutes |
| Broadcast to network | A few seconds |
| First confirmation | ~10 minutes (BCH) |
| 15 confirmations | ~2.5 hours |
Critical observation: For retail payments, merchants can accept 0‑conf (zero confirmations) because BCH disables replace‑by‑fee and double‑spends are extremely rare. The merchant sees the transaction as soon as it is broadcast.
Kraken requires that any withdrawal address be whitelisted (added to the account’s approved address list). Whitelisting each merchant address individually is impractical.
Solution: Use a two‑step flow:
This adds one extra hop but keeps the whitelist minimal.
Timeline with 0‑conf trust:
| Step | Time |
|---|---|
| 1. Sender funds escrow (EUR) | immediate |
| 2. Escrow calls Kraken API to buy BCH and withdraw to hot wallet | ~20 min (Kraken processing) |
| 3. Kraken broadcasts BCH to hot wallet | seconds |
| 4. Hot wallet immediately sends BCH to merchant (using unconfirmed input) | seconds |
| 5. Merchant receives BCH broadcast (0‑conf) | seconds |
Total merchant payment time: ~20 minutes (plus a few seconds). The merchant’s wallet will show the incoming transaction as soon as step 5 occurs.
Yes. The merchant’s BCH wallet monitors the network for transactions to its address. As soon as the escrow’s hot wallet broadcasts the transaction to the merchant, the merchant’s wallet will display the incoming payment (0‑conf). The merchant does not need to see Kraken’s transaction at all.
This is the standard way BCH payments work: the payee receives a notification when the transaction is broadcast.
| Component | Details |
|---|---|
| Account level | Intermediate (sufficient) |
| API key | Must have Withdraw, Trade, and Balance permissions; IP whitelist recommended |
| Whitelisted address | One address: the escrow’s hot wallet (added once) |
| Hot wallet | A BCH wallet that can spend unconfirmed outputs; private keys secured |
| Merchant payments | Sent from hot wallet immediately after Kraken broadcast; 0‑conf accepted |
| Total time (sender EUR → merchant BCH) | ~20 minutes (Kraken processing) + seconds for second transaction |
| Risk | Mitigation |
|---|---|
| Kraken withdrawal fails after broadcast | Extremely rare. If it happens, the hot wallet would not have received BCH; the escrow would retry. No loss. |
| Hot wallet key compromise | Keep keys secure; limit the balance in the hot wallet (only amount in flight). |
| 0‑conf double‑spend | Extremely difficult on BCH; for high‑value transactions, the escrow can wait for 1 confirmation before forwarding (adds ~10 min). |
| Kraken downtime or API rate limits | Have a fallback exchange (e.g., Coinbase) or manual procedure. |
Withdraw, Trade, and Balance permissions; enable IP whitelisting.Kraken’s Intermediate account level meets all requirements for automated BCH buying and withdrawal. The two‑step flow (Kraken → escrow hot wallet → merchant) elegantly bypasses the address whitelist restriction while adding an extra layer of security (the hot wallet holds only in‑flight funds). The merchant receives the BCH as a standard 0‑conf transaction seconds after Kraken broadcasts, making this approach viable for retail payments.
Prepared by DeepSeek, Main Research Assistant, April 1, 2026