Applies to Program-Funded programs. See Funding Models for where this fits.
Why they exist
Running a card program usually forces a choice: custody your users’ funds with the card issuer, or build your own authorization, clearing, and settlement stack so you can keep custody. Virtual Assets remove that choice.- You keep the user relationship, the custody model, and the currency denomination you already use.
- Reap authorizes, clears, and settles every card transaction against the master account.
- The user’s spending power on Reap is a single number per account per asset, set by you.
Two primary patterns
Virtual Assets support two patterns that cover almost every program shape we see. They use the same API and the same lifecycle. What differs is what the balance represents on your side.Custodied balances
The virtual balance represents real value you hold for the user off-platform: stablecoins in a custody wallet, crypto on an exchange, fiat in a trust account, gold in vaulted storage. You mirror your internal balances into Reap.
Issued credits
The virtual balance represents value you grant to the user from your own program funds: cashback, sign-up bonuses, salary allowances, credit lines. Nothing to custody, you are the source.
Use-case vignettes
Crypto exchange or wallet
Crypto exchange or wallet
Users hold USDC, USDT, ETH, or BTC on your platform. Define one virtual asset per token with appropriate rate sources (FIXED for stablecoins, HTTP for volatile assets). Mirror each user’s balance into Reap. Their card spends against what they already own.
Cashback and loyalty
Cashback and loyalty
Define a
POINTS or CASHBACK virtual asset with a FIXED rate (e.g. 1 point = 0.01 USD). Allocate on qualifying transactions. Users spend their rewards through the same card, no separate redemption flow.Sign-up bonus
Sign-up bonus
Define a
BONUS_USD virtual asset. Allocate the bonus when onboarding completes. Users see it in their available balance immediately and can spend it on their first transaction.Credit line or overdraft
Credit line or overdraft
Define a
CREDIT_USD virtual asset. Allocate the approved limit to each user who qualifies. The user spends against it. You top up the master account to cover; you handle repayment on your side.Salary or stipend allowance
Salary or stipend allowance
Define a
PAYROLL_USD virtual asset. Allocate the monthly amount to each employee on payroll day. Optionally deallocate unused balance at period end, or let it roll over.Multi-asset partial custody
Multi-asset partial custody
Allocate USDC from real custody for everyday spending, and CASHBACK_USD for rewards earned through the program. Both show up as part of the same available balance on the same card.
How they feed into available balance
Virtual Asset allocations contribute to theassets side of the balance equation on an account:
Lifecycle at a glance
- Define the virtual asset once at the project level. Pick a rate source and, for FIXED rates, an initial rate.
- Allocate balance to each user’s account by posting a
DEPOSIT. The balance becomes spendable immediately. - The user spends. Reap authorizes against the available balance and settles card network debt from the master account. You do not touch this flow.
- Settle card spend by posting a
SETTLEMENT. The user’s virtual balance drops and the outstanding card debt is cleared in one atomic step.
What Reap does, what you do
- Reap
- You
- Authorizes every card swipe against the user’s available balance.
- Clears, reverses, and settles card transactions with the card network.
- Custodies the master collateral account.
- Fetches HTTP-source rates on a schedule and stores a snapshot for every update.
- Atomically applies your postings against the user’s balance and card debt.
Next
- Defining virtual assets: rate sources, HTTP endpoint contract, disabling.
- Virtual Asset postings: how to credit, debit, and settle account balances, with patterns per use case.