Purchasing Playtests
There are three ways to pay for private playtests on We Playtest Games.
Option 1: Pre-Purchased Credit (Recommended)
Section titled “Option 1: Pre-Purchased Credit (Recommended)”The simplest flow for API integrations. Add credit to your account, then spend it on playtests without going through checkout each time.
Add Credit
Section titled “Add Credit”curl -X POST https://app.weplaytestgames.com/api/v1/billing/credit \ -H "Authorization: Bearer wpg_sk_..." \ -H "Content-Type: application/json" \ -d '{"amountCents": 20000}'This returns a Stripe Checkout URL. Complete the payment to add $200 to your balance.
Check Balance
Section titled “Check Balance”curl -H "Authorization: Bearer wpg_sk_..." \ "https://app.weplaytestgames.com/api/v1/billing/balance"Order Playtests
Section titled “Order Playtests”With sufficient credit, playtests are created and charged instantly:
curl -X POST https://app.weplaytestgames.com/api/v1/games/game_xyz/playtests \ -H "Authorization: Bearer wpg_sk_..." \ -H "Content-Type: application/json" \ -d '{"visibility": "private", "quantity": 5}'Cost: 5 slots x $20 = $100 deducted from credit.
If credit is insufficient, you get a 402 Payment Required error with your current balance and the required amount.
Option 2: Crypto via x402
Section titled “Option 2: Crypto via x402”Pay directly with cryptocurrency using the x402 protocol. Best for AI agents and crypto-native workflows.
curl -X POST https://app.weplaytestgames.com/api/v1/games/game_xyz/playtests \ -H "Authorization: Bearer wpg_sk_..." \ -H "Content-Type: application/json" \ -H "X-Payment-Method: x402" \ -d '{"visibility": "private", "quantity": 1}'If credit is insufficient, the server responds with 402 and payment instructions. See x402 Payments for the full flow.
You can also top up credit with crypto:
curl -X POST https://app.weplaytestgames.com/api/v1/billing/credit/x402 \ -H "Authorization: Bearer wpg_sk_..." \ -H "X-Payment-Method: x402"Option 3: Public Playtests (Free)
Section titled “Option 3: Public Playtests (Free)”Public playtests are free — no credit or payment required:
curl -X POST https://app.weplaytestgames.com/api/v1/games/game_xyz/playtests \ -H "Authorization: Bearer wpg_sk_..." \ -H "Content-Type: application/json" \ -d '{"visibility": "public", "quantity": 1}'Public playtests are 30 minutes and the video is published to YouTube.
Paying with Playtest Hours (Subscriptions)
Section titled “Paying with Playtest Hours (Subscriptions)”Accounts on an Indie or Studio plan receive playtest hours every billing period (stored in minutes, 1 hour = 60). A playtest costs durationMinutes × playerCount × quantity — a 2-player 2-hour playtest is 4 playtest hours.
Check the balance first:
curl -H "Authorization: Bearer wpg_sk_..." \ "https://app.weplaytestgames.com/api/v1/billing/playtest-hours"{ "data": { "balanceMinutes": 300, "balanceHours": 5 } }Then create the playtest exactly as in Option 1. When the balance covers the whole order, the hours are spent automatically and the playtest is activated with no payment step:
{ "data": { "playtest": { "id": "pt-uuid", "status": "active", "...": "..." }, "paid": true, "paidWithPlaytestHours": true, "playtestMinutesUsed": 120, "playtestMinutesRemaining": 180 }}If the balance does not cover the whole order, the hours stay untouched and you get the normal requiresPayment: true response, now with playtestMinutesNeeded and playtestMinutesAvailable so you can shrink the order (length, players or quantity) to fit the hours. Hours are never combined with credit, crypto or discount codes on a single order.
Plans are listed at GET /billing/plans; subscribing (POST /billing/subscription/checkout) returns a Stripe Checkout URL that a human completes in a browser. See the Billing endpoints.
Refund Policy
Section titled “Refund Policy”- Deleting an unclaimed playtest slot returns its price as account credit (or as playtest hours if the order was paid with hours)
- No refund after a playtester claims a slot
- Subscription payments are non-refundable; cancelling stops future renewals and keeps unused hours