LitePaper — PingTONg
Last updated: September 30, 2025 • Version v1.2.0
This litepaper provides a comprehensive overview of PingTONg’s vision, technology, economics, and roadmap (Full‑DeFi, non‑custodial settlement).
0) TL;DR
PingTONg is a competitive, non‑custodial table‑tennis arcade on TON.
- Stakes, payouts, and refunds are executed on‑chain by a smart contract (escrow).
- A stateless server (oracle) only signs results; it cannot move funds.
- Match formats: BO1 / BO3 / BO5; buy‑ins:
1, 2, 5, 10, 50, 100TON. - Lobby is real‑time via a single WebSocket multiplexed into
lobbyandgame:<id>. - Arcade Mode (Power‑Ups): optional, one‑shot, SFT‑like items burned on use; unused items and gas top‑ups are refunded.
- Fees are transparent, on‑chain (
feeBpssent tofeeReceiver). Surplus deposits are auto‑refunded.
1) Vision & Principles
- Full DeFi: non‑custodial settlement on smart contracts; servers never hold player funds.
- Fair, skill‑first gameplay with clear rules and transparent scoring.
- Open & composable: minimal off‑chain trust, domain‑tagged messages, replay‑safe oracles.
- Low‑friction UX for Telegram & mobile; Solo is always available; staking features are disabled in restricted regions.
2) Game Modes
2.1 Solo Training
- Local, physics‑driven Pong with AI difficulty (
easy/medium/hard). - Series engine mirrors multiplayer: countdown start, rally speedup, spin, depth.
- No contracts involved; can unlock Power‑Ups later via quests.
2.2 Quest (Solo)
Rolling out in Q1 2026 with level‑based challenges to earn cosmetic or low‑impact Power‑Ups.
2.3 Multiplayer (Staked)
- Buy‑ins (TON):
1, 2, 5, 10, 50, 100. - Match formats:
- BO1 — first to
11points (single set). - BO3 — each set to
7points; first to2sets wins. - BO5 — each set to
5points; first to3sets wins.
- Lobby UX (Winamax‑style): table grouped by
Mode × Buy‑in; “Play” creates or joins; real‑time row updates; auto‑route when your match flips toin_game.
2.4 Arcade Mode (Power‑Ups)
- Players pre‑select a limited queue (e.g., 5 Power‑Ups).
- One‑shot usage (single rally or timed duration); burned on use.
- Examples: SpeedBoost, Sticky, Magnet, Curveball, Shield, Phantom, Mirror, Slow‑Mo, Tiny Ball, Giant Paddle, Spin Burst, Gravity Flip, Split Ball (carefully balanced), etc.
- At match start, each player adds a small gas top‑up (e.g.,
0.05TON). Unused items and unspent gas are refunded at the end.
2.5 Tournaments
- Single‑elimination brackets of
32or64players. - On‑chain prize escrow and bracket advancement; oracle attestations per match.
3) Match Lifecycle (Multiplayer)
- Create/Join — Backend registers
{ matchId, mode, buyInTon, deadlineTs }. Players stake to the PongEscrow contract. Lobby showsopen/ready; when2/2, briefready(~1.5s) thenin_game. - Gameplay — Real‑time over WS
game:<matchId>. Server never holds funds; it only forwards state and collects signed results. - Result — Oracle emits a signed result (winner, sets, points, nonce). Escrow verifies signature + nonce and pays out autonomously.
- Fallbacks — Disconnect flow with timestamp skew guard (
atTs ≤ now()+60), grace window, and forfeit if needed. Global cancel refunds both when the match is voided.
4) Architecture — Smart Contracts (TON)
4.1 PingTongEscrow.tact
- Stores
mode,stakeUnits/stakeNano, and players (A, B) permatchId. - Allowed stakes list; rejects mismatched or insufficient deposits.
- Nonce monotonicity across
ReportDc,SubmitResult,GlobalCancel(anti‑replay). - Timestamp skew guard for DC:
atTs ≤ now() + 60. - No reversal: after winner is set, cancel paths are locked.
- Deposit cushion flag: require ≥
stake + cushion(≈0.015–0.02TON) to avoid gas edge‑cases; surplus auto‑refunded. - Reserving strategy: reserve only for gas, not the whole balance (
ReserveAtMost | ReserveAddOriginalBalance) right before eachsend()so payouts/refunds remain spendable. - Payouts & refunds: Winner prize =
2 × stake − fee(fee = feeBps × pot / 10000). Timeout/cancel → refund stake to each party. get_config()view: returnsoraclePubKey (slice),feeBps,feeReceiver,graceSecs.- Extensive Jest tests (create/join, payouts, DC/forfeit, global cancel, nonce, cushion, skew guard). All tests pass.
4.2 PingTongTournament.tact (Roadmap)
- Brackets for
32/64players, single‑elimination. - Prize escrow per bracket; per‑match oracle attestations; progression rules enforced on‑chain.
5) Fees & Costs (Transparent)
- Protocol fee:
feeBps(basis points) taken on payout from the pot (2 × stake) and sent tofeeReceiver. - Example: buy‑in
1TON each → pot2TON;feeBps=50(0.5%) → fee =0.01TON; winner gets1.99TON. - Deposit cushion: client attaches ≈
0.015–0.02TON extra at create/join to cover gas; surplus auto‑refunded. - Network fees: users pay their own TON gas via TON Connect; the contract never withholds gas beyond protocol fee.
- Power‑Ups: tiny burn fee per use (includes gas); unused items and unspent gas top‑up refunded at the end.
Current feeBps and feeReceiver are published in‑app and via get_config() so anyone can verify the economics on‑chain.
6) Security & Fairness
- Domain‑tagged, oracle‑signed results: invalid signatures are rejected.
- Strict nonce monotonicity per
matchIdprevents replay. - Disconnect protection: skew guard + grace window; forfeit when applicable.
- No reversal after winner: cancel/refund paths are locked to prevent disputes.
- Unit tests cover replay, DC, refunds, payouts, insufficient deposit, wrong signer, contract binding, surplus safety, and fee math.
- Resilience: WS reconnect, snapshot on subscribe, debounced broadcasts.
7) Compliance
- Non‑custodial: all value transfers are settled by the smart contract; the interface never takes custody.
- RunOnFlux hosting: the web interface is deployed on the RunOnFlux decentralized cloud. PingTONg is an interface provider; it is not a broker, dealer, or custodian. Deployment and availability are subject to RunOnFlux Terms of Service.
- Restricted territories (Flux ToS): access to the hosted interface is not offered to persons or entities in the following locations: Crimea (Ukraine), Donetsk People’s Republic (DNR, Ukraine), Luhansk People’s Republic (LNR, Ukraine), Cuba, Iran, North Korea, Syria, or any other country/region subject to a United States embargo or similar sanctions. VPN or similar circumvention is prohibited.
- Restricted territories (PingTONg.fun): users located in the following jurisdictions are not permitted to access staking features or real‑money gameplay: Algeria, Bangladesh, China, Cuba, Crimea (Ukraine), Donetsk (Ukraine), Egypt, Iran, Iraq, Kherson (Ukraine), Kuwait, Luhansk (Ukraine), Morocco, Myanmar, Nepal, North Korea, Russia, Syria, United Kingdom, United States, Zaporizhzhia (Ukraine). Access to Solo remains available. This list may be updated; see the Terms for the authoritative version.
- Operational controls (Flux): Flux may monitor applications for security and performance, rate‑limit excessive bandwidth usage, and apply critical configuration updates post‑deployment. Apps that perform mining or private‑network scanning are prohibited. The hosted interface may be throttled or suspended to comply with laws or Flux policies.
- No financial intermediation: the server can’t move funds; it only signs match results (oracle attestations).
- Geo‑controls (UI): staking is disabled in restricted regions (see Terms). Solo remains available. The definitive list is maintained in the Terms and may evolve.
- Age & local laws: 18+ only. Users must comply with their local laws and any applicable sanctions regimes.
- Transparency: configuration keys (
oraclePubKey,feeBps,feeReceiver,graceSecs) are publicly readable viaget_config().
Note: This litepaper is informational and does not modify or supersede the Terms of Use or the RunOnFlux Terms of Service. In case of conflict, those documents control.
8) Roadmap
2025 Q3–Q4
- ✅ Solo mode parity (series, countdown, physics), Winamax‑style lobby.
- ✅ WS multiplex (lobby + game), ready→in_game auto‑route.
- ✅ Escrow hardening (cushion, skew guard, reserves, nonce tests).
- ⛳ Multiplayer launch on TON mainnet (buy‑ins, BO1/BO3/BO5).
2026 Q1
- Airdrop: Power‑Ups for Beta testers (Arcade Mode).
- Power‑Ups SFT contract (mint/burn, unused refunds + gas top‑ups).
- Quest Mode (Solo): level progression to earn cosmetic/low‑impact Power‑Ups.
2026 Q2
- In‑app marketplace for Power‑Ups; continued balancing.
- Tournaments (32/64 brackets) with on‑chain prize escrow.
2026 Q3–Q4
- Seasonal ladders, anti‑smurfing heuristics, deeper analytics.
- Optional DAO discussion to govern
feeBps/feeReceiver(community‑driven). - Third‑party tournament APIs for organizers.
Roadmap is indicative and may shift based on security, audits, and community feedback.
9) Token & Treasury
- No native token at launch.
- All economics are in TON.
feeBpsis on‑chain and adjustable by governance/owner (disclosed viaget_config()+ UI).- If a governance token is proposed later, it will be documented separately with clear distribution and utility.
10) Governance & Operations
- Configuration keys (
oraclePubKey,feeBps,feeReceiver,graceSecs) are transparent viaget_config(). - Operational logs: backend audit logs for oracle events and match transitions.
- Upgradability: new features ship as new contract versions; legacy matches remain pinned (no surprise upgrades).
- Community input: balance changes (e.g., Power‑Ups) are piloted in Arcade Mode before ranked deployment.
11) Risks & Disclaimers
- Smart‑contract risk: bugs can cause loss of funds; we mitigate via tests/audits but cannot eliminate risk.
- Oracle risk: downtime can delay settlements; fallbacks (DC/cancel) exist.
- Regulatory risk: rules differ by jurisdiction; access may be geo‑gated; see Terms.
- Market risk: TON price volatility; players must understand stake value.
12) Glossary
- BO1/BO3/BO5: Best‑of formats (first to N sets), with set target points
11/7/5respectively. - Oracle: Service that attests match results via signature; cannot move funds.
- feeBps: Protocol fee in basis points (
1 bps = 0.01%). - Deposit cushion: Extra TON attached to cover gas; surplus auto‑refunded.
- SFT: Semi‑Fungible Token; here used for one‑shot Power‑Ups that burn on use.
13) Contact
Questions, support, or disclosures: support@pingtong.fun