PrizeDistro

API in an afternoon

Auth is a Bearer key. Send Idempotency-Key on every POST. Which pool a live key hits is the same Demo/Live switch as the app.

Demo vs Live

  • The Demo/Live control in the partner app is the account switch. It applies to dashboard awards, CSV import, and pd_live_ API keys together.
  • Demo — those paths spend sandbox entries. No vault USDC.
  • Live — those paths spend 10¢ from your vault per award.
  • pd_test_ keys always award the demo pool, even when the account is on Live.
  • Until you go live (payout address + vault USDC), every award is demo, including live-prefixed keys.

Award an entry

curl -X POST https://prizedistro.com/api/v1/entries   -H "Authorization: Bearer pd_test_…"   -H "Idempotency-Key: $(uuidgen)"   -H "Content-Type: application/json"   -d '{"wallet":"0x1111111111111111111111111111111111111111","partner_user_ref":"player-42"}'

Wallet-only body is valid: {"wallet":"0x…"}. Same wallet aggregates weight for the week.

MethodPathAuth
POST/api/v1/entriesBearer + Idempotency-Key
GET/api/v1/entriesBearer
GET/api/v1/drawings/:id/allocationBearer (own lines)
GET/api/v1/poolpublic, live only
GET/api/v1/verify?q=public

Hosted widget

<iframe src="https://prizedistro.com/embed/YOUR_SLUG" width="360" height="160"></iframe>

The string is locked. If you cannot promise a share, it says the campaign is paused — not that the user is in.

Start freeSee this week’s pool