Troubleshooting

Match the error string or symptom, apply the fix. When you email support, send merchant id, session id if you have one, and request_id from the JSON error body.

Copy this page as a setup prompt for your coding assistant.

API and auth

SymptomFix
Invalid API key formatBearer token must be full ante_… key
Invalid or revoked API keyRotate on Developers (Rotate publishable/secret key); the previous key is revoked immediately
Complete the sandbox checklist before switching to live modeFinish all five Setup guide steps; open it from the Test mode pill row in the header
Checkout uses wrong Stripe modePayment mode follows the API key (test vs live), not the dashboard toggle
Secret API keys must not be used from browser clientsPublishable key + signing in frontend; secret key on server
Too many requestsHonor Retry-After; stop tight retry loops on 401
Headless REST requires onboardingUse publishable + sign, or ask Ante to enable headless

Cart signing

SymptomFix
Invalid cart signatureWrong credential: use ANTE_SIGNING_SECRET (ante_sign_…), not secret API key (ante_sk_…) or webhook secret (whsec_…)
Invalid cart signatureSecret correct but still fails: use createCartSignature from @splitante/sdk/signing ≥ 0.1.7 (includes fees: [] in HMAC)
Invalid cart signatureANTE_SIGNING_SECRET must match dashboard ante_sign_… value; redeploy after env change or rotation
Invalid cart signatureRead the details[] array on the API error response for a checklist
Cart signing failed (client)Your /api/cart/sign returned non-200; check server logs
cart.total, cart.currency requiredtotal in smallest currency unit (cents for USD, whole yen for JPY); items array non-empty

SDK and modal

SymptomFix
Ante is undefinedLoad ante.js before init; await script onload if needed
Blank iframeCSP frame-src must allow splitante.com; test without blockers
onGroupFunded never ranNormal if user closed tab; fulfill on webhook
Callbacks fire twiceIdempotent handlers; webhook is authoritative

Webhooks

SymptomFix
401 on your handlerwhsec_ for dashboard URL; signing secret for webhook_url
No deliveriesHTTPS public URL; check delivery log for last error
Retries foreverReturn 2xx; fix 4xx/5xx; check TLS expiry
No group.fundedSession not fully paid; endpoint not subscribed to event

Stripe

SymptomFix
Payout account not readyFinish setup in Payments (merchant portal or Shopify admin)
Expected payout in preferred currencyConnect transfers use checkout currency; preferred setting only triggers FX fee. See /docs/currencies#important-limitations
FX fields missing on group.fundedOmitted when checkout matches preference or mode is checkout; sandbox still includes FX fields when fee would apply live
Card declined in sandboxUse 4242… test card; live card in live mode only
Settlement failed notificationPayout account capabilities, bank account, holds

Merchant sign-in

SymptomFix
No OTP emailSpam folder; production needs Loops configured on Ante side
OTP not configured errorContact Ante ops for production email setup
Passkey sign-in failedUse email OTP or Google; re-register passkey at Settings → Security
2FA code rejectedCheck device clock; use backup code; disable and re-enable at Settings → Security

Contact

Check system status first. Then email contact@plurelinc.com with redacted request/response bodies. Portal snippets: Integration wizard.