Bitcoin Cash wallet setup
Before you start
- A Manatee Test API key
- A dedicated Electron Cash Testnet wallet/account
- A public HTTPS webhook URL
curl
Export only the account-level public key. Never submit an Electron Cash seed or private key.
What you'll do
Configure read-only BCH derivation, create a payment, verify a synthetic webhook, and observe pending → detected → confirmed.
Step 1 — Create a dedicated Testnet wallet
Open Electron Cash in Testnet mode, create a standard wallet, and keep its seed offline. Use a dedicated account for Manatee payments.
bchtest:.Step 2 — Export the account public key
Copy the account-level tpub for derivation path m/44'/145'/0'. Manatee derives external receive addresses from /0/index.
The tpub is non-spending data but reveals related receiving addresses and activity. Treat it as sensitive merchant wallet metadata.
Step 3 — Configure BCH in the dashboard
Open Dashboard → Wallets → Test → Bitcoin Cash, paste the account public key, and compare the first derived CashAddr with Electron Cash before saving.
Step 4 — Create a test payment
curl https://api.manatee-api.io/v1/bch/payments \
-H "Authorization: Bearer <TEST_API_KEY>" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042-bch" \
-d '{
"amount_sats": 150000,
"reference": "order-1042",
"webhook_url": "https://shop.example/webhooks/manatee",
"required_confirmations": 1
}'
amount_sats uses 100,000,000 satoshis per BCH. Store the returned payment fields with the order.
asset: "bch", network: "testnet", a bchtest: address, and status: "pending".Step 5 — Verify webhook handling
Send a synthetic BCH event from the dashboard or the test webhook endpoint. Verify its HMAC signature and process the event ID idempotently.
Step 6 — Complete a Testnet transfer
Send the exact BCH amount to the returned CashAddr. Observe the detected and confirmed events.
Failure and recovery
- Address mismatch: verify coin type
145, external branch0, and Testnet mode. - Invalid CashAddr: retain the
bchtest:network prefix. - Missing webhook: query
GET /v1/bch/payments/{id}and inspect delivery attempts. - Wrong amount: reconcile received satoshis before fulfillment.