Gave for integrators
Gave turns your cardholders' spend into cashback, paid in stablecoins. You send us your card transactions as your processor reports them. We apply your cashback programs, reserve each reward in your vault, and tell your app about every change through signed webhooks. Your users then claim their rewards from your vault.
How it works
Fund your vault
Rewards are paid from a vault you fund in USDC or EURe. Each reward is reserved in it the moment it's earned, so a reward your user can claim is always backed. In the sandbox, the vault is simulated.
Send spend events
Forward each card transaction as it happens: authorizations, clearings, reversals and refunds. See Spend events.
Environments
| Environment | Base URL |
|---|---|
| Sandbox | https://api.sandbox.gave.sh |
| Production | Not open yet |
Endpoints live under /v1, except the health check, GET /health, which answers 204. The sandbox's OpenAPI document is at /openapi.json.
Conventions
- JSON in and out.
- Amounts are strings of whole minor units, never decimals:
- spend in its currency's minor unit:
{ "currency": "USD", "amount": "1250" }is 12.50 USD; - rewards in the token's smallest unit: USDC has 6 decimals, so
{ "asset": "USDC", "amount": "1000000" }is 1 USDC, and EURe has 18.
- spend in its currency's minor unit:
- Times are ISO 8601 in UTC, such as
2026-10-11T09:30:00.000Z. - Your IDs (users, transactions) are yours: 1 to 128 printable ASCII characters, without spaces. Gave never needs your users' names or emails.
- Unknown fields are refused with a
400, never silently dropped. - Retries are safe. Every write is idempotent: sending the same request again changes nothing. See Errors.
Start with the Quickstart.