How credit programmes work
1
Create a non-cash programme
In the programme form, choose Non-cash rewards and describe the reward (e.g. “50 credits
per referred customer”).
2
Define the delivery amounts
- Credit label — the unit, e.g.
ai_creditsorfree_days. - Referee bonus — credit the new signup receives (0 = none).
- Free user reward / Paid user reward — what the inviter earns depending on the referred user’s tier.
3
Connect a fulfilment backend
Credit can only be delivered once you connect a backend (see below). Until then, grants are
recorded as earned but not delivered.
earned → delivered, or
revoked if refunded or blocked for self-referral). Grants are
idempotent, and refunds revoke them just like cash commissions.
Fulfilment connectors
Set up delivery under Configuration → Integrations → “5 · Credit fulfilment”. Choose a driver and map where credit lands:
Config fields include the users table, the match column (how to find the user), the credit column,
and driver-specific values (database, base ID, webhook). Credentials are encrypted. Use Test
connection to confirm it’s healthy before going live.
Direct database connectors: allow network access
The Postgres, MongoDB, and MySQL connectors have TrackRev connect out to your database to write the credit, so your database has to accept the connection:- Allow TrackRev’s servers through your firewall. TrackRev runs on serverless infrastructure with
dynamic egress IPs, so there’s no single IP to allow. On MongoDB Atlas, add
0.0.0.0/0to Network Access → IP Access List (or use PrivateLink / a static-egress proxy if you need to restrict it). Managed Postgres (Neon, Railway, Render, Supabase) is reachable over the public internet by default — just don’t have an IP allowlist that excludes us. - Use a user with write permission on the target table/collection. A read-only connection string will connect and Test connection may pass, but delivery then fails with a permission error.
broken with a server selection timeout right after saving, it’s
almost always the Atlas IP Access List — add 0.0.0.0/0 and test again. (Note: Test connection
proves TrackRev can reach and read your database; it does not exercise the exact match column, so
also confirm the first real referral lands.)
Supabase: anon key, not service-role
TrackRev never asks for your Supabase service-role key — that key bypasses Row Level Security and can touch your whole database, so a leak would be catastrophic. Instead:- Fill in your users table, match column, and credit column in the connector form.
- Copy the one-time SQL snippet it generates and run it once in Supabase → SQL Editor. It
creates a single locked-down
security definerfunction whose only ability is “add credit to that one column of that one table”, and grants access to it to the public anon role. - Paste your public anon key (Project Settings → API) into the connector and Test connection.
Most non-technical setups use Supabase or Airtable directly; teams that want full control
use the Webhook driver and apply the credit in their own code.
The Credits dashboard
Open Affiliate program → Credits to monitor delivery:- Stat cards: Awaiting delivery, Delivered, Delivery issues, Blocked (self-referral).
- A table of Inviter, Kind, Amount, Status and Earned-at.
API & webhooks
Credit grants are also available programmatically:- List grants and balances:
GET /api/v1/credits. - Mark a grant delivered:
POST /api/v1/credits/{id}/mark-delivered. - Subscribe to
credit.earnedandcredit.deliveredwebhooks.
Drive referrals from inside your product
The referral widget and API turn every signed-in user into a referrer automatically.

