Payout statements

GET /api/v1/mystery/payouts packs:read

Every closed revenue-share period, newest first. Closing a period FREEZES its figures and its rates, so a statement is a permanent record: renegotiating later changes future periods only. status is PENDING (closed, awaiting payment), PAID (tx_hash set), FAILED, or VOID (settled outside the on-chain rail — an enterprise invoice, say). outstanding_usdc totals what is still owed to you.

Try it GET /api/v1/mystery/payouts?limit=10

These inputs are shared across all docs pages, so an id entered here carries over.

response
403 12ms preloaded server-side with the default context
object · 3 keys
{
  "success": false,
  "message": "Mystery partner API key required",
  "error": "This endpoint requires an API key linked to a mystery partner account"
}
tracks the inputs above
curl -X GET 'https://service.rip.fun/api/v1/mystery/payouts?limit=10' \
  -H 'X-API-Key: rip_…'

Response fields (data)

FieldDescription
payouts[].periodThe closed period and its cadence
payouts[].net_usdcgross − sell backs − fees for that period
payouts[].payout_usdcWhat you earned and are paid
payouts[].by_productThe tier and instant components behind it
payouts[].status / tx_hash / paid_atSettlement state and the on-chain payment
outstanding_usdcTotal still owed across unpaid statements
accruingYour live share of activity no statement covers yet — `{ since, as_of, qualifying_packs, instant_packs, sellback_count, gross_usdc, sellback_usdc, net_usdc, payout_usdc, period_closes_at }`. Null on the POOL model. Without it your first period reads zero until it closes, even while every pull is earning
total_owed_usdcEverything owed right now: the unpaid statements plus the live accrual above