Skip to main content

Overview

Kintsugi offers an industry-leading tier with rate limiting. All API-enabled accounts can have a maximum of 10,000 requests/minute.

Rate Limits

  • Standard API endpoints: 10,000 requests per minute

Rate Limiting Best Practices

1

Implement Exponential Backoff

When you receive a 429 (Too Many Requests) response, wait before retrying. Start with 1 second, then double the wait time for each subsequent retry (1s, 2s, 4s, 8s, etc.).
2

Use Request Batching

Combine multiple operations into single API calls when possible to reduce the total number of requests.
3

Monitor Your Usage

Track your API usage patterns and implement alerts when approaching rate limits to avoid service interruptions.
4

Cache Responses

Store API responses locally and only make new requests when data has actually changed.

Nexus State Optimization

Only call /v1/tax/estimate for transactions in states where you have nexus. This reduces unnecessary API calls and improves performance.

Smart Caching

Cache tax calculation results when transaction details haven’t changed. Use transaction hashes or timestamps to determine if recalculation is needed.

Avoid Duplicates

Implement deduplication logic to prevent multiple identical API calls for the same transaction within a short time window.

Batch Processing

Process multiple transactions in batches during off-peak hours to stay within rate limits during high-traffic periods.
  • HTTP 429 Response
  • Retry Logic Example
{
  "error": "Too Many Requests",
  "message": "Rate limit exceeded. Please retry after 60 seconds.",
  "retry_after": 60
}
Action: Wait for the specified retry_after seconds before making another request.
1

Pre-calculate Common Scenarios

Calculate tax for common product categories and shipping scenarios in advance, then use lookup tables for frequently occurring transactions (i.e., recurring subscription products to repeat customers).
2

Implement Circuit Breakers

Temporarily stop making API calls if you’re consistently hitting rate limits, allowing the system to recover.
3

Use Async Processing

Process non-critical tax calculations asynchronously to avoid blocking your main application flow.