BINKDocs
HelpDashboard

Rate Limits & Idempotency

/docs/global/api-reference/rate-limitsGlobal

Idempotency keys

Pass an Idempotency-Key header on POST /api/v1/merchant/payments to make retried requests safe. If a request with the same key already succeeded, the original response is returned instead of creating a duplicate payment.

bash
curl https://binkpay.net/api/v1/merchant/payments \
 -H "Authorization: Bearer <dashboard session token>" \
 -H "Idempotency-Key: order-1042-attempt-1" \
 -d '{ "amountMinor": "5000", "currency": "EGP" }'

Keys are scoped per company — reuse is safe across different merchants but will short-circuit a genuine retry within your own account, so key it to something unique per attempt (e.g. your own order ID plus attempt number).

Limits

ParameterTypeRequiredDescription
Standard API requestsper authenticated userOptional600 requests / minute by default.
Loginper IPOptional10 requests / 15 minutes in production.
OTP requestper identifierOptional10 requests / 5 minutes in production (higher in sandbox).
OTP verifyper identifierOptional20 requests / 5 minutes in production.
Developer API keyper keyOptional1,200 requests / minute — a best-effort, in-memory ceiling on the API-key-authenticated developer probe, not shared across server instances.

429 responses include Retry-After

When throttled, the response includes a Retry-After header (seconds). Respect it rather than retrying immediately — repeated immediate retries extend the throttle window.

Was this page helpful?