Let partners sell your stock.
They buy at a discount you set, from a balance they top up. Your stock stays yours until an order completes.

Tiers that move up on their own.
Name each tier, set its discount, and choose the revenue or order count where a partner moves up.
- Revenue, orders or both
Set a threshold per tier. Require one or both before a partner moves up.
- Price exceptions
Override a tier's discount for one product or variant. The exception wins.
- Up only
A refund never moves a partner back down a tier.

A key order you never touch.
Partners see only the products you release, priced at their tier. Their balance pays for the order and the keys go out like any other sale.
- Only what you release
Partners work in the Reseller tab of the customer portal. They never get your dashboard.
- An empty balance cannot order
If the balance does not cover the order, nothing is placed and nothing is charged.
- Delivered like any sale
Stock, keys and emails run on the same path as a retail order.
Sell it without owning a key.
A partner with a Shoppex shop of their own lists your product with no stock behind it. When their buyer pays, Shoppex buys the key from you and delivers it.
- Their buyer
Pays on the partner's storefront.
- Their shop
Has no stock of its own for this product.
- Your shop
Sells the keys at the partner's tier price.
- Their buyer
Gets the key on the same order.
- Keys onlyDynamic delivery supplies keys from a stock of serials. Files, services and physical goods are not supplied this way.
- A price ceilingCap the list price a partner can save for a product you supply. Lower the ceiling later and listings above it keep selling at their price until the partner next changes it.
- Refunded if shortIf a supplier cannot fill the whole order, the buyer gets a refund or store credit for the part that was not delivered.
A key for the shop they already run.
A Discord bot, a custom site or an existing shop orders against your catalogue with a scoped partner key.
$ curl -X POST https://api.shoppex.io/reseller/v1/orders \ -H "Authorization: Bearer shxr_your_key_here" \ -H "Idempotency-Key: restock-2026-07-24-001" \ -H "Content-Type: application/json" \ -d '{"items":[{ "product_id": "019cb402-5555-7000-8000-000000000005", "quantity": 5 }]}'
GET/reseller/v1/meTheir tier and how far they are from the next one.
GET/reseller/v1/productsYour released products, at their tier price.
GET/reseller/v1/balanceWhat is left before an order fails.
POST/reseller/v1/ordersPlace a wholesale order. Read it back with GET on the order.
- Shown onceA partner key starts with shxr_ and is shown once. Shoppex stores its hash, not the key.
- Never charged twiceEvery order needs an Idempotency-Key. A retry with the same key returns the original order.
- Revoke a keyA partner can revoke a key in the portal. Revoking is permanent and every call with it stops.
Reseller questions.
Do resellers cost extra?
No. The reseller program is on Free and on Business. The pricing page lists what each plan includes.
How do partners join?
You pick one of three modes: invite them yourself, take applications, or open the program to anyone. Applications can require a note.
How does a partner pay?
From a prepaid balance they top up in the portal. The partner API has no payment step: an order is paid from the balance or it is refused.
Can I sell physical goods through resellers?
No. Wholesale ordering covers digital products and dynamic delivery covers keys. Physical products are left out of the program.
Stop sending keys by hand.
Turn the program on, create a tier, enroll a product and invite one partner. That is the setup.