Onsend Docs

PvP Rolls & Jackpot

Head-to-head coin wagers with provably-fair rolls and a shared jackpot. An availability-gated feature enabled by Onsend on request.

PvP Rolls let members go head-to-head with their coins: two members stake an equal amount, a provably-fair roll decides the winner, and the winner takes the pot minus a small house cut. A shared jackpot pool builds up alongside and pays out to a lucky member on a cadence you set. It's a high-energy coin sink for an engaged community, with responsible-play limits you control.

Enabled by Onsend on request

PvP is an availability-gated feature. It's turned on per project by Onsend, not through a self-serve toggle. Until it's enabled for your project, the PvP page shows a read-only notice that an Onsend operator must enable it first, and the configuration below is locked. To bring PvP to your community, talk to your Onsend contact or email support@onsend.com.

Coins only, never XP, never rank

PvP is played entirely with coins. Wagers move coins between members; they never touch XP, tiers or leaderboard rank. PvP requires your coin economy to be enabled.

How a duel works

Two members stake the same amount of coins. A provably-fair roll, based on a commitment made before the result is known, decides the winner, who receives both stakes minus the house cut. Because the roll is committed up front and revealed after, neither side (nor you) can influence the outcome, and the result carries a proof any member can inspect. An unaccepted challenge expires after a time limit and the stake is returned.

Configuring PvP

Once Onsend has enabled PvP for your project, open PvP in the admin sidebar (requires the Admin role). Flip Enable PvP to take it live, then tune the settings below.

Screenshot pending

Admin → PvP: live switch, limits, and jackpot settings

slot: pvp.config

Match settings

SettingWhat it does
House cut (%)The cut taken from the losing side of each duel.
Challenge TTL (minutes)How long an open challenge waits for someone to accept before it expires and refunds.
Directed challengesAllow a member to aim a challenge at a specific opponent (rather than an open challenge anyone can take).

Responsible-play limits

These per-member guardrails are the heart of running PvP responsibly. Set them deliberately:

LimitWhat it does
Max stakeThe largest amount a member can wager on a single duel.
Daily loss limitThe most a member can lose across a day before they're cut off until tomorrow.
Rolls per hourHow many duels a member can play per hour, a cool-off on rapid repeat play.

Your settings are capped by Onsend

Every value above is bounded by a ceiling Onsend sets with you when the feature is enabled: for example a maximum house cut and max stake, and a minimum daily loss limit. If you enter a value beyond a ceiling, the dashboard rejects it and tells you which field exceeded its limit. You can always set safer values than the ceilings; you can't exceed them.

The jackpot

The jackpot is a shared pool that builds up from a percentage of coin burns elsewhere in your economy (shop purchases and spend-boxes) and pays out to a member periodically.

Jackpot settingWhat it does
EnabledTurn the jackpot pool on or off.
Burn (%)The share of shop / box burns routed into the pool (which also mints draw tickets).
Draw cadence (hours)How often a draw can fire.
Min pool to drawThe floor the pool must reach before a draw fires.

A draw fires on its cadence only when the pool has reached the minimum; a small or freshly-emptied pool simply waits. Each draw is recorded with a proof, and you can see recent duels and draws in the activity view on the page.

Tips

  • Set the responsible-play limits first. Max stake, daily loss limit and rolls per hour are what keep PvP fun rather than punishing. Decide them before you go live.
  • Start conservative. You can always loosen limits later; tightening them after members are used to bigger stakes is harder.
  • The jackpot needs a burn source. It fills from shop and spend-box burns, so if your economy has little to spend on, the pool grows slowly.

On this page