Campaign Guide
Campaigns let you group payment links with shared settings like network, facilitator, pricing, and dates. They support simple link collections, win/loss randomization, and lottery-style USDC rewards.
Campaign Types
There are three campaign types, each suited for different use cases:
Manually add payment links to the campaign. Best for curated collections where you control each link individually.
- • Add links one by one
- • Full control over each link
- • No randomization
Auto-generates a set of links where some are "winners" (redirect to reward URLs) and the rest are "losers" (redirect to a default URL).
- • Randomized link distribution
- • Custom redirect URLs for winners
- • Default URL for non-winners
Like Win/Loss, but winners receive an automatic USDC payout instead of a redirect. Requires a funded campaign wallet.
- • Automatic USDC rewards
- • Dedicated campaign wallet
- • Requires funding before activation
- • Reward must be greater than entry price
Creating a Campaign
Navigate to Dashboard → Campaigns → Create Campaign. The form guides you through these steps:
Step 1: Basic Info
A short, descriptive name for the campaign (e.g. "Holiday Raffle").
Visible on public campaign pages. Use it to explain what the campaign is about.
Step 2: Campaign Type & Configuration
Choose between Simple, Win/Loss, or Lottery. For Win/Loss and Lottery campaigns, you also configure:
| Field | Description |
|---|---|
| Total Links | Total number of links generated (min 2) |
| Rewards | Number of winning links (must be less than total) |
| Price (USDC) | Entry price per link — how much users pay to participate |
| Access Duration | How long the link result is accessible after payment |
| Reward per Winner | (Lottery only) USDC amount each winner receives. Must be greater than the entry price. |
Step 3: Network & Facilitator
Select the blockchain network and payment facilitator. All links in the campaign will use these settings.
Solana or Base. Determines which blockchain processes payments.
RelAI, OpenFacilitator, Dexter, PayAI, or AutoIncentive. Each has different fee structures.
Your wallet address where entry fees are sent. Auto-filled if your wallet is connected.
Step 4: Schedule & Status
Set a time window for the campaign. Links won't work before start or after end.
Active or Inactive. Inactive campaigns don't accept payments. Lottery campaigns start inactive and must be activated after funding.
Makes the campaign visible on a public landing page with a shareable URL.
Lottery Campaigns (Step-by-Step)
Lottery campaigns are the most powerful campaign type. Winners automatically receive USDC rewards directly to their wallet after paying the entry fee. Here's how to set one up from start to finish:
How It Works
- 1You create a lottery campaign specifying total links, number of winners, entry price, and reward amount per winner.
- 2The system generates a dedicated campaign wallet to hold the reward funds.
- 3You fund the campaign wallet with the required USDC (winners × reward amount).
- 4Once funded, you activate the campaign.
- 5Users pay the entry price on a random link. If they land on a winning link, the reward is sent automatically to their wallet.
- 6After the campaign ends, you can withdraw remaining funds from the campaign wallet.
Funding the Campaign Wallet
After creating a lottery campaign, you'll see a Campaign Wallet section on the campaign card with:
- • Wallet address — the dedicated address to send USDC to
- • Required amount — calculated as
winners × reward per winner - • QR Code — scan to send funds from a mobile wallet
- • Copy button — copy the address to clipboard
- • Check Balance — verify the current wallet balance
Example:
A lottery with 10 total links, 2 winners, and $5.00 reward per winner requires2 × $5.00 = $10.00 USDCin the campaign wallet.
Activating the Campaign
Once the wallet is sufficiently funded:
- 1. Click Check Balance on the campaign card to verify funding.
- 2. A green ✓ Funded badge will appear when the balance meets the requirement.
- 3. Click the green Activate Campaign button that appears.
- 4. The campaign status changes to Active and links become operational.
Winner Payouts
When a user pays the entry fee and lands on a winning link:
- • The reward USDC is automatically sent from the campaign wallet to the payer's wallet.
- • The user sees a green "You Won!" banner with the reward amount and transaction link.
- • Non-winners see a "Better luck next time" message with the campaign description.
- • Each winning link can only be claimed once.
Withdrawing Remaining Funds
After the campaign ends or is deactivated, you can withdraw any unclaimed USDC:
- 1. Deactivate the campaign (click the power icon) or wait for it to expire.
- 2. Click Check Balance to see the remaining balance.
- 3. A Withdraw button appears if the campaign is inactive and has a balance.
- 4. Click Withdraw — funds are sent to your connected wallet.
Campaign Lifecycle
Campaign Statuses
| Status | Meaning | Links Accept Payments? |
|---|---|---|
| Active | Campaign is live and operational | Yes |
| Inactive | Campaign is disabled; can be re-activated | No |
| Scheduled | Start date is in the future | No (until start date) |
| Expired | End date has passed | No |
Public Campaigns
Public campaigns get a dedicated landing page at /campaign/[id]. The landing page:
- • Shows the campaign name, description, and a link to participate
- • Displays a "Campaign Ended" banner if expired, with the description still visible
- • Shows a "Coming Soon" banner if the start date is in the future
- • Blocks the claim button when the campaign is not active
Ending a Campaign
A campaign ends when:
- • The end date passes (automatic)
- • You deactivate it manually (click the power icon)
- • All winning links have been claimed (lottery/win-loss)
For lottery campaigns, remember to withdraw any remaining funds after ending the campaign.
FAQ
Can I edit a campaign after creation?
Yes, but only the name, description, dates, status, and public visibility can be changed. Network, facilitator, type, and link configuration are locked after creation.
Can I delete a lottery campaign?
Lottery campaigns (with a reward wallet) cannot be deleted — only deactivated. This ensures the wallet funds are never lost. You can withdraw funds after deactivating.
What happens if a winner's wallet can't receive USDC?
The payout may fail if the recipient wallet doesn't have a USDC token account (Solana) or can't receive the token. The funds remain in the campaign wallet.
Do I need SOL in the campaign wallet for Solana campaigns?
No. The platform treasury wallet covers all Solana transaction fees (SOL). You only need to fund the campaign wallet with USDC.
Can the reward be less than the entry price?
No. The reward per winner must always be greater than the entry price. This is enforced on both the form and the backend.
How are winning links distributed?
Links are randomly shuffled when the campaign is created. Each link is assigned as a winner or non-winner. The order is random and not predictable.