Errors
HTTP statuses you will see on the Bit2Me API and how to react.
Use this page as a cookbook. Confirm the exact body in your logs. Do not invent error codes. The same number can mean different things on Wallet vs Pro.
Before you debug, check status.bit2me.com (Auth, Wallet, Pro). If the platform is healthy and the error repeats, open a support ticket with timestamp (UTC), path, HTTP status, and a redacted body.
| Status | Wallet (typical) | Spot Trading API (typical) | What to do |
|---|---|---|---|
| 400 | Invalid or missing fields | Invalid or missing fields | Check types (amounts are often strings), required fields |
| 401 | HMAC / clock, or email not verified on Wallet execute | HMAC / clock | NTP; nonce window 5s; x-api-key + api-signature + x-nonce. On POST /v1/wallet/transaction, 401 is email not verified |
| 403 | Some confirm routes are subaccount-only; HMAC sign-in and Pro funding may return invalid credentials | Invalid credentials on deposit/withdraw | Same body for a bad key or a bad signature. Do not POST {} to signin/apikey. Use /v1/signin/apikey, not /v1/signin/embed. See Authentication |
| 404 | Missing resource | Wallet not found on Pro deposit | Check ids |
| 406 | Business rule (for example a pocket limit) | — | Treat as case-specific |
| 412 | Insufficient pocket funds (Wallet execute / proforma) | Price or amount outside market min/max on POST /v1/trading/order | Wallet: check pocket balance. Pro: check GET /v2/trading/market-config |
| 417 | Amount too low or too high on Wallet proforma | Not documented on Pro add-order | Check Wallet volume limits. Do not assume 417 on Pro |
| 418 | API ban after abuse of rate limits (guide; not in the REST snapshot) | Same | Stop traffic; contact support |
| 420 | Invalid 2FA | — | Fresh x-totp; subaccounts use x-totp-type: gauth |
| 423 | Operation blocked | — | Case-specific |
| 428 | 2FA required (including some stablecoin withdrawals) | — | Send TOTP headers |
| 429 | Rate limit | Rate limit | Back off. See Rate limits |
| 500 / 502 | Server-side | Server-side | Retry later; check status page |
Amounts and pairs
- Use
.for decimals, not,(0.5not0,5). - Prefer strings for amounts.
- Pro symbols follow
GET /v2/trading/market-config(BTC/EUR). Wallet buy/sell takes the sameBTC/EURformat inpair, or pocket UUIDs. MCP tools useBTC-EUR. Do not mix formats on the same call.
Pro order error codes
Rejected Pro orders carry a code such as MAX_OPEN_ORDERS_REACHED or PRICE_PRECISION_EXCEEDED, on REST and on the WebSocket. Full list: Spot Trading API errors.
WebSocket close codes (notifications)
| Code | Meaning |
|---|---|
| 4000 | Authentication failed |
| 4001 | Message rate limit |
Reconnect with backoff. See Gateway WebSocket.