Referral program
Multi-tier rewards, configurable rates, treasury fallback and the complete reward lifecycle.
CRISP's referral system allocates part of eligible trading fees to a trader's referrers. Your product owns the referral experience and decides which direct relationship to submit. CRISP stores that relationship, resolves the configured upline, calculates rewards and maintains the payout ledger.
Up to five levels
A program can reward up to five referral levels, each with its own rate. You can run a one-, two- or three-level program without using all five levels. The levels describe distance from the trader:
Alice refers Ben → Ben refers Chen → Chen refers Dana
When Dana trades:
Level 1: Chen
Level 2: Ben
Level 3: AliceSend only Dana's direct referrer, Chen. CRISP walks the stored relationships to resolve Ben and Alice. Relationships and rewards stay within your organization’s CRISP integration; an account registered under another organization cannot be used as an upline.
Configurable rates
Each level has a basis-point rate of eligible matched notional. For example, 30 bps on a 100 pUSD trade earns 0.30 pUSD, not 30 bps of the total fee. Referral rates, treasury and CRISP revenue allocations must sum to the program total, which currently cannot exceed 1,000 bps. The program also determines whether buys, sells or both accrue fees.
Read the effective program to display its levels and rates. Do not hardcode another organization’s rates or assume there are always two tiers. Authorized owners and operators can change permitted referral configuration in the dashboard; commercial terms and initial enablement are agreed with CRISP.
Missing levels go to your treasury
Suppose a three-level example allocates 30, 15 and 5 bps to levels 1, 2 and 3. For 100 pUSD of eligible trading notional:
| Recorded upline | User rewards | Extra allocation to your treasury |
|---|---|---|
| All three levels exist | 0.30 + 0.15 + 0.05 pUSD | 0 |
| Only the direct referrer exists | 0.30 pUSD | 0.20 pUSD |
| No referrer exists | 0 | 0.50 pUSD |
The total program fee does not shrink when the upline is shorter. The missing share goes to your treasury in addition to its ordinary allocation; it does not become CRISP revenue. A root account therefore needs no artificial parent to absorb otherwise missing levels.
Record relationships before trading
Create the referrer's account first, then include the direct referrer when creating the referred account. Both accounts must be registered under your organization in CRISP. The referrer can still be provisioning; its wallet does not have to be ready to record the relationship. Account creation starts managed-wallet provisioning, so there is no separate lightweight referral-only account type.
Attribution is immutable. Repeating the same relationship is safe; changing it to another referrer, referring yourself or creating a cycle is rejected. Authenticate referral eligibility in your product before submitting the edge.
The separate attribution endpoint remains supported. It can record an initial edge later, but cannot change ancestry already saved on earlier orders. To reward the intended upline from the first trade, finish the known chain before allowing trading. Your application can enforce this by waiting for known referral relationships to synchronize before submitting an order.
Rate changes preserve earlier orders
Each accepted order saves its fee-program version and resolved ancestry. New rates apply to subsequent orders. An open order filled after the change retains its original rates and beneficiaries; neither historical fills nor earlier order snapshots are rewritten. Adding an upline later does not backfill rewards.
From earnings to a paid reward
| Stage | Meaning for the user |
|---|---|
| Accrued | An eligible fill generated a reward allocation |
| Pending settlement | Collection or daily reconciliation is incomplete |
| Claimable | The allocation is settled, its UTC day is concluded, and it is unclaimed |
| Payout pending | A claim reserved the rewards and the transfer is not yet confirmed |
| Paid out | The beneficiary transfer is confirmed |
Today's earnings are not immediately claimable. Daily conclusion depends on collection and reconciliation, so midnight alone is not a payment promise. Reporting date filters do not expire older unpaid rewards.
Users can claim all eligible days in one action. CRISP reserves those rewards and sends one combined transfer to the user's managed trading wallet. Duplicate requests cannot assign the same allocation twice. Historical rewards spanning different collection wallets can require reconciliation before a combined claim.
Claims pay pUSD on Polygon. Users do not enter an amount or external payout address; CRISP derives the beneficiary from the managed account. A later transfer to an external wallet uses the separate withdrawal flow. The current user-claim flow has no separate monetary threshold or fixed cooldown; claimability and API limits apply. The collection wallet funds payout gas, and the current transfer does not deduct gas from the reward amount. This is distinct from your treasury's scheduled payout policy.
What your product provides
Your application captures referral links or invitations, verifies the direct relationship, displays the effective program, and lets authenticated users view and claim their own earnings. CRISP does not create your referral marketing campaign or determine who is eligible for an invitation.
Next: implement attribution, summaries and claims, or review fees and your revenue.