Blank page or 404You uploaded the Worker file as a plain file. On Pages, upload the zip (index.html + _worker.js). On Workers, paste worker.js into the code editor.
HTTP 404 with HTML text, or NO_ROUTEThis address has no relay. Static hosts like GitHub Pages cannot run one. Use your pages.dev or workers.dev link, run the local relay, or enter that address under Relay URL in Settings.
"Network blocked" or "Failed to fetch"The page is in direct mode and the browser (CORS) or network blocked Pionex. Deploy the Worker version, then Settings > Run all checks should say "same-origin relay". Apps inside chat sandboxes such as Venice or claude.ai cannot reach Pionex at all, so open the deployed link in Chrome.
INVALID_SIGNATURERe-paste the secret with no spaces or line breaks. Check the phone clock is on automatic time.
IP_NOT_WHITELISTEDRemove the IP restriction on the Pionex key. Cloudflare addresses change.
PERMISSION_DENIEDEnable bot reading and bot trading on the key. Balances need reading too.
INVALID_TIMESTAMPPhone clock is off by more than 20 s. The app corrects for small drift automatically.
HTTP 429 Too Many RequestsPionex limits each IP to 10 requests/s and bans for 60 s, longer if you keep sending. The app now pauses itself. Wait 3 minutes. Through the Worker the IP is shared with other Cloudflare users; the local relay (pionex_local.py in Termux) uses your phone's own IP. Best fix: the app now also tries WebSocket (wss://ws.pionex.com/wsPub) â it has no CORS and no HTTP rate limit, so from your own phone it works with no relay. Open the link in Chrome on your phone, not in a chat sandbox.
Dashes in OI or Fund columnsField names differ from the guess. Console: GET /api/v1/market/openInterests, paste the response to Claude.
Create or Check returns a parameter errorEdit the JSON in Console and resend. Paste the exact error to Claude.