SDKs & Downloads

The code that runs redemption on your side. FlipKey sells the license and mints the token; your backend hands over the key. These are the three ways to be that backend — pick one, the rest are optional.

Which one do I need?

No backend, want to sell this week
Key Station — a paid hosted station from our partner GameLicense.org ($20/year founding price). No download, no server; move off it whenever you want.
No backend, want to own it
Publisher Starter Kit (below) — a complete runnable redemption server. Unzip, fill in .env, npm start.
Already have a backend
Redeem SDK (below) — the front-end widget only. You write the handler; the SDK does wallet-connect, the signature, and the per-platform handoff. Read the redemption spec first.
Running watch-drops
Watch-Drop SDK (below) — server-side helper that verifies the signed claim handoff and acks fulfillment.
Full backend · zip

Publisher Starter Kit

A complete redemption backend: key storage, the atomic claim, the link-test handshake, the signed activation report, the Redeem SDK page, CSV key import. Express + viem. SQLite by default; MySQL and Postgres drivers included. Node 20+ (22 LTS recommended).

Have your own stack? Read it as the spec — every route and every signature check is the canonical shape to port.

unzip publisher-starter.zip && cd publisher-starter
cp .env.example .env
# edit .env — publisher id, webhook secret, contract address, your hostname

npm install
npm run init-db
npm run import-keys -- --file my-keys.csv --drop 42 --platform steam
npm start                      # listens on :3000
Verify what you downloaded before you unpack it:
sha256sum publisher-starter.zip
Expected: loading…

The build is reproducible — the same source produces the same bytes on any machine, so this hash is stable until the kit actually changes.

The three values .env asks for: your publisher ID and contract address come from onboarding; your webhook secret is on the Webhooks page.

The kit is available to approved publishers — each download is recorded against your account. Scripting it? Send your API key: curl -H "X-Api-Key: …" -O /downloads/publisher-starter.zip

Browser widget · no install

Redeem SDK

Drop-in JS + CSS for the redemption page on your own domain. Renders the platform-correct flow for Steam, Xbox, PlayStation, Nintendo, and Epic: connect wallet, sign a domain-bound message, POST to your handler, then redirect / grant / show-key-and-redact. No build step, no npm package — two tags.

loading…

Platform page templates live under /sdk/redeem/templates/ — steam, epic, playstation, xbox, nintendo. Keys never enter an HTML attribute or a query string — your backend returns them in the response body, once.

Node helper · vendor the file

Watch-Drop SDK

Server-side helper (Node 20+, zero dependencies) for the publisher half of a watch-drop: viewers watch, earn a tier, claim, and FlipKey POSTs you a signed handoff when the ticket is redeemed. The helper verifies the signature, hands you the claim, and acks fulfillment. Copy the one file into your backend — there is no npm package.

loading…

Grant on claim.redemption_id and make it idempotent — a retry must not grant twice. Point your webhook URL at the route on the Webhooks page.