{"templateId":"markdown","versions":[{"version":"v0-beta","label":"Beta (v0)","link":"/products/native-api/docs/getting-started/rate-limits","default":true,"active":true,"folderId":"e4cb5a06"}],"sharedDataIds":{"sidebar":"sidebar-products/native-api/@v0-beta/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Rate Limits","description":"Official Banxa API documentation – on-ramp and off-ramp transfers with identity verification and compliance.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"rate-limits","__idx":0},"children":["Rate Limits"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Banxa applies API rate limits to ensure platform stability and fairness across all clients. Requests are continuously monitored, and excessive traffic will be throttled."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Limit"]},": 500 requests per minute per IP address (applies across all endpoints)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Error code"]},": If limits are exceeded, the API returns an HTTP ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["429 Too Many Requests"]}," response."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you consistently encounter rate limiting under normal test or production usage, contact your Customer Success Manager or Banxa Support."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"best-practices","__idx":1},"children":["Best Practices"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Monitor for 429 errors"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Occasional 429s are expected."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you see them repeatedly, review your architecture and API usage."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry responsibly"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Avoid blind retries."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use exponential backoff when retries are required."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For periodic checks, let the next scheduled call handle it instead of retrying."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use webhooks wherever possible"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Webhooks push updates to your system."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["This avoids unnecessary polling and reduces load on both Banxa and your infrastructure."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Call endpoints only when needed"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Example: Call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /price"]}," only when a user is actively viewing a quote, rather than polling continuously."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Batch operations"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For reconciliation or reporting, use batch processes instead of sending many parallel calls."]}]}]},"headings":[{"value":"Rate Limits","id":"rate-limits","depth":1},{"value":"Best Practices","id":"best-practices","depth":2}],"frontmatter":{"title":"Rate Limits","description":"API rate limits for the Banxa Native API and how to handle them.","seo":{"title":"Rate Limits"}},"lastModified":"2026-05-19T23:30:38.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/native-api/docs/getting-started/rate-limits","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}