TL;DR
These are anti-abuse caps, not usage tiers. We do not bill per call. Revenue is split on-chain via your
BarkerEngine contract. Need a higher cap for a legitimate workload? Email partners@barker.money with your use case.
Behavior on overflow
When you exceed the per-minute cap, the next request returns:Retry-After header is the number of seconds until the window resets. Wait that long, then resume.
Recommended client behavior
Backoff with jitter
Don’t retry the same second the window resets — every client doing that creates a thundering herd. Add 0–2 seconds of random jitter on top ofRetry-After:
@barker/sdk-js, barker-sdk) implement this automatically.
Cache aggressively
Most Partner API responses are cacheable for 30–60 seconds without stale data concerns:
A 60s edge cache reduces realistic dashboard refreshing from ~50 req/min to ~1 req/min per concurrent user.
Things that do not count against your limit
- Webhook deliveries we send to your endpoint (those flow
Barker → you, no API call from you) - Embed iframe requests from end-user browsers (they hit
app.barker.money, not the API) - Hits to
https://api.barker.money/health(unauthenticated liveness probe)
What if I get rate-limited and I’m not abusing?
Openhttps://portal.barker.money/usage to see your call distribution by endpoint and timestamp. If a single client process is hammering one endpoint, that’s almost always the source. Common causes:
- Polling a single product every second instead of subscribing to webhooks for
apy_change/tvl_alert - Forgetting to cache
GET /productsat the edge - Looping over thousands of users to call
/positionper user — instead, ask us about the bulk-position endpoint (waitlist)