Base URL
/v1.
Swagger docs are available at /docs.
Rewards
Get Rewards Leaderboard
Returns list of users sorted by USDB balance with their rewards info.limit- Max results (default 100, max 500)offset- Pagination offset
Get User Summary
Returns current USDB balance, today’s volume, rewards bracket, and projected rewards.400 status with { "reason": "This address is excluded and does not earn rewards" }.
Rewards Brackets:
| Bracket | volumeUtcToday.swapSats Threshold | Rewards |
|---|---|---|
| 0 | >= 0 | 3.5% |
| 1 | >= 500000 | 4.0% |
| 2 | >= 2500000 | 4.5% |
| 3 | >= 5000000 | 5.0% |
| 4 | >= 10000000 | 5.5% |
| 5 | >= 25000000 | 6.0% |
Get Payout History
Returns paginated list of rewards payouts for a user.limit- Max results (default 30)offset- Pagination offset
payoutSats is the sum of rewardsPayoutSats and endorsementsPayoutSats.
Endorsements
Endorsements let a pubkey direct part of its future daily rewards payout to one or more recipient pubkeys.Canonical YAML Templates (for Signing)
Create and update both useaction: upsert. The API creates a new record or updates the existing (endorser, to) pair.
Create endorsement template:
Get Endorsements
Create or Update Endorsement
Creates or updates one endorsement rule forto under the endorser.
Delete Endorsement
Deletes one endorsement mapping for the endorser.Endorsement Rules and Validation
pubkey,endorser, andtomust be 66-char compressed pubkey hex strings.endorserin body must match:pubkeyin the route.ratioBpsmust be between1and10000.- Sum of all active endorsement ratios for an endorser cannot exceed
10000. - Endorser cannot endorse to the same pubkey.
timestampNoncemust be UUIDv7 and within a 5-minute window.- Each nonce can only be used once (replay protected).
400 errors:
{ "error": "Body endorser must match route pubkey" }{ "error": "Cannot endorse to the same pubkey. Use rewards payee reassignment instead." }{ "error": "Total endorsement ratio cannot exceed 10000 bps" }{ "error": "Nonce has already been used" }{ "error": "Signature verification failed" }
Flashpoints
Get Points Leaderboard
Returns list of users sorted by current Flashpoints with their point balances and volume.limit- Max results (default 100, max 500)offset- Pagination offset
Get User Points
Returns Flashpoints balance, rank, and projected daily earnings.Get Points History
Returns paginated list of point earning events.limit- Max results (default 30)offset- Pagination offset
Stats
Get Global Stats
Returns system-wide statistics.Health Check
"status": "degraded" if either payout or points processing is behind.
Error Handling
Validation errors usually return:GET /v1/rewards/:pubkey return:
400- Bad request (validation errors, excluded addresses)404- Not found500- Internal server error