1. Integration
Partner API
  • Getting Started
    • Introduction
    • Authentication
    • Business Use Cases
  • API References
    • Balances & History
      • Get Balances
      • Get Balance History
    • Crypto Deposits
      • Get Crypto Deposit Details
      • Update Travel Rule
    • Crypto Withdrawals
      • Add Whitelisted Wallet
      • Get Whitelisted Wallets
      • Delete Whitelisted Wallet
      • Create Crypto Withdrawal
      • Get Crypto Withdrawal Details
    • SEPA Deposits
      • Get SEPA Payment Details
      • Get SEPA Deposit Details
    • SEPA Withdrawals
      • Create SEPA Withdrawal
      • Get SEPA Withdrawal Details
    • Currency Exchange
      • Get Rates
      • Create Lock
      • Create Exchange
      • Get Exchange Details
  • Integration
    • Integration Guides
    • Transaction Processing
    • Error Handling
    • Rate Limiting
    • Webhooks
      • Crypto Deposit Webhook
      • Crypto Withdrawal Webhook
      • SEPA Deposit Webhook
      • SEPA Withdrawal Webhook
      • Exchange Webhook
  • Reference
    • Supported Currencies
    • Fees
    • FAQ
    • Changelog
    • Support
  1. Integration

Rate Limiting

This page explains how rate limiting works in the Fintegence Partner API and how to build a client that behaves safely under traffic constraints.
Current API Limit
300 requests per minute per unique IP address. This is sufficient for most integrations while helping keep the service fast and reliable for all partners.

Why Rate Limiting Matters#

Rate limiting is not only a restriction mechanism. It is a core reliability and protection feature.
Security: Helps protect the API against abusive traffic patterns, brute-force attempts, and denial-of-service behavior.
Performance: Preserves stable response times across all integrations, even under elevated traffic.
Fair Usage: Prevents a single client from monopolizing shared API resources.
Stability: Reduces the risk of service degradation caused by bursts, bots, or inefficient polling loops.

How It Works#

The system tracks request volume per source IP address in real time.

Monitoring Your Usage with Headers#

API responses include headers that help you monitor your current usage within the active rate limit window.
HeaderDescriptionExample
X-RateLimit-LimitTotal number of requests allowed in the current time window.300
X-RateLimit-RemainingNumber of requests remaining in the current window.241
X-RateLimit-ResetUTC epoch timestamp, in seconds, when the current quota resets.1678886400

Handling Exceeded Limits (429 Too Many Requests)#

When the limit is exceeded, the server rejects the request with HTTP 429 Too Many Requests. You should always honor the Retry-After header before retrying.
Example 429 Handling Model
Header: Retry-After: 60
A typical 429 response may include error details similar to the following:
{
  "error": "Rate limit exceeded",
  "message": "You have exceeded the maximum number of requests allowed (300 requests/min). Please try again later.",
  "retry_after": 60,
  "limit": 300,
  "window": "1 minute"
}

Best Practices for Integration#

A reliable client should anticipate rate limiting and react gracefully.

1. Proactive Monitoring#

Do not wait for a 429 response. Monitor the X-RateLimit-Remaining header and slow down before the limit is exhausted.

2. Intelligent Retry Logic#

When a 429 response occurs, use the Retry-After header and apply retry logic carefully. Exponential backoff is recommended for bursty or repeated failures.

3. Avoid Aggressive Polling#

Polling loops for asynchronous operations should be rate-aware. If you are tracking exchanges, withdrawals, orders, or transfers, prefer webhooks over tight polling intervals.

4. Batch Thoughtfully#

Where possible, avoid unnecessary request bursts. Reuse previously fetched data, debounce user-triggered refresh actions, and avoid parallel request storms from the same IP.
Enterprise Traffic
If your integration is expected to generate consistently high request volume, contact the team to discuss whether your traffic profile requires a different operational setup.
Previous
Error Handling
Next
Webhooks
Built with