Powered byNFW

Gacha shops for
any collectible

Open Gacha is the pull-shop protocol for NFT and TCG collections. Your storefront, your stock, provable draws, and 75% of every fee reaching your wallet.

11,618 pulls settled on this engine

[ The machine ]

Provable draws

Every pull is VRF-provable.
Nobody deals from the bottom.

Your authority

Your wallet owns the pool.
We never hold your keys.

Fees, direct

75% of every fee,
paid by the chain itself.

[ The deal ]

Keep 75% of every fee.

About 0.2 SOL and one transaction to launch, nothing to operate. NFW runs the randomness, the cranks, and the backend. You hold the pool and its keys.

Every pull fee100%
You keep 75% of every fee; the protocol keeps 25%.
To launch~0.2 SOL
To operate0
Enforced by the program on every pull
[ Two ways to run it ]

Own stock

The machine sells from your inventory, the way a shop does. Nobody else can put anything in.

YouYour poolPlayersYou · 75%
StockOnly your inventory
ExitsNFT · buyback

Decentralised

Anyone can stock your pool, from collections you whitelist. You curate, the community supplies.

YouHoldersAnyoneYour poolPlayersYou · 75%
StockWhitelisted collections
ExitsNFT · buyback · relist
[ How it works ]
  1. 01Launch

    Pick a mode, pay the rent, own the pool. One transaction.

  2. 02Whitelist

    Name the collections your pool admits, and their backing.

  3. 03Stock

    Deposit NFTs: you in own stock, the room in decentralised.

  4. 04Earn

    Pulls pay fees. Claim whenever: the chain itself pays you.

[ In code ]
lib/gacha ↗
import { readPool, pullPrice, requestPull,
         waitForDraw, drawnCards, resolve } from "@/lib/gacha"

const pool = await readPool(POOL)
const price = pullPrice(pool.activePositions, pool.totalWeight, pool.surchargeBps)

const { request } = await requestPull(buyer, POOL, pool, price)  // VRF draw
const drawn = await waitForDraw(request)
const [card] = await drawnCards(POOL, drawn.id)

await resolve(buyer, POOL, pool, drawn, card, meta, "keep")  // or "cashOut", "keepAndRelist"
Live shop
opengacha.io/mew-gacha

Every pool gets a real page like this one.
Launch, and yours is live in one transaction.

[ Case study ]
nfw.fun· the first shop on this engineLive totals
11,618
Pulls settled
5,309 SOL
Pulls sold
133 SOL
Crown pots paid

Same VRF, same settlement, same claim your pool gets.

Pull at nfw.fun
[ Who it's for ]

Any collection can sell pulls.

Accepts classic Metaplex NFTs, pNFTs with enforced royalties, and Metaplex Core, including vaulted TCG cards.