Documentation
How Vendor works
Vendor is a launchpad for Solana games: one shared, config-driven engine that lets anyone launch a game without building an engine. Pick a genre, drop in your token, and go live.
Overview
Instead of building a game engine, creators reuse Vendor's. Branding, token, tiers, economy, and packs are configuration, not a rebuild. A launch flows in a few steps:
Self-serve launching is on the way; today you join the waitlist for early access.
Play models - hold-to-play & play-to-earn
Two independent levers. A game can use one, both, or neither:
- Hold-to-play (H2P)- holding the game's token unlocks play and grants discount tiers. Pure read-only: the server reads your SPL balance to compute your tier and price. Nothing moves.
- Play-to-earn (P2E) - players earn a share of real game revenue. In-game rewards run today; claimable on-chain payouts are on the roadmap (see P2E payouts).
Custody
Vendor is non-custodial: it never holds, escrows, or pools your funds, and keeps no signing keys in the engine. There is no deposit route, so there is nothing to rug.
Hold-to-play moves nothing. When value does move - buying a pack, paying a launch fee, or (later) claiming an on-chain reward - it is a direct, you-signed, wallet-to-wallet transfer that Vendor never takes custody of. Here is the money path for a pack purchase:
“Custody-free” means Vendor never holds your tokens, not that no transaction ever happens.
Fees
Vendor earns three ways:
| Fee | Amount | Paid in |
|---|---|---|
| Launch fee - one-time, to make a game live | Set per launch | $VENDOR |
| Platform fee on packs - a cut of pack sales | 5% (cap 20%) | SOL |
| Trading fees - Vendor is the bonding-curve fee-claimer | Per the curve config | token / SOL |
Packs are priced in SOL and paid directly to the creator's own treasury - Vendor never custodies pack revenue; it is a wallet-to-wallet transfer. The platform fee is fixed platform-wide (creators cannot change it).
Fees roll out alongside self-serve launching and on-chain token launches. See the roadmap for what is live today versus on the way.
How play-to-earn payouts work
Real cash to players has to come from real revenue, not minted tokens, or the economy collapses. So play-to-earn is a revenue share:
- A fixed, configurable % of real revenue (pack sales + trading fees) funds a reward pool.
- Players earn a share by playing - leaderboard rank, achievements, and holdings.
- Payouts are claimed, not pushed: each epoch the earned amounts are posted on-chain and players claim with a proof - a direct, you-signed transfer.
- Custody: the reward pool is creator-funded, held in a vault the creator controls - Vendor never holds it. Because it is the one place value is pooled, on-chain payouts roll out after a security and legal review.
In-game rewards run today; claimable on-chain payouts are on the roadmap.
Configuration
A game is a single validated config object - identity, token, play model, tiers, and packs. There is no engine code to write; the schema range-checks every field on save (tiers must ascend, the platform fee is capped, slugs are normalized):
// A whole game is one config object, validated by Vendor's GameConfig schema.
// (Shown trimmed; every field is type- and range-checked when you save.)
const config = {
meta: { name: "Crystal Keep", slug: "crystal-keep", signInApp: "Crystal Keep" },
module: { id: "rts" }, // the genre / template
chain: { tokenSymbol: "KEEP", platformFeeBps: 500 }, // 5% platform fee, fixed
playModel: { holdToPlay: true, playToEarn: true },
tiers: [
{ id: "bronze", name: "Bronze", minHold: 0, discount: 0 },
{ id: "silver", name: "Silver", minHold: 50_000, discount: 0.10 },
{ id: "gold", name: "Gold", minHold: 250_000, discount: 0.25 },
],
packs: [
{ id: "starter", name: "Starter Pack", priceLamports: 100_000_000, grants: { coins: 500 } },
],
};The genre lives in module; its own options are validated by that template's schema.
Templates
Every genre runs on the same wallet, economy backbone, and low-poly toolkit:
- Garden - live.
- RTS and Shooter - playable demos against bots; real-time PvP is on the roadmap.
- Arena, RPG, Idle / Tycoon, Survivors - planned.
- Card / Gacha - on the roadmap.
Launching a game
- Connect your wallet.
- Pick a template (genre).
- Choose your play model (H2P and/or P2E) and configure tiers, economy, and packs.
- Pay the one-time launch fee in $VENDOR.
- Your game goes live on its own surface - no rebuild.
Self-serve launching is on the roadmap - join the waitlist for early access.
Roadmap
The flagship game is live today, with on-chain payments and hold-to-play tiers. Next up is self-serve launching, then on-chain play-to-earn rewards, higher-fidelity visuals, and more genres. The roadmap is the source of truth for what is live versus on the way.