Search documentation

Find pages, sections, and content across all docs.

WavedashDocs

Monetization

Earn from your game with Paid Content

Wavedash is free for players to browse and free for you to publish. Every game launches free to play, and you earn by selling Paid Content inside it: one-time unlocks for part of your game, or repeatable items like in-game currency. You can also earn from free play through the Creator Fund, and let players support you directly by turning on Donations in the same Monetization tab.

Every game must keep some portion playable for free. Paid Content unlocks the rest.

Open Developer Portal → your game → Monetization and add an offer under Paid Content → Add. Players buy offers from a Wavedash-rendered paywall without leaving the game, or from your game's store page.

Setting up an offer

The Paid Content editor has a live preview of the paywall players will see. Start by picking the offer's type:

  • Durable: purchased once, never expires, like a base game or downloadable content. It locks a slice of your build, so players start in the free portion and unlock the rest. Wavedash fulfills the purchase by letting the player fetch the locked files. See Durables.
  • Consumable: can be purchased multiple times, like coins or an extra life. It doesn't lock any files. Your game applies the purchase and marks it fulfilled. See Consumables.

Durables only. List the build files to lock behind the paywall using glob patterns, where * matches within a path segment and ** matches across segments (picomatch syntax).

[
  "**/full-version/**"
]

Wavedash won't serve these files until the player owns the content, so keep your free portion outside the matched paths. The editor shows how many files in your latest build match and includes a file explorer to confirm the selection.

Price and content identifier

Set the price in USD, from $0.99 to $99.99; players are charged in USD. The content identifier (e.g. full-version) is an immutable handle your game passes to the SDK to check ownership and open the paywall.

Customize the paywall's title, description, and feature list. The live preview shows exactly what players see before they buy.

Purchase webhooks

Under Monetization → Webhooks, set a URL for Wavedash to POST a signed receipt to for every purchase and refund. There's one URL for production and one for playtests. Webhook deliveries logs every attempt and lets you resend one. See Webhooks for the request format, retries, and verifying the receipt.

Marketplace fee

Wavedash takes 10% plus a $0.50 flat fee on each Paid Content purchase and each donation.

Getting paid

Payouts run through Stripe Connect and go out once a month, on the 1st, to every team with a fully onboarded Stripe account and an available balance of at least $20. Smaller balances roll forward to the next month. Sale proceeds become available 48 hours after the purchase.

Only the team owner can connect Stripe, from the Payouts section of the team's Earnings page in the Developer Portal. The setup button unlocks once the team's balance (including funds still in the 48-hour hold) reaches $20, or right away if the team already has a Stripe account. Once Stripe's onboarding is complete, the next monthly run that finds at least $20 available pays you.

You can sell Paid Content before connecting Stripe: players can still buy and unlock it, and the earnings accumulate until you're onboarded.

Driving the paywall from your game

Use the SDK to open the paywall at the right moment and react to purchases. See Durables for isEntitled, getEntitlements, and triggerPaywall, plus download_content in Godot, which pulls the locked files into the running game once the player owns them. See Consumables for PURCHASE_COMPLETED, fulfillPurchase, and granting purchases from your backend.