Reseller Program
Reseller Program
Sell XenCheats keys through your own site or Discord.
Sign in required
Sign in to your XenCheats account (link your Discord if you haven't) to see your reseller status.
Sign inApply to become a reseller
Apply here, or run /resellerapp in our Discord — either way staff review it manually and DM you the decision.
Application pending
Your reseller application is waiting on staff review. We'll DM you on Discord once it's decided.
Application not approved
Your reseller application wasn't approved this time. You're welcome to apply again here, or run /resellerapp in Discord.
Add any positive amount up to $10,000 to your prepaid reseller balance. Your discount is based on money spent buying reseller products: $100+ unlocks 15% off, $200+ unlocks 25% off, and $300+ unlocks 30% off on subsequent purchases. Deposits and processing fees do not count, and refunds reduce qualifying spend. Buy from the Products tab or your own integration at your reseller price.
Stripe's processing fee is added at checkout; your full selected amount is credited to reseller balance. Your total payment must be at least $0.50.
Your info
On file
Wholesale catalog
Built for fast fulfillment.
Browse live products, compare your reseller pricing, and deliver keys from one clean workspace.
Loading catalog...
API
Your integration
Your API key ends in —. Reveal your provisioned key below, or generate a new one. The full key is shown once — keep it private on your backend.
Base URL: https://xencheats.wtf
Regenerating immediately disables your old key. Anything using it will need the new one.
List products & your pricing
GET /api/reseller/products
Authorization: Bearer <your_api_key>
Balance, stock & categories
GET /api/reseller/balance
GET /api/reseller/stock
GET /api/reseller/categories
Authorization: Bearer <your_api_key>
Amounts are integer USD cents. Stock includes unavailable variants: check in_stock, can_purchase, your_amount_cents and quantity_limit. stock_count:null means an exact quantity is unavailable; never display it as unlimited stock. Balance is your own prepaid balance.
Buy a key
POST /api/reseller/buy
Authorization: Bearer <your_api_key>
Idempotency-Key: unique-store-order-12345
Content-Type: application/json
{
"inventory_slug": "use-a-variant-from-the-stock-response",
"quantity": 1
}
Response includes license_key, amount_cents (your discounted price, already debited from your balance), and order_number. A 200 with success:false and error:"Insufficient reseller balance." means you need more balance before buying.
Every purchase requires an Idempotency-Key of 8–128 letters, digits, underscores, hyphens, dots or colons. Reuse the same reference and body when retrying the same customer order. A matching retry returns its recorded result; reusing it for a different purchase returns 409. A 202 means pending delivery or review: never create another purchase for that customer order.
Your orders & request recovery
GET /api/reseller/orders?limit=20
GET /api/reseller/orders/<order_number>
GET /api/reseller/requests/<purchase_reference>
Authorization: Bearer <your_api_key>
Order history contains only your own orders and their delivered keys. Use next_before as the next page's before query. Poll stock every minute, make API requests at least one second apart, and respect 429 plus Retry-After. Cache catalog data on your backend; keep keys and upstream details out of browser code, logs and public pages.