Clip Rewards Campaigns
Clip Rewards lets creators pay clippers a fixed amount per 1,000 verified views. A campaign is funded upfront by the creator and drained as clippers earn.
GET /api/v1/clip-rewards/campaigns
Returns active (funded) campaigns the authenticated user can clip against. Use ?mine=true to list only campaigns the user created, including ones still waiting on payment.
{
"data": [
{
"id": "crw_cmp_xxx",
"channelUrl": "https://www.youtube.com/@creator",
"channelName": "Creator Name",
"budgetUsd": 500.00,
"spentUsd": 142.30,
"ratePer1k": 1.50,
"endsAt": "2026-09-11T00:00:00Z",
"minFollowerCount": 1000,
"maxClipsPerVideo": 3,
"requireAttribution": true,
"status": "active",
"createdAt": "2026-08-01T00:00:00Z"
}
]
}
POST /api/v1/clip-rewards/campaigns
Create a new creator-funded campaign. The campaign is created in pending_payment and returns a Stripe Checkout URL — send the creator there. It only becomes active (visible and claimable by clippers) once Stripe confirms payment, because clipper payouts are real transfers.
What's charged: the budgetUsd you ask for. pepe takes a 10% commission out of it — the same rate as the marketplace — so what clippers can actually earn is distributableUsd = budget − commission. A $500 budget charges $500, pepe keeps $50, and clippers can earn up to $450. Size the budget accordingly.
Credit: any reusable credit on the profile is applied first and cardDue is reduced accordingly. Credit was already commissioned when it was first collected, so it isn't commissioned again — the 10% only applies to cardDue. If credit covers the whole budget, checkoutUrl is null and the campaign goes active immediately with no commission.
{
"channelUrl": "https://www.youtube.com/@creator",
"budgetUsd": 500.00,
"ratePer1k": 1.50,
"endsAt": "2026-09-11T00:00:00Z",
"minFollowerCount": 1000,
"maxClipsPerVideo": 3,
"requireAttribution": true
}
Response:
{
"campaign": { "id": "crw_cmp_xxx", "status": "pending_payment", "budgetUsd": 500.00 },
"checkoutUrl": "https://checkout.stripe.com/c/pay/cs_live_xxx",
"budgetUsd": 500.00,
"platformFeeUsd": 50.00,
"distributableUsd": 450.00,
"creditApplied": 0,
"cardDue": 500.00
}
GET /api/v1/clip-rewards/credit
Reusable credit for the profile. When a campaign finishes, whatever clippers didn't earn is released here instead of being refunded to the card, and is spent automatically on the next campaign.
{
"balanceUsd": 380.00,
"currency": "USD",
"entries": [
{ "amountUsd": 380.00, "reason": "campaign_closed", "campaignId": "crw_cmp_xxx", "createdAt": "2026-09-13T00:00:00Z" }
]
}
| Field | Type | Required | Description |
|---|---|---|---|
channelUrl | string | yes | YouTube channel the campaign covers |
budgetUsd | number | yes | Total budget in USD (min $10) — paid upfront via Stripe Checkout; pepe's 10% commission comes out of it, so clippers can earn 90% of it |
ratePer1k | number | yes | Payout per 1,000 verified views (min $0.10, max $50) |
endsAt | string | yes | ISO 8601 end timestamp |
minFollowerCount | number | no | Minimum clipper follower count to be eligible (default 0) |
maxClipsPerVideo | number | no | Max clips per source video per clipper (default 3, prevents spam) |
requireAttribution | boolean | no | Require auto-appended attribution on published clips (default true) |
Example
curl -X POST https://pepe.business/api/v1/clip-rewards/campaigns \
-H "Authorization: Bearer pk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"channelUrl": "https://www.youtube.com/@creator",
"budgetUsd": 500.00,
"ratePer1k": 1.50,
"endsAt": "2026-09-11T00:00:00Z"
}'