SBET
SBET Protocol is a fully decentralized sports betting platform built on Ethereum, offering four distinct betting primitives — peer-to-peer trading, pool betting, NFT staking, and prediction markets — all governed by immutable smart contracts with no centralized counterparty risk.
Unlike traditional sportsbooks that act as the house, SBET removes the intermediary entirely. Users bet directly against each other through EIP-712 signed orders matched on-chain, or participate in pari-mutuel pools where odds are determined purely by market forces. Every operation — from order execution to fee distribution — is enforced by audited Solidity code running on Ethereum.
The global sports betting market exceeds $500 billion annually, yet it remains dominated by centralized platforms that suffer from fundamental issues:
SBET addresses every dimension of this problem through a comprehensive protocol design:
Smart contracts enforce all rules — no operator can withhold funds, change odds after placement, or deny payouts. Code is law.
Protocol fees are on-chain and immutable. Users always know the exact cost structure before placing a bet.
Anyone with an Ethereum wallet can participate. No KYC gates, no geo-blocking, no withdrawal queues.
P2P orders are tradeable before settlement. NFT bets represent positions as tokens. DeFi-native from day one.
| Feature | Traditional Sportsbooks | Existing Crypto Betting | SBET Protocol |
|---|---|---|---|
| Counterparty | House (operator) | House or AMM | Peer-to-peer |
| Transparency | Opaque | Partial | Fully on-chain |
| Betting Modes | Fixed odds | 1-2 modes | 4 primitives |
| Fee Transparency | Hidden vig | Variable | On-chain, fixed |
| Settlement | Days | Hours | Instant (on-chain) |
| Position Trading | Not possible | Rare | EIP-712 native |
| Security Audit | N/A | Varies | 146-finding audit |
Investment Thesis: SBET is building the decentralized infrastructure layer for sports betting — the "Uniswap of sports markets." With 24 production-grade smart contracts, a completed security audit, and exchange listings on Coinbase, Gate.io, and LBank, the protocol is positioned to capture share from a $500B+ market transitioning on-chain.
| Milestone | Date | Significance |
|---|---|---|
| Token Launch | 2022 | SBET ERC-20 deployed on Ethereum mainnet with 3.5B fixed supply |
| Exchange Listings | 2023-2024 | Listed on Coinbase, Gate.io, and LBank — establishing Tier 1 liquidity |
| Protocol v2.0 | 2025 | Complete rewrite: 24 contracts, 25K+ LoC, 4 betting primitives, treasury system |
| Security Audit | Feb 2026 | Versus Security audit: 146 findings identified and resolved, 883 test cases |
| Whitepaper v2.0 | Mar 2026 | Comprehensive protocol documentation reflecting current architecture |
The convergence of three macro trends creates an unprecedented opportunity for SBET:
SBET sits at the intersection of these trends with a fully built, audited, and listed protocol ready to capture this market opportunity.
The global sports betting market is one of the largest entertainment verticals in the world, and it is accelerating due to regulatory liberalization, mobile adoption, and the convergence of sports and technology.
Post-PASPA repeal (2018), US states are legalizing at record pace. Europe and Asia-Pacific continue expanding regulated frameworks.
Over 70% of bets are now placed via mobile devices. Crypto wallets provide a natural extension of this mobile-native behavior.
DeFi protocols have proven that financial primitives can run trustlessly on-chain. Sports betting is the next major vertical to be decentralized.
Hundreds of millions of crypto holders represent a massive addressable market that prefers permissionless, transparent platforms.
| Platform | Model | Chain | Betting Modes | Audit | Token |
|---|---|---|---|---|---|
| Centralized (CeFi) | |||||
| DraftKings / FanDuel | House book | N/A | Fixed odds | N/A | Equity |
| Stake.com | House book (crypto) | N/A | Fixed odds | N/A | None |
| Decentralized (DeFi) | |||||
| Polymarket | CLOB | Polygon | Binary markets | Yes | None |
| Azuro | Liquidity pool | Polygon, Gnosis | Fixed odds | Yes | AZUR |
| Overtime Markets | AMM | Optimism, Base | AMM odds | Yes | THALES |
| SBET Protocol | P2P + Pools + NFT + LMSR | Ethereum | 4 primitives | 146 findings | SBET |
SBET's Edge: No competing protocol offers all four betting primitives (P2P trading, pool betting, NFT staking, prediction markets) within a unified, audited smart contract system. SBET's multi-modal approach means it can serve casual bettors (pools), sophisticated traders (P2P), collectors (NFT bets), and speculators (prediction markets) — all within a single token economy.
Traditional sportsbooks face structural constraints that decentralized protocols can exploit:
Traditional operators spend $10-50M per jurisdiction for licensing. SBET smart contracts deploy once and serve globally — no per-market licensing overhead.
CeFi sportsbooks spend $500-1000 per acquired customer via advertising. SBET's integrator model distributes acquisition costs across an ecosystem of partners.
Traditional platforms maintain complex payment processing with banks, card networks, and KYC providers. SBET settles instantly via Ethereum with zero payment infrastructure cost.
Centralized platforms periodically face accusations of odds manipulation and slow payouts. SBET's on-chain operations are fully verifiable and trustless.
SBET's sports taxonomy system supports a comprehensive range of sports and leagues across multiple categories:
| Category | Sports | Market Types |
|---|---|---|
| Football / Soccer | Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, World Cup | H2H, Spread, Total, BTTS, Double Chance, Over/Under 2.5 |
| American Sports | NFL, NBA, MLB, NHL, MLS, NCAA | H2H, Spread, Total |
| Combat Sports | UFC, Boxing | H2H, Method of Victory |
| Racket Sports | Tennis (ATP, WTA), Table Tennis | H2H, Set Spread |
| Motorsport | F1, NASCAR, MotoGP | Winner, Podium |
| Esports | CS2, Dota 2, League of Legends, Valorant | H2H, Map Winner |
| Other | Cricket, Rugby, Golf, Cycling | H2H, various |
SBET targets three converging markets:
| Segment | Size (2025) | Growth | SBET Capture Strategy |
|---|---|---|---|
| Online Sports Betting | $150B+ | 12% CAGR | Trustless P2P alternative to house-book model |
| Prediction Markets | $50B+ | 25% CAGR | LMSR-backed markets with on-chain settlement |
| DeFi Derivatives | $80B+ TVL | 20% CAGR | Composable bet positions, tradeable on secondary markets |
SBET Protocol is a modular, upgradeable smart contract system that provides the complete infrastructure for decentralized sports betting. The protocol is organized around six core primitives, each implemented as isolated, audited contract modules.
EIP-712 signed orders matched on-chain. Makers set prices, takers fill. No AMM needed.
Pari-mutuel pools where odds adjust dynamically based on total stakes per outcome.
Stake ERC-721/1155 NFTs on match outcomes. NFTs escrowed in vault until settlement.
LMSR-backed markets for multi-outcome events with automated market making.
Hub-and-spoke system with 7 specialized modules for protocol fund management.
Self-service partner registration with automated fee sharing and payout sweeps.
| Principle | Implementation |
|---|---|
| Security First | Every contract audited by Versus Security. 146 findings resolved. 883 test cases. Slither + Echidna analysis. |
| Modularity | Each betting primitive is a standalone contract. Treasury uses hub-and-spoke. No god-contracts. |
| Gas Efficiency | Batch operations for pool betting, nonce ranges for order cancellation, minimal storage writes. |
| No Admin Keys | Emergency pause with time-bounded recovery. No unilateral fund access. Multisig for critical ops. |
| Composability | EIP-712 orders are portable. NFT positions are standard tokens. Prediction shares are tradeable. |
| Fail-Closed | Unknown states revert. Invalid inputs rejected. Emergency mode locks all mutations. |
Order matching, EIP-712 verification, nonce management
Pari-mutuel pool creation, staking, outcome resolution
NFT staking, vault escrow, per-collection fee management
LMSR markets, share issuance, multi-outcome disputes
Fee collection, budget allocation, yield management, vesting, donations
Partner registration, fee splitting, automated payout sweeps
Read-only aggregation layer for frontend data fetching
Protocol-wide fee configuration and collection
Multi-signature authorization for critical operations
A typical P2P bet follows this lifecycle:
The SBET Core contract maintains several system-wide state variables tracked via the SystemStatus struct:
struct SystemStatus {
bool isPaused; // Global pause flag
bool isEmergency; // Emergency mode active
uint256 emergencyEndTime; // Auto-resume timestamp
address treasury; // Treasury contract address
uint256 poolCount; // Total pools created
}
Matches are the atomic unit of betting in the SBET Protocol. Each match represents a real-world sporting event and tracks:
| Field | Type | Description |
|---|---|---|
matchId |
uint256 | Unique on-chain identifier for the match |
finalized |
bool | Whether the outcome has been determined by the oracle |
finalPrice |
uint256 | Settlement price (determines P2P order outcomes) |
sideA / sideB |
address | Metadata identifiers for the two competing sides |
oracle |
address | Authorized address that can finalize this match |
finalizationTimelock |
uint256 | Delay period between oracle submission and payout availability |
nftCount |
uint256 | Number of NFTs staked on this match |
SBET follows a strict one-screen-per-contract pattern for the dApp:
| Step | Artifact | Location |
|---|---|---|
| 1. ABI | Exported const array | src/abi/<Contract>.ts |
| 2. Hooks | Wagmi read/write wrappers | src/hooks/use<Contract>.ts |
| 3. Page | React component | src/pages/<Contract>Page.tsx |
| 4. Address | Per-chain address | src/config/contracts.ts |
| 5. Route | URL path + nav entry | src/App.tsx + Sidebar.tsx |
This pattern ensures every new contract integration follows a predictable, auditable structure that reduces the risk of frontend bugs and makes the codebase navigable for new contributors.
SBET emits structured events for every state-changing operation, enabling off-chain indexing, analytics, and audit trails:
OrderFilled, OrderCancelled, PoolCreated, PoolStaked, PoolFinalized, Claimed
NFTStaked, NFTClaimed, CollectionBlacklisted, FeeUpdated
FeeCollected, BudgetAllocated, VestingCreated, EmergencyPaused
MatchCreated, MatchFinalized, OracleUpdated, IntegratorRegistered
| Component | Version | Purpose |
|---|---|---|
| Solidity | 0.8.34 | Smart contract language with overflow protection, custom errors |
| Foundry (Forge) | Latest | Compilation, testing, deployment, gas profiling |
| OpenZeppelin | v5.x | Battle-tested base contracts (ERC-20, ReentrancyGuard, Pausable) |
| Slither | Latest | Static analysis for vulnerability detection |
| Echidna | Latest | Fuzzing for invariant testing |
The protocol follows a layered architecture with clear separation of concerns:
| Layer | Contracts | Responsibility |
|---|---|---|
| Entry Layer | ||
| Core | SBET.sol | Main entry point, EIP-712 domain, order routing, match management |
| Query | SBETQuery.sol | Read-only aggregator for UI data (no state mutations) |
| Betting Layer | ||
| P2P | SBET.sol (internal) | EIP-712 order matching, signature verification, nonce tracking |
| Pools | SBET.sol (internal) | Pari-mutuel pool creation, staking, payout calculation |
| NFT | NFTVault.sol, NFTManager.sol, NFTFeeManager.sol | NFT escrow, staking, per-collection fee management |
| Prediction | PredictionMarket.sol, PredictionAMM.sol | LMSR markets, automated pricing, dispute resolution |
| Treasury Layer | ||
| Hub | Treasury.sol, TreasuryFacade.sol | Central fund management, access control, external interface |
| Modules | FeeManager, BudgetManager, VestingManager, YieldManager, MultisigManager, DonationManager | Specialized financial operations with daily limits and approvals |
| Integration Layer | ||
| Partners | IntegratorHub.sol | Self-service registration, fee splitting, payout automation |
OpenZeppelin Contracts v5
├── ERC20 → SBET Token
├── ReentrancyGuard → SBET Core, Treasury, NFTVault
├── Pausable → SBET Core, Treasury
├── ERC721Holder → NFTVault
├── ERC1155Holder → NFTVault
├── EIP712 → SBET Core (domain separator)
└── AccessControl → Treasury, IntegratorHub
SBET Protocol
├── SBET.sol → Core entry + P2P + Pools
│ ├── EIP712 domain management
│ ├── Order lifecycle (create, fill, cancel)
│ ├── Pool lifecycle (create, stake, finalize)
│ ├── Match management (create, finalize, oracle)
│ └── Nonce management (min, cancel, range)
├── NFTVault.sol → ERC-721/1155 escrow
├── NFTManager.sol → NFT bet coordination
├── NFTFeeManager.sol → Per-collection fees
├── PredictionMarket.sol → LMSR market lifecycle
├── PredictionAMM.sol → Automated market maker
├── Treasury.sol → Hub contract
├── TreasuryFacade.sol → External interface
├── FeeManager.sol → Fee configuration
├── BudgetManager.sol → Budget allocation
├── VestingManager.sol → Token vesting
├── YieldManager.sol → Yield strategies
├── MultisigManager.sol → Multi-sig authorization
├── DonationManager.sol → Community donations
├── IntegratorHub.sol → Partner integration
└── SBETQuery.sol → Read-only queries
All external-facing functions use OpenZeppelin's nonReentrant modifier. CEI (Checks-Effects-Interactions) pattern enforced throughout.
Orders are signed off-chain with domain-bound typed data. Domain includes chainId, verifyingContract, and a keccak256 salt for replay protection.
Global pause halts all mutations. Emergency mode is time-bounded — the protocol auto-resumes after the emergency window expires.
Three-tier nonce system: minimum nonce (bulk cancel), per-nonce cancel (selective), and auto-increment for ordering.
EIP712_DOMAIN = {
name: "Sports BET (SBET) Protocol",
version: "1.0",
chainId: <dynamic>,
verifyingContract: <SBET Core address>,
salt: keccak256("53019554eadfcd6f3ee53ec6d0bcd18db643b20cfcf8655aae83229cdeb079bd")
}
Order Type = {
maker: address, taker: address, token: address,
matchId: uint256, amount: uint256, price: uint256,
direction: uint256, expiry: uint256, timestamp: uint256,
orderGroup: uint256, nonce: uint256,
isNFT: bool, nftAddress: address, nftId: uint256
}
SBET.sol. Any mismatch will cause all order signatures to be invalid, preventing unauthorized replay across domains.
| Technique | Savings | Implementation |
|---|---|---|
| Off-chain signing | ~100% for order creation | EIP-712 signatures are free — no on-chain transaction until fill |
| Batch operations | ~40-60% per item | Multiple pool stakes, fills, or claims in a single transaction |
| Minimal storage writes | ~20K gas per slot saved | Hot storage for frequently accessed data; events for historical data |
| Nonce ranges | ~95% for bulk cancel | setMinNonce() invalidates thousands of orders in 1 tx |
| Custom errors | ~200 gas per revert | Solidity 0.8.x custom errors instead of require strings |
| Tight packing | Storage slot savings | Struct fields ordered to minimize storage slots used |
The SBET dApp uses a modern React/TypeScript stack with a carefully layered provider architecture:
WagmiProvider (wallet connection + contract reads/writes)
└─ QueryClientProvider (TanStack Query, 10s stale time)
└─ RainbowKitProvider (wallet modal UI)
└─ App (routing + pages)
This stack provides:
useReadContract), and writes (useWriteContract)SBET maintains a strict type system that mirrors Solidity types in TypeScript:
Direct Solidity mirrors: BetSide, OrderDirection, Order, PoolInfo, MatchDetails, NFTStake, SystemStatus, NonceStatus
Frontend models: Match, Team, BetSlipItem, MatchOdds, MarketKind, AppConfig — optimized for UI rendering
Runtime validation: TaxonomySchema, SportsMenuSchema, ConfigSchema — validate all external data at module boundaries
Type-safe ABI constants for each contract, enabling TypeScript-checked contract interactions via Wagmi hooks
The frontend supports seven international odds formats to serve a global user base:
| Format | Region | Example (60% implied) |
|---|---|---|
| Decimal | Europe, Australia | 1.67 |
| American | United States | -150 |
| Fractional | United Kingdom | 2/3 |
| Probability | Universal | 60% |
| Hong Kong | Hong Kong, Asia | 0.67 |
| Indonesian | Indonesia | -1.50 |
| Malay | Malaysia | 0.67 |
The peer-to-peer trading engine is SBET's flagship betting primitive. It enables users to create and fill orders against each other without any intermediary, automated market maker, or liquidity pool. Prices are set by the market — makers offer odds, and takers accept them.
Every P2P order contains 14 fields, all included in the EIP-712 typed data hash:
| Field | Type | Description |
|---|---|---|
maker |
address | Order creator's Ethereum address |
taker |
address | Specific counterparty (or address(0) for open orders) |
token |
address | ERC-20 token used for the bet (typically SBET) |
matchId |
uint256 | On-chain match identifier |
amount |
uint256 | Stake amount in token base units |
price |
uint256 | Implied probability (0–10000 basis points, i.e., 0–100%) |
direction |
uint256 | 0 = Long (Side A wins), 1 = Short (Side B wins) |
expiry |
uint256 | Unix timestamp after which the order is invalid |
timestamp |
uint256 | Order creation time (prevents stale replay) |
orderGroup |
uint256 | Groups related orders for batch cancellation |
nonce |
uint256 | Unique per-user incrementing nonce |
isNFT |
bool | Whether this order involves an NFT stake |
nftAddress |
address | NFT contract address (if isNFT is true) |
nftId |
uint256 | NFT token ID (if isNFT is true) |
Prices in SBET are expressed as basis points (0–10000), representing the implied probability of the outcome:
Example: A maker creates an order at price 6000 (60% implied probability) with 100 SBET. The taker must put up 100 × (10000 − 6000) ÷ 6000 = 66.67 SBET. If the maker's side wins, they receive 166.67 SBET minus the protocol fee.
SBET implements a three-tier nonce system for flexible order management:
| Mechanism | Function | Use Case |
|---|---|---|
| Minimum Nonce | setMinNonce(n) |
Bulk-cancel all orders with nonce < n. One tx cancels thousands of orders. |
| Per-Nonce Cancel | cancelNonce(n) |
Cancel a specific order by its nonce without affecting others. |
| Auto-Increment | Internal | Each filled order consumes its nonce, preventing double-fills. |
P2P trading fees are separated into distinct categories:
SBET orders use a binary direction model mapped to match sides:
| Direction | Value | Meaning | Wins When |
|---|---|---|---|
| Long | 0 | Betting on Side A | Side A wins (finalPrice favors A) |
| Short | 1 | Betting on Side B | Side B wins (finalPrice favors B) |
At settlement, the oracle sets a finalPrice for the match. Orders are resolved based on whether the final price exceeds or falls below the order's price point, enabling continuous-price settlement rather than simple binary outcomes.
Every order includes chainId in the EIP-712 domain and a unique nonce. Filled nonces are permanently consumed. Cross-chain replay is impossible due to the domain-bound salt.
The expiry field ensures stale orders cannot be filled. Makers should set short expiry windows (minutes to hours) for volatile markets.
Setting taker to a specific address creates a private order that only the designated counterparty can fill, preventing front-running by MEV bots.
The orderGroup field enables batch operations — cancel all orders in a group with a single transaction, useful for market makers managing many orders.
The P2P engine is designed to support professional market makers:
setMinNonce() cancels all orders below a threshold in one transaction — ideal for rapid market repositioningtaker = address(0) creates open orders visible to all participantsPool betting (pari-mutuel) is SBET's most accessible betting primitive. Users stake tokens on outcomes, and payouts are determined by the total pool distribution — there is no counterparty and no fixed odds. The protocol simply collects a small fee and distributes the rest to winners proportionally.
In pari-mutuel betting, the odds are not set by a bookmaker. Instead, they are determined entirely by the ratio of stakes across outcomes:
This means odds continuously adjust as new stakes come in, naturally reflecting the collective wisdom of all participants.
Each pool tracks the following on-chain state:
| Field | Type | Description |
|---|---|---|
poolId |
uint256 | Unique pool identifier |
finalized |
bool | Whether the outcome has been determined |
token |
address | ERC-20 token used for stakes |
totalStaked |
uint256 | Sum of all stakes across all outcomes |
outcome |
uint256 | Winning outcome index (set at finalization) |
numOutcomes |
uint256 | Number of possible outcomes (2+ supported) |
outcomeStakes[] |
uint256[] | Array of total stakes per outcome |
SBET pools support arbitrary numbers of outcomes, not just binary (win/lose). This enables:
For gas efficiency, SBET supports batch staking — users can stake on multiple outcomes or multiple pools in a single transaction. This is particularly useful for:
| Criteria | Pool Betting | P2P Trading |
|---|---|---|
| Best for | Casual bettors, popular events | Sophisticated traders, niche markets |
| Odds determination | Market-driven (pool ratio) | Maker-set (offer/accept) |
| Liquidity needed | Pool participants | Counterparty per order |
| Complexity | Simple (stake and wait) | Advanced (sign, set price, manage nonces) |
| Position trading | Not supported | Full secondary market |
Pool outcomes are determined by oracle-submitted finalization data. The finalization process includes built-in safety mechanisms:
| Safety Mechanism | Description |
|---|---|
| Finalization Timelock | After oracle submits an outcome, a configurable timelock delay allows community verification before payouts become claimable |
| Oracle Authorization | Only whitelisted oracle addresses can finalize matches. Oracle changes require multisig approval. |
| Immutable Outcomes | Once finalized and past the timelock, outcomes cannot be changed. This prevents post-hoc manipulation. |
| Refund on Cancel | If a match is cancelled (e.g., weather postponement), all stakes are returned in full — no fees charged. |
Users can query their position in any pool via the SBETQuery contract:
struct UserPoolDetails {
uint256 totalStake; // User's total stake across all outcomes
uint256[] outcomeStakes; // Stake per outcome
uint256 potentialPayout; // Maximum payout if user's outcome wins
}
This data is consumed by the frontend to display real-time potential returns as odds shift with incoming stakes.
SBET's NFT betting primitive enables users to stake ERC-721 and ERC-1155 non-fungible tokens on match outcomes. This opens sports betting to the NFT community, allowing collectors to put their digital assets to work without selling them — if they win, they get their NFT back plus token winnings.
NFT betting involves three specialized contracts working together:
Secure escrow for ERC-721 and ERC-1155 tokens. Implements ERC721Holder and ERC1155Holder for safe receipt. Only the NFTManager can withdraw.
Coordinates NFT bet lifecycle: staking, matching, settlement. Tracks NFTStake records with owner, token ID, side, and claim status.
Per-collection fee configuration. Allows different fee rates for high-value vs standard collections. Manages collection blacklists.
struct NFTStake {
address owner; // Original NFT owner
address nftAddress; // ERC-721/1155 contract
uint256 nftId; // Token ID
BetSide side; // SideA (1) or SideB (2)
bool claimed; // Whether payout was collected
}
The NFTFeeManager allows the protocol to set different fee rates for different NFT collections:
| Collection Type | Example | Fee Rate | Rationale |
|---|---|---|---|
| Blue-chip | High-value collections | 1-2% | Lower fees attract high-value stakes |
| Standard | Mid-tier collections | 2-3% | Default fee tier |
| Unverified | New/unknown collections | 3-5% | Higher fee compensates for valuation risk |
| Blacklisted | Malicious/spam | Blocked | Cannot be staked at all |
The protocol maintains a blacklist of NFT collections that cannot participate in betting. This protects users from:
ERC721Holder and ERC1155Holder safe receiver interfaces. All transfers use safeTransferFrom to ensure the vault can properly receive and return tokens. Reentrancy guards protect all withdrawal paths.
NFT bets can be combined with P2P orders by setting isNFT = true in the order struct. This enables sophisticated betting scenarios:
| Scenario | Description | Collateral |
|---|---|---|
| NFT vs Tokens | One side stakes an NFT, the other stakes SBET tokens | NFT + Tokens (asymmetric) |
| NFT vs NFT | Both sides stake NFTs — winner takes both | NFT + NFT (symmetric) |
| NFT + Token vs Tokens | One side enhances their NFT stake with additional tokens | Mixed collateral |
When NFTs are used as betting collateral, the protocol handles valuation at the order level — makers and takers agree on terms before filling. This peer-negotiated model avoids the complexity and manipulation risk of on-chain NFT price oracles.
SBET's prediction market engine uses the Logarithmic Market Scoring Rule (LMSR) to provide automated market making for multi-outcome events. Unlike P2P trading where prices are set by makers, prediction markets have an algorithmic market maker that continuously quotes prices for all outcomes.
The LMSR, developed by Robin Hanson, is the gold standard for prediction market pricing. It guarantees bounded loss for the market maker while providing unlimited liquidity:
The liquidity parameter b controls the market maker's price sensitivity. Higher b means more liquidity (less price impact per trade), but higher maximum loss for the market maker subsidy.
Market lifecycle management: creation, trading, resolution, and payout. Manages market state, outcome counts, and resolution logic including M-of-N dispute mechanism.
LMSR cost function implementation. Calculates buy/sell costs, manages share balances, and handles the automated pricing algorithm.
Users interact with prediction markets by buying and selling outcome shares:
| Action | Effect | Cost |
|---|---|---|
| Buy shares | Increases position in outcome i | C(q + Δq) − C(q) — always positive, increases with quantity |
| Sell shares | Decreases position in outcome i | C(q) − C(q − Δq) — refund, decreases with quantity sold |
| Redeem (win) | Convert winning shares to tokens | 1 token per share of winning outcome |
| Redeem (lose) | Losing shares expire worthless | 0 tokens returned |
Prediction markets use a multi-oracle dispute mechanism for outcome resolution:
b · ln(n) where n is the number of outcomes. This means the protocol can provide guaranteed liquidity with a known, bounded subsidy cost.
| Category | Example Markets | Outcomes |
|---|---|---|
| Tournament Winners | World Cup winner, Champions League winner | 8-32 teams |
| Season Awards | MVP, Golden Boot, Ballon d'Or | 5-20 candidates |
| Transfer Markets | Will Player X transfer to Club Y before deadline? | 2-4 outcomes |
| League Standings | Which team finishes top 4? Relegation predictions | 2-20 teams |
| Record Breakers | Will a player score 30+ goals this season? | Binary (Yes/No) |
| Feature | Prediction Markets (LMSR) | Pool Betting (Pari-Mutuel) |
|---|---|---|
| Pricing | Continuous algorithmic pricing | Final odds at pool close |
| Liquidity | Always available (bounded loss) | Depends on participant count |
| Trading | Buy and sell shares anytime | Stake only (no exit before settlement) |
| Best for | Information discovery, complex events | Simple, popular sporting events |
| Resolution | Multi-oracle with dispute mechanism | Single oracle finalization |
The SBET treasury is a hub-and-spoke smart contract system that manages all protocol funds with defense-in-depth security. It consists of a central Treasury.sol hub contract and seven specialized module contracts, each handling a specific financial operation with independent access controls and daily limits.
Protocol fee config and collection
Budget allocation and spending limits
Token vesting schedules for team and advisors
Treasury yield strategies
Multi-sig authorization for critical ops
Community donation processing
External interface for integrations
| Module | Responsibility | Access Control |
|---|---|---|
| FeeManager | Configures fee rates for all protocol operations. Collects fees from P2P trades, pool bets, NFT stakes, and prediction market trades. | Treasury admin only |
| BudgetManager | Manages spending budgets with daily limits. Each budget category (development, marketing, operations) has independent caps. | Multisig required above threshold |
| VestingManager | Creates and manages token vesting schedules. Supports cliff periods, linear vesting, and revocable grants. | Treasury admin + timelock |
| YieldManager | Deploys idle treasury funds into approved yield strategies. Tracks positions and manages withdrawals. | Multisig + whitelist |
| MultisigManager | Provides M-of-N signature requirements for high-value operations. Manages signer sets and threshold changes. | Self-governing (signers manage signers) |
| DonationManager | Processes community donations to the protocol treasury. Tracks donor history and issues receipts. | Public (anyone can donate) |
| TreasuryFacade | Read-only external interface. Provides a clean API for integrators and dashboards to query treasury state. | Public (read-only) |
Every module enforces daily spending limits. Exceeding the limit requires multisig approval, preventing single-actor fund drainage.
The treasury can be paused independently of the betting contracts. Pause halts all outflows while still accepting inflows (fees).
Treasury migration to a new contract requires a timelock period, giving the community time to review and object before funds move.
OpenZeppelin AccessControl with granular roles: ADMIN, OPERATOR, MANAGER, VIEWER. Least-privilege enforced.
The treasury system tracks comprehensive on-chain metrics for transparency and auditing:
struct TokenMetrics {
uint256 totalDeposited; // Cumulative inflows
uint256 totalWithdrawn; // Cumulative outflows
uint256 totalFees; // Cumulative fees collected
uint256 lastUpdated; // Block timestamp of last update
}
These metrics are queryable via the TreasuryFacade contract, enabling any external dashboard or analytics platform to display real-time treasury health.
The VestingManager supports multiple vesting configurations for different stakeholder categories:
| Stakeholder | Cliff | Vesting Period | Type | Revocable |
|---|---|---|---|---|
| Core Team | 12 months | 36 months (linear) | Linear vesting | No |
| Advisors | 6 months | 24 months (linear) | Linear vesting | Yes (by multisig) |
| Ecosystem Grants | None | 12-24 months | Milestone-based | Yes (by multisig) |
| Strategic Partners | 3 months | 18 months (linear) | Linear vesting | Yes (by multisig) |
The 30% of protocol fees that flow to treasury operations are allocated across categories:
| Budget Category | Allocation | Daily Limit | Purpose |
|---|---|---|---|
| Development | 40% | Configurable | Smart contract development, frontend, infrastructure |
| Marketing | 25% | Configurable | Community growth, partnerships, listings |
| Operations | 20% | Configurable | Oracle costs, gas subsidies, infrastructure |
| Reserve | 15% | Multisig only | Emergency fund, strategic opportunities |
The Integrator Hub (IntegratorHub.sol) enables third-party platforms to build on top of SBET Protocol with built-in revenue sharing. Any developer or platform can register as an integrator and earn a share of the fees generated through their front-end.
Integrator onboarding is fully permissionless:
register() with integrator metadata (name, website, payout address)| Fee Component | Recipient | Description |
|---|---|---|
| Base protocol fee | SBET Treasury | Core protocol fee from every trade |
| Integrator share | Integrator wallet | Percentage of protocol fee credited to integrator's balance |
| Remainder | Treasury → stakers/burn | Standard treasury distribution (staker rewards + burn) |
Integrator earnings accumulate in the hub contract and can be swept to the integrator's wallet at any time. Batch sweep operations allow multiple integrators to claim in a single transaction, reducing gas costs for the protocol operator.
Build custom sports betting UIs that connect to SBET's liquidity and earn fees on every bet placed through the app.
Create social betting bots that let users place bets directly in chat, with the bot earning integrator fees.
Odds aggregators can route orders to SBET when it offers the best price, earning fees for order flow.
Lending, yield, and portfolio protocols can integrate SBET positions as collateral or yield sources.
Developer Incentive: The integrator model aligns incentives — the more volume an integrator drives, the more they earn. This creates a network of motivated distribution partners building the SBET ecosystem without any centralized business development effort.
Each integrator can query their performance metrics via the IntegratorHub contract:
| Metric | Description | Query Method |
|---|---|---|
| Total volume routed | Cumulative value of all orders attributed to this integrator | On-chain read |
| Fees earned | Total integrator fee share accumulated | On-chain read |
| Pending balance | Unswepped fee balance available for withdrawal | On-chain read |
| Order count | Number of orders attributed to this integrator | Event-based indexing |
| Active users | Unique wallets that have traded through this integrator | Event-based indexing |
As integrators grow their volume, they unlock higher fee shares:
| Tier | Volume Threshold | Fee Share | Benefits |
|---|---|---|---|
| Starter | 0+ | Base rate | Basic integration, standard API access |
| Growth | Volume milestone 1 | Enhanced rate | Priority support, analytics dashboard |
| Pro | Volume milestone 2 | Premium rate | Custom fee structures, co-marketing, early access to new features |
Integrating with SBET requires minimal development effort:
// 1. Register as integrator (one-time)
const tx = await integratorHub.register("MyApp", "https://myapp.com", payoutAddress);
const integratorId = /* extract from event */;
// 2. Include integrator ID when submitting orders
const order = {
...standardOrder,
// Integrator ID is passed as a parameter to the fill function
};
await sbetCore.fillOrder(order, signature, integratorId);
// 3. Sweep accumulated fees
await integratorHub.sweep(integratorId);
SBET Protocol integrates a dual-provider AI system that provides real-time market analysis, confidence scoring, and intelligent suggestions to users. The AI layer is strictly read-only — it never signs transactions or controls funds.
Advanced reasoning model for complex market analysis, multi-factor assessments, and nuanced betting strategy recommendations.
High-speed model for real-time odds analysis, quick market scans, and conversational interaction.
Users can switch between providers at runtime based on their preference. API keys are stored in sessionStorage only (tab-scoped, cleared on browser close) and are never sent to any SBET backend.
The AI system generates per-market confidence scores (0–100%) by analyzing:
The system produces structured suggestions with:
interface AISuggestion {
marketId: string; // Target market
pick: string; // Recommended selection
odds: number; // Current odds
confidence: number; // 0–1 confidence score
reason: string; // Human-readable rationale
kellyFraction: number; // Kelly criterion fraction
recommendedStake: number; // Suggested stake size
}
The AI can simulate a market maker that continuously monitors markets and suggests liquidity actions:
| Action | Trigger | Effect |
|---|---|---|
add_liquidity |
Market spread too wide or liquidity too thin | Suggests adding liquidity at fair-value prices |
remove_liquidity |
Risk exceeds thresholds or event approaching | Suggests pulling liquidity from risky positions |
adjust_odds |
New information changes fair value | Suggests odds adjustment with reasoning |
The AI system receives a structured market context snapshot containing current matches, odds, live scores, wallet state, and open bet slip items. This context is sent directly to the AI provider from the user's browser — SBET servers never see the data.
The market context passed to the AI provider includes:
interface MarketContext {
matches: Array<{
id: string;
lg: string; // League
home: string; // Home team name
away: string; // Away team name
status: string; // "live", "upcoming", "finished"
homeOdds: number;
drawOdds?: number;
awayOdds: number;
homeLiq?: number; // Home side liquidity
awayLiq?: number; // Away side liquidity
minute?: number; // Current minute (live only)
homeScore?: number;
awayScore?: number;
}>;
walletConnected: boolean;
walletBalance: number;
openSlip: Array<{ pick: string; odds: number; stake: string }>;
networkName: string;
}
The AI system uses the Kelly Criterion for optimal bet sizing recommendations. The Kelly formula determines the fraction of bankroll to wager based on the edge and odds:
The AI applies a fractional Kelly approach (typically 25-50% of full Kelly) to reduce variance and account for estimation uncertainty. This conservative approach protects users from overbetting on high-confidence but potentially miscalibrated signals.
AI suggestions are probabilistic assessments, not guarantees. The system explicitly disclaims prediction accuracy and encourages users to do their own research.
Kelly criterion sizing ensures recommended stakes are proportional to edge, preventing users from risking excessive amounts on single events.
Every suggestion includes a human-readable rationale explaining why the AI reached its conclusion, allowing users to evaluate the reasoning.
All AI processing happens between the user's browser and the AI provider. No betting data, wallet balances, or analysis results touch SBET servers.
SBET is an ERC-20 token on Ethereum mainnet with a fixed, immutable supply of 3,500,000,000 (3.5 billion) tokens. There is no minting function — the total supply was set at deployment and can never increase.
| Property | Value |
|---|---|
| Name | Sports BET |
| Symbol | SBET |
| Standard | ERC-20 |
| Chain | Ethereum Mainnet |
| Contract | 0x2ed2cc2c858a8a8219fd2f2d9e170285dbd02756 |
| Total Supply | 3,500,000,000 SBET |
| Decimals | 18 |
| Mintable | No — fixed supply, no mint function |
| Category | Allocation | Tokens | Details |
|---|---|---|---|
| Public Sale / Deployer | 76% | 2,660,000,000 | Largest allocation ensures broad distribution and deep liquidity from day one |
| Team (Locked) | 10% | 350,000,000 | Vesting schedules maintain long-term alignment with the community |
| ICO | 8% | 280,000,000 | Initial coin offering allocation for early supporters |
| Presale | 3% | 105,000,000 | Early-stage presale participants |
| Marketing, Dev & Bounty | 3% | 105,000,000 | Community growth, developer grants, bug bounties, partnerships |
SBET implements a continuous burn mechanism that reduces the circulating supply over time:
10% of all protocol fees are permanently burned. As trading volume grows, the burn rate accelerates, creating increasing scarcity.
With no minting capability, every burned token permanently reduces the total supply. The token is strictly deflationary.
| Utility | Description |
|---|---|
| Betting Collateral | Primary token for P2P orders, pool stakes, and prediction market shares |
| Staking Rewards | Stake SBET to earn 60% of protocol fees |
| Governance | Voting weight in protocol governance decisions (planned DAO transition) |
| Fee Discounts | Betting with SBET incurs only 2% fee vs 3.5% for other tokens — a 43% discount |
| Integrator Bonds | Integrators stake SBET as a good-faith bond for premium features |
Value Accrual: SBET's tokenomics create a virtuous cycle — more betting volume generates more fees, which drives more staking rewards (attracting holders), more token burns (increasing scarcity), and more integrator interest (driving more volume). This flywheel effect means the token's utility grows with protocol adoption.
Users deposit SBET as collateral for P2P trades, pool stakes, and prediction market shares. Tokens are escrowed during active bets.
Protocol fees (2% for SBET token, 3.5% for other tokens) are collected on each operation and routed to the Treasury Hub for distribution.
60% of fees → stakers (proportional), 30% → treasury operations, 10% → permanent burn.
With no minting and continuous burning, SBET's effective supply decreases over time:
| Year | Max Supply | Estimated Burn | Effective Max Supply |
|---|---|---|---|
| 2022 (Launch) | 3,500,000,000 | — | 3,500,000,000 |
| 2026 | 3,500,000,000 | Growing with volume | Decreasing |
| 2027+ | 3,500,000,000 | Accelerating with multi-chain | Continuously decreasing |
SBET Protocol's fees are fully transparent and enforced on-chain. Unlike traditional sportsbooks that embed hidden margins (vig) into odds, SBET charges explicit, predictable fees that users can verify before placing any bet.
The protocol incentivizes use of the native SBET token by offering a significantly lower fee rate compared to other ERC-20 tokens or ETH:
Why the discount? By using SBET as the betting collateral, users directly contribute to the token's velocity and utility. The 2% fee for SBET holders represents a 43% discount over the 3.5% standard rate — a powerful incentive that drives organic token demand while keeping fees lower than any competitor.
| Operation | SBET Token Fee | Other Token Fee | Description |
|---|---|---|---|
| P2P Trading | |||
| Order fill (maker) | 1% | 1.75% | Fee on maker's collateral at fill |
| Order fill (taker) | 1% | 1.75% | Fee on taker's collateral at fill |
| Order cancellation | Free | Off-chain cancellation (nonce invalidation) | |
| Pool Betting | |||
| Pool payout | 2% | 3.5% | Deducted from pool payout at settlement |
| Pool creation | Free | No fee to create a pool | |
| NFT Betting | |||
| NFT stake | 2% | 3.5% | Per-collection configurable rate (base rate shown) |
| NFT escrow/release | Free | No fee for vault operations | |
| Prediction Markets | |||
| Share purchase | 2% | 3.5% | Applied to LMSR cost at purchase |
| Share sale | 2% | 3.5% | Applied to LMSR refund at sale |
| Share redemption | Free | Winning shares redeemed at par value | |
| Cash Back / Withdrawal | |||
| Withdrawal | Free (gas only) | No protocol fee — users only pay network gas | |
| Platform Type | Effective Fee | Transparency | Fee Destination |
|---|---|---|---|
| Traditional sportsbook | 5-15% (vig) | Hidden in odds | Operator profit |
| Crypto sportsbook (CeFi) | 3-8% | Partially visible | Operator profit |
| DeFi betting (AMM) | 2-5% | On-chain visible | LPs + protocol |
| SBET Protocol (SBET token) | 2% | Fully on-chain | Stakers (60%) + burn (10%) |
| SBET Protocol (other tokens) | 3.5% | Fully on-chain | Stakers (60%) + burn (10%) |
Fee Advantage: SBET's peer-to-peer model eliminates the house edge entirely. The protocol charges just 2% when betting with the SBET token (or 3.5% with other tokens) — 3-7x lower than traditional sportsbooks. Moreover, 70% of fees flow back to the token ecosystem (staker rewards + burn), making SBET users the primary beneficiaries. Free cash back and zero withdrawal fees complete the low-cost picture.
Understanding SBET's fee advantage requires comparing the total cost of placing a bet across different platform types:
| Cost Component | Traditional Sportsbook | SBET Protocol |
|---|---|---|
| Odds margin (vig) | 5-15% | 0% (peer-to-peer pricing) |
| Platform fee | 0% (embedded in vig) | 2% with SBET / 3.5% with other tokens |
| Deposit fee | 0-3% (card/wire) | Gas only (~$0.01 on L2) |
| Withdrawal fee | $0-25 + 1-3 day delay | Free (gas only), instant |
| Currency conversion | 1-3% | 0% (native crypto) |
| Total effective cost | 6-24% | 2-3.5% |
SBET's fee model creates sustainable revenue without extracting excessive value from users:
As the protocol scales across multiple chains and integrator partners, fee revenue grows proportionally — creating a direct link between ecosystem growth and token holder returns.
Fee rates are governable parameters that can be adjusted through the governance process:
Fee changes are bounded by smart contract-enforced minimums and maximums to prevent governance attacks that could either extract excessive fees or eliminate protocol revenue entirely.
SBET's staking system allows token holders to earn a share of all protocol fees by locking their tokens. Stakers collectively receive 60% of all fees generated across every betting primitive — P2P trading, pool betting, NFT staking, and prediction markets.
| Source | Fee Rate (SBET / Other) | Staker Share (60%) | Volume Sensitivity |
|---|---|---|---|
| P2P Trading | 2% / 3.5% | 1.2% / 2.1% | High — grows with trading volume |
| Pool Betting | 2% / 3.5% | 1.2% / 2.1% | Medium — grows with event popularity |
| NFT Betting | 2% / 3.5% | 1.2% / 2.1% | Medium — tied to NFT market activity |
| Prediction Markets | 2% / 3.5% | 1.2% / 2.1% | High — grows with prediction market usage |
Earn a proportional share of all protocol fees without actively betting. Revenue is generated 24/7 from global sports events.
Staked tokens count toward governance voting power. Longer staking duration may provide boosted voting weight in future DAO governance.
Stakers receive reduced protocol fees on their own trades, creating an incentive for active participants to also stake.
Staking locks tokens, reducing circulating supply. Combined with the 10% burn, this creates sustained deflationary pressure.
Yield Projection: As protocol volume grows, staking yields increase proportionally. With SBET's multi-primitive approach covering P2P trading, pool betting, NFT staking, and prediction markets, fee revenue is diversified across multiple sources — reducing dependency on any single market or event.
The staking system is designed for simplicity and security:
| Mechanism | Implementation | User Experience |
|---|---|---|
| Deposit | ERC-20 transfer to staking contract | Single transaction, instant confirmation |
| Reward accrual | Pro-rata share of fee distribution events | Rewards accumulate automatically, no claim needed to accrue |
| Reward claim | Pull-based claim function | Claim anytime without unstaking principal |
| Withdrawal | Unstake principal + unclaimed rewards | Full withdrawal in one transaction |
| Compounding | Claim + restake in separate txs | Manual compounding (auto-compound planned) |
Unlike LP staking, SBET staking has no impermanent loss risk. Users deposit SBET and always withdraw SBET — no token pair exposure.
Staked tokens remain in the smart contract (not in any wallet). Only the depositor can withdraw. No admin withdrawal capability.
SBET staking yields are uniquely diversified because they draw from four independent betting primitives:
Generated from order fills. Volume correlates with market liquidity and trading activity. Highest during major sporting events.
Generated from pool settlements. Steady revenue from popular events with high participation. Seasonal patterns (football, basketball, etc.).
Generated from NFT stakes. Correlated with NFT market activity and sports collectible trends.
Generated from share trading. Active during long-running events (seasons, tournaments, transfers).
SBET Protocol is transitioning from a multisig-controlled governance model to a fully decentralized DAO. This progressive decentralization ensures security during the early protocol phase while building toward community-owned governance.
The protocol is currently governed by a multisig arrangement managed through the MultisigManager.sol contract:
| Parameter | Current Setting |
|---|---|
| Governance model | Multisig (M-of-N signatures required) |
| Controlled parameters | Fee rates, oracle addresses, emergency pause, treasury allocations |
| Timelock | Required for treasury migration and critical parameter changes |
| Emergency powers | Time-bounded pause (auto-resumes after window expires) |
| Phase | Governance | Scope | Timeline |
|---|---|---|---|
| Phase 1 | Multisig only | Full parameter control | Current |
| Phase 2 | Multisig + advisory token vote | Token holders vote on proposals; multisig executes | H2 2026 |
| Phase 3 | Full DAO governance | Token vote controls all parameters; timelock execution | 2027 |
| Phase 4 | Immutable core + DAO periphery | Core contracts made immutable; DAO governs periphery only | 2028+ |
Protocol fee rates for each betting primitive, integrator fee share percentages, NFT per-collection fee rates.
Approved oracle addresses for match finalization, prediction market resolvers, dispute bond amounts.
Daily spending limits, budget allocations, yield strategy whitelists, vesting schedule modifications.
Emergency pause/unpause, contract upgrades, NFT collection blacklists, integrator registration rules.
| Parameter | Current Control | Range/Constraints | Change Process |
|---|---|---|---|
| P2P fee rate | Multisig | 0-5% (basis points) | Proposal → multisig vote → immediate effect |
| Pool fee rate | Multisig | 0-10% (basis points) | Proposal → multisig vote → immediate effect |
| Oracle address | Multisig | Valid Ethereum address | Proposal → multisig vote → timelock → effect |
| Daily spending limit | Multisig | Min floor enforced | Proposal → multisig vote → immediate effect |
| Emergency pause | Any signer | Boolean (on/off) | Single signer can pause; multisig required to unpause |
| Treasury migration | Full multisig | Valid contract address | Proposal → full multisig → timelock → migration |
| NFT blacklist | Multisig | Collection address | Proposal → multisig vote → immediate effect |
| LMSR liquidity (b) | Multisig | Per-market configurable | Set at market creation; cannot change after trading starts |
The transition from multisig to full DAO governance is designed to be gradual and safe:
Token holders can vote on proposals via on-chain governance contracts. Votes are advisory — the multisig retains execution power but commits to following majority votes on non-critical parameters.
Token votes directly control parameter changes via on-chain execution. Timelock on all changes. Multisig retains emergency-only powers (pause). Quorum and supermajority requirements prevent governance attacks.
Core contracts are made permanently immutable — no governance can modify them. Only periphery contracts (fee rates, oracle lists) remain governable. The protocol becomes truly trustless.
Governance attack vectors (flash loan voting, minority takeover) are mitigated via: voting escrow (time-locked staking), quorum requirements, proposal thresholds, and execution timelocks.
SBET Protocol underwent a comprehensive security audit conducted by Versus Security in February 2026, covering all 24 smart contracts, 25,000+ lines of Solidity code, and 883 test cases. The audit identified 146 findings across all severity levels, all of which have been addressed.
| Severity | Count | Status | Description |
|---|---|---|---|
| Critical | 2 | Fixed | EIP-712 replay, reentrancy in settlement — both patched immediately |
| High | 8 | Fixed | Access control, integer overflow, oracle manipulation vectors |
| Medium | 22 | Fixed | Gas optimization, edge cases in pool finalization, nonce gaps |
| Low | 45 | Fixed | Code quality, documentation, naming conventions |
| Informational | 69 | Acknowledged | Best practice suggestions, gas hints, style recommendations |
Line-by-line code review by senior Solidity security researchers. Focus on business logic, access control, and economic attacks.
Slither automated analysis for common vulnerability patterns: reentrancy, unchecked returns, storage collisions, shadowing.
Echidna fuzzer with property-based tests. Verified economic invariants: total supply conservation, payout bounds, fee consistency.
Attack simulations for front-running, sandwich attacks, oracle manipulation, and flash loan exploitation scenarios.
| Finding | Risk | Fix |
|---|---|---|
| EIP-712 domain replay across chains | Critical | Added keccak256 salt + dynamic chainId verification to domain separator |
| Settlement reentrancy in pool payout | Critical | Applied CEI pattern + OpenZeppelin ReentrancyGuard to all payout functions |
| Missing access control on oracle setter | High | Added role-based access control with multisig requirement |
| Integer overflow in fee calculation | High | Solidity 0.8.x checked arithmetic + explicit bounds validation |
The Versus Security audit covered every contract in the SBET protocol, including:
| Domain | Contracts Reviewed | Focus Areas |
|---|---|---|
| Core Engine | SBET.sol, SBETQuery.sol | EIP-712 verification, order matching, pool logic, match finalization |
| NFT System | NFTVault, NFTManager, NFTFeeManager | Escrow safety, ERC-721/1155 callbacks, fee calculation |
| Prediction Markets | PredictionMarket, PredictionAMM | LMSR implementation, share accounting, dispute resolution |
| Treasury | Treasury, Facade, Fee/Budget/Vesting/Yield/Multisig/Donation Managers | Access control, daily limits, fund isolation, migration safety |
| Integration | IntegratorHub | Registration, fee attribution, payout sweep |
The protocol's 883 test cases cover critical paths across all contract domains:
Individual function testing for all public and external functions. Edge cases for zero values, max values, boundary conditions, and invalid inputs.
End-to-end flows: order creation → fill → settlement → claim. Pool creation → stake → finalize → payout. NFT stake → match → release.
Echidna property-based tests verify: total supply conservation, payout ≤ pool total, fees ≥ 0, nonce monotonicity, access control enforcement.
Tests for: reentrancy, front-running, sandwich attacks, flash loan exploitation, EIP-712 replay, nonce manipulation, oracle spoofing.
npm audit and OpenZeppelin version trackingSBET Protocol consists of 24 production smart contracts organized across four functional domains. Each contract is independently audited, tested, and deployed.
| # | Contract | Domain | Description |
|---|---|---|---|
| Core & Entry (2 Contracts) | |||
| 1 | SBET.sol |
Core | Main entry point. EIP-712 domain, P2P order matching, pool betting, match management, nonce tracking. |
| 2 | SBETQuery.sol |
Core | Read-only query aggregator. Provides batch data fetching for frontend (matches, pools, orders, balances). |
| NFT System (3 Contracts) | |||
| 3 | NFTVault.sol |
NFT | Secure ERC-721/1155 escrow. Implements safe receiver interfaces. Only NFTManager can withdraw. |
| 4 | NFTManager.sol |
NFT | NFT bet coordination. Manages stake records, matching, and settlement. |
| 5 | NFTFeeManager.sol |
NFT | Per-collection fee rates and blacklist management. |
| Prediction Markets (2 Contracts) | |||
| 6 | PredictionMarket.sol |
Prediction | Market lifecycle (create, trade, resolve, payout). M-of-N dispute resolution. Multi-outcome support. |
| 7 | PredictionAMM.sol |
Prediction | LMSR cost function. Automated pricing, share issuance, and buy/sell cost calculation. |
| Treasury System (7 Contracts) | |||
| 8 | Treasury.sol |
Treasury | Central hub. Role-based access, emergency pause, fund custody, module coordination. |
| 9 | TreasuryFacade.sol |
Treasury | External read-only interface for integrators and dashboards. |
| 10 | FeeManager.sol |
Treasury | Protocol-wide fee configuration and collection routing. |
| 11 | BudgetManager.sol |
Treasury | Spending budgets with daily limits and category-based allocation. |
| 12 | VestingManager.sol |
Treasury | Token vesting with cliff, linear, and revocable schedules. |
| 13 | YieldManager.sol |
Treasury | Treasury yield deployment into whitelisted strategies. |
| 14 | MultisigManager.sol |
Treasury | M-of-N authorization for critical treasury operations. |
| 15 | DonationManager.sol |
Treasury | Community donation processing and donor tracking. |
| Integration (1 Contract) | |||
| 16 | IntegratorHub.sol |
Integration | Self-service partner registration, fee sharing, and payout sweeps. |
| Token (1 Contract) | |||
| 17 | SBETToken.sol |
Token | ERC-20 token (3.5B fixed supply, no minting, deployed on Ethereum mainnet). |
| Libraries & Helpers (7 Contracts) | |||
| 18-24 | Various |
Library | Shared libraries for math operations, validation helpers, type conversions, event definitions, error definitions, constants, and storage layout. |
The following diagram shows how contracts interact with each other:
┌─────────────────────┐
│ SBET.sol │
│ (Core Entry Point) │
└──────┬──────────┬────┘
│ │
┌────────────┤ ├────────────┐
│ │ │ │
┌─────────▼────┐ ┌─────▼─────┐ ┌─▼──────────┐ │
│ NFTManager │ │ Prediction│ │ Integrator │ │
│ │ │ Market │ │ Hub │ │
└──────┬───────┘ └─────┬─────┘ └────────────┘ │
│ │ │
┌──────▼───────┐ ┌─────▼─────┐ ┌────▼───────┐
│ NFTVault │ │ Prediction│ │ Treasury │
│ (Escrow) │ │ AMM │ │ (Hub) │
└──────────────┘ └───────────┘ └────┬───────┘
┌──────────────┐ │
│NFTFeeManager │ ┌──────────┼──────────┐
└──────────────┘ │ │ │
┌───▼────┐ ┌───▼────┐ ┌──▼───────┐
│Fee Mgr │ │Budget │ │Vesting │
└────────┘ │Manager │ │Manager │
└────────┘ └──────────┘
┌──────────────┐ ┌────────┐ ┌────────┐ ┌──────────┐
│ SBETQuery │ │Yield │ │Multisig│ │Donation │
│ (Read-only) │ │Manager │ │Manager │ │Manager │
└──────────────┘ └────────┘ └────────┘ └──────────┘
| Contract Group | Deployment Order | Dependencies | Upgradeable |
|---|---|---|---|
| SBET Token | 1st (already deployed) | None | No (immutable ERC-20) |
| Treasury + Modules | 2nd | SBET Token | Modules replaceable via hub |
| SBET Core | 3rd | Treasury, FeeManager | No (immutable after audit) |
| NFT System | 4th | SBET Core | Manager upgradeable, Vault immutable |
| Prediction Markets | 5th | SBET Core, Treasury | Market factory pattern |
| Integrator Hub | 6th | SBET Core, FeeManager | Upgradeable via proxy |
| SBETQuery | Last | All above (read-only) | Freely replaceable |
SBET Protocol is deployed on Ethereum mainnet for token operations and uses Ethereum's security guarantees as the foundation. The protocol's multi-chain strategy focuses on expanding to high-throughput Layer 2 networks while maintaining Ethereum mainnet as the canonical settlement and security layer.
| Chain | Status | Contracts | Purpose |
|---|---|---|---|
| Ethereum Mainnet | Live | SBET Token (ERC-20) | Token operations, primary liquidity |
| Ethereum Sepolia | Testnet | Full protocol (24 contracts) | Development, testing, integration |
| Phase | Chain | Type | Rationale | Timeline |
|---|---|---|---|---|
| Phase 1 | Base | Optimistic L2 | Coinbase ecosystem alignment, low fees, growing user base | Q2 2026 |
| Phase 2 | Arbitrum | Optimistic L2 | Largest L2 TVL, strong DeFi composability | Q3 2026 |
| Phase 3 | Polygon | Sidechain / zkEVM | Massive user base, gaming ecosystem, low transaction costs | Q4 2026 |
| Phase 4 | Additional L2s | Various | Demand-driven expansion based on user and volume metrics | 2027+ |
SBET will use battle-tested cross-chain messaging protocols for token bridging and state synchronization:
Omnichain messaging for SBET token bridging (OFT standard). Enables native token transfers between all supported chains without wrapped tokens.
Cross-chain interoperability protocol for secure message passing. Used for cross-chain order settlement and treasury synchronization.
chainId in the EIP-712 domain, preventing cross-chain order replay.| Benefit | Ethereum Mainnet | L2 (Base / Arbitrum / Polygon) |
|---|---|---|
| Transaction cost | $2-50 per tx | $0.01-0.10 per tx |
| Confirmation time | 12-15 seconds | 1-2 seconds |
| Throughput | ~15 TPS | 100-4,000+ TPS |
| Security | Full Ethereum security | Inherits Ethereum security via rollup proofs |
| User experience | Gas spikes during congestion | Predictable, low-cost transactions |
Lower transaction costs on L2s unlock use cases that are uneconomical on mainnet, such as micro-bets (small stake sizes), high-frequency pool adjustments, and real-time prediction market trading during live events.
Users can acquire SBET natively on each chain via DEX or CEX, reducing bridge dependency. Only treasury sweeps require cross-chain messaging.
A bridge exploit on one chain cannot affect betting state on other chains. Each deployment is fully isolated with independent match/pool databases.
Ethereum mainnet remains the canonical authority for SBET token ownership. L2 tokens are bridged representations backed by mainnet holdings.
EIP-712 domain includes chainId and verifyingContract. Orders signed on one chain are cryptographically invalid on all other chains.
SBET Protocol follows a phased development approach, with each milestone building on the previous one. The roadmap prioritizes security, user experience, and ecosystem growth.
The SBET team tracks progress against the following KPIs at each milestone:
| KPI | Q1 2026 Target | Q4 2026 Target | 2027 Target |
|---|---|---|---|
| Smart contracts deployed | 24 (testnet) | 24 (3+ chains) | 24+ (5+ chains) |
| Integrator partners | 1-3 | 10+ | 50+ |
| Supported sports | 10+ | 20+ | 30+ |
| CEX listings | 3 (Coinbase, Gate, LBank) | 5+ | 10+ |
| Governance phase | Phase 1 (Multisig) | Phase 2 (Multisig + Vote) | Phase 3 (Full DAO) |
| Audit coverage | 100% (Versus Security) | 100% + ongoing monitoring | 2nd audit + immutability |
Every smart contract change goes through a three-phase process: design review, implementation with tests, and security analysis (Slither + manual). No code ships without passing all 883+ tests.
New features deploy to testnet first, then a single mainnet/L2, then expand to all chains. Each stage requires a minimum observation period before proceeding.
Roadmap priorities are informed by community feedback, usage metrics, and governance proposals. The team publishes monthly development updates.
All frontend code is open source. Smart contracts are source-verified on Etherscan. Community contributions are reviewed and merged via standard PR process.
Investors and users should carefully consider the following risk factors before participating in the SBET Protocol. The protocol team actively mitigates these risks through engineering, design choices, and operational practices.
| Risk Category | Severity | Likelihood | Description | Mitigation |
|---|---|---|---|---|
| Smart Contract Bugs | High | Low | Undiscovered vulnerabilities in Solidity code could lead to fund loss | 146-finding audit, 883 tests, Slither + Echidna, bug bounty program |
| Oracle Manipulation | High | Low | Compromised oracle could report false match outcomes | Multi-oracle validation, finalization timelock, dispute mechanism |
| Regulatory Action | Medium | Medium | Jurisdictional crackdowns on decentralized betting platforms | Decentralized architecture, no single point of control, progressive DAO |
| Market / Token Risk | Medium | Medium | SBET token price volatility may impact collateral value | Fixed supply, deflationary burn, multi-CEX liquidity |
| Bridge Risk | High | Low | Cross-chain bridge exploits could affect L2 token representations | Battle-tested protocols (LayerZero, CCIP), canonical token on mainnet |
| Frontend Attacks | Medium | Medium | Phishing, DNS hijacking, or malicious UI could trick users | Open-source frontend, ENS domain, EIP-712 shows data before signing |
| Liquidity Risk | Low | Medium | Insufficient counterparties for P2P orders in niche markets | Pool betting for popular events, integrator network, AI market maker |
| Ethereum Network | Low | Low | Network congestion, gas spikes, or consensus failures | L2 expansion reduces mainnet dependency, off-chain order signing |
SBET employs a layered defense strategy to address each risk category:
Smart Contract: 146-finding professional audit, 883 test cases, Slither static analysis, Echidna fuzzing, OpenZeppelin base contracts, CEI pattern enforcement, ReentrancyGuard on all external functions.
Data Integrity: Multi-oracle validation, finalization timelock (community can detect false outcomes), M-of-N dispute mechanism for prediction markets, bonded challenger system.
Token Stability: Fixed supply (no dilution), deflationary burn, multi-CEX liquidity (Coinbase, Gate.io, LBank), market making arrangements for healthy order books.
Governance: Multisig for critical operations, daily spending limits, timelock on treasury migration, emergency pause with auto-resume, progressive DAO transition.
| Severity | Response Time | Actions | Authority |
|---|---|---|---|
| Critical | Immediate | Emergency pause → investigate → patch → unpause | Any multisig signer (pause); full multisig (unpause) |
| High | < 4 hours | Assess impact → targeted mitigation → scheduled fix | Multisig majority |
| Medium | < 24 hours | Investigation → fix in next deployment cycle | Development team |
| Low | < 1 week | Tracked in issue tracker → fixed in scheduled release | Development team |
SBET explores DeFi insurance options to provide additional protection layers for users:
SBET Protocol is developed by a distributed team of smart contract engineers, frontend developers, and protocol designers with deep experience in DeFi, sports technology, and cryptographic systems.
Solidity development, security architecture, audit coordination. 24 production contracts with 25K+ LoC.
React/TypeScript dApp, responsive design, wallet integration (RainbowKit + WalletConnect), real-time odds display.
Tokenomics, fee structure, governance framework, multi-chain strategy, and integrator economics.
Dual-provider AI integration, confidence scoring algorithms, market analysis, and Kelly criterion optimization.
SBET's frontend dApp is open source under the BUSL-1.1 license. The smart contracts are source-verified on Etherscan. Community contributions are welcome through the standard pull request process.
| Channel | Purpose |
|---|---|
| Website | sbettoken.org — Protocol information, documentation, audit report |
| Twitter / X | Announcements, market updates, community engagement |
| Telegram | Community discussion, support, trading insights |
| GitHub | Open-source code, issue tracking, developer contributions |
The SBET development team operates with a set of non-negotiable engineering principles:
Assume hostile environments — all inputs, users, networks, and dependencies are untrusted by default. Threat model before implementing. Validate at every boundary.
Every change should be as simple as possible. Impact minimal code. Find root causes — no temporary fixes. Three lines of clear code is better than a premature abstraction.
Every meaningful change should improve a visible user journey or metric. Progress should be demoable. Reliability and performance are perceived quality.
Authentication + authorization + rate limits + monitoring + isolation + audit trails. No single layer is trusted alone. Fail-closed on unknown states.
| Layer | Technology | Version | Purpose |
|---|---|---|---|
| Smart Contracts | |||
| Language | Solidity | 0.8.34 | Smart contract development with overflow protection |
| Framework | Foundry (Forge) | Latest | Compilation, testing, deployment, gas profiling |
| Base Contracts | OpenZeppelin | v5.x | Battle-tested security primitives |
| Static Analysis | Slither | Latest | Automated vulnerability detection |
| Fuzzing | Echidna | Latest | Property-based invariant testing |
| Frontend | |||
| Framework | React + TypeScript | 18.x / 5.x | Type-safe component architecture |
| Build Tool | Vite | Latest | Fast development with HMR, optimized builds |
| Styling | Tailwind CSS v4 | 4.x | Utility-first CSS with Lightning CSS engine |
| Wallet | RainbowKit + Wagmi | Latest | Wallet connection, contract interactions, signing |
| Data Fetching | TanStack Query | 5.x | Caching, background refetching (10s stale time) |
| Validation | Zod | Latest | Runtime schema validation at module boundaries |
| Infrastructure | |||
| RPC | Custom endpoints | — | Configurable via environment variables |
| Wallet Connect | WalletConnect v2 | — | Mobile wallet support via QR code scanning |
| AI | Anthropic Claude + OpenAI GPT-4o | Latest | Dual-provider analytics, confidence scoring |
The SBET team encourages community contributions in several areas:
SBET has established a strong presence across major cryptocurrency exchanges and data platforms, providing liquidity, visibility, and credibility for the protocol.
| Exchange | Type | Trading Pairs | Status |
|---|---|---|---|
| Coinbase | Tier 1 CEX | SBET/USD | Live |
| Gate.io | Tier 1 CEX | SBET/USDT | Live |
| LBank | Tier 2 CEX | SBET/USDT | Live |
| Bybit | Tier 1 CEX | SBET/USDT | Planned |
| Uniswap | DEX (Ethereum) | SBET/ETH, SBET/USDC | Live |
| Platform | Category | Coverage |
|---|---|---|
| CoinGecko | Market Data | Price, volume, market cap tracking |
| CoinMarketCap | Market Data | Price, volume, market cap, community data |
| DappRadar | dApp Analytics | Smart contract activity, user metrics, TVL tracking |
| Etherscan | Block Explorer | Verified source code, token tracker, transaction history |
| Publication | Coverage Type |
|---|---|
| Forbes | Protocol feature and market opportunity analysis |
| Crypto news outlets | Listing announcements, protocol updates, milestone coverage |
Listing Strategy: SBET's exchange listing strategy focuses on Tier 1 exchanges to maximize liquidity, credibility, and user access. Each listing is paired with market making arrangements to ensure healthy order books and tight spreads.
CEX and DEX listings provide liquidity access points for users worldwide. Market making arrangements ensure tight spreads and healthy order books on each venue.
CoinGecko, CoinMarketCap, and DappRadar provide real-time price, volume, and protocol metrics — critical for investor due diligence and discovery.
RPC providers, oracle networks, and cross-chain protocols that form the backbone of SBET's technical infrastructure.
DeFi protocols, wallet providers, and sports data companies that enhance the SBET user experience and extend the protocol's reach.
| Exchange | Year Listed | Impact |
|---|---|---|
| Uniswap (DEX) | 2022 | Initial decentralized liquidity, accessible to all Ethereum users |
| Gate.io | 2023 | First major CEX listing, Asian market access, USDT pair |
| LBank | 2023 | Additional CEX liquidity depth, global reach |
| Coinbase | 2024 | Tier 1 validation, US market access, institutional credibility |
SBET's ecosystem extends beyond exchanges to include a comprehensive network of infrastructure and data partners:
CEX: Coinbase (Tier 1, US regulated), Gate.io (global, high volume), LBank (global reach)
DEX: Uniswap (Ethereum mainnet, ETH + USDC pairs)
Planned: Bybit, Base DEXes, Arbitrum DEXes
Market Data: CoinGecko, CoinMarketCap (price, volume, market cap)
dApp Analytics: DappRadar (smart contract activity, TVL)
Explorer: Etherscan (verified source code, token tracker)
Wallets: MetaMask, Coinbase Wallet, WalletConnect (50+ wallets via RainbowKit)
RPC: Custom endpoints, fallback providers
AI: Anthropic Claude, OpenAI GPT-4o
Press: Forbes coverage, crypto news outlets
Community: Twitter/X, Telegram, GitHub
Documentation: sbettoken.org (whitepaper, audit, API docs)
| Category | Target Partners | Value to SBET | Timeline |
|---|---|---|---|
| Oracle Networks | Chainlink, API3, UMA | Reliable sports data feeds for match finalization | Q2-Q3 2026 |
| Cross-Chain | LayerZero, Chainlink CCIP, Wormhole | Token bridging and cross-chain state sync | Q3 2026 |
| DeFi Insurance | Nexus Mutual, InsurAce | Smart contract coverage for user protection | Q4 2026 |
| Sports Data | API-Football, Sportradar | Real-time scores, statistics, and odds feeds | Q2 2026 |
| L2 Ecosystems | Base, Arbitrum, Polygon foundations | Grants, co-marketing, ecosystem incentives | Q2-Q4 2026 |
| Wallet Providers | Safe, Argent, Rabby | Deep wallet integration, dApp browser features | 2027 |
| Term | Definition |
|---|---|
| AMM | Automated Market Maker — algorithmic pricing system that provides liquidity without order books |
| Basis Points | One hundredth of a percentage point (1 bps = 0.01%). SBET prices use 0–10,000 bps (0–100%) |
| CEI | Checks-Effects-Interactions — Solidity pattern that prevents reentrancy by ordering operations |
| CEX | Centralized Exchange — traditional exchange with custodial trading (e.g., Coinbase, Gate.io) |
| CCIP | Cross-Chain Interoperability Protocol — Chainlink's secure cross-chain messaging standard |
| DAO | Decentralized Autonomous Organization — governance structure controlled by token holders |
| DEX | Decentralized Exchange — non-custodial trading protocol (e.g., Uniswap) |
| EIP-712 | Ethereum Improvement Proposal for typed structured data signing — enables readable transaction previews |
| ERC-20 | Ethereum token standard for fungible tokens |
| ERC-721 | Ethereum token standard for non-fungible tokens (NFTs) |
| ERC-1155 | Ethereum multi-token standard supporting both fungible and non-fungible tokens |
| Escrow | Smart contract holding funds/assets until conditions are met |
| Kelly Criterion | Optimal bet sizing formula that maximizes long-term bankroll growth |
| L2 | Layer 2 — scaling solution built on top of Ethereum (e.g., Base, Arbitrum, Polygon) |
| LayerZero | Omnichain interoperability protocol for cross-chain messaging and token transfers |
| LMSR | Logarithmic Market Scoring Rule — prediction market pricing algorithm with bounded loss |
| Maker | User who creates a P2P order and sets the price |
| Multisig | Multi-signature wallet requiring M-of-N signers to authorize a transaction |
| Nonce | Number used once — prevents replay attacks and enables order cancellation |
| OFT | Omnichain Fungible Token — LayerZero standard for native cross-chain tokens |
| Oracle | External data source that reports real-world results (match outcomes) to smart contracts |
| Pari-Mutuel | Betting system where all bets are pooled and payouts determined by pool distribution |
| Taker | User who fills an existing P2P order at the maker's price |
| Timelock | Enforced delay between proposing and executing critical actions |
| TVL | Total Value Locked — aggregate value of assets deposited in a DeFi protocol |
| Vig / Vigorish | Hidden margin embedded in odds by traditional sportsbooks (typically 5-15%) |
This whitepaper is provided for informational purposes only and does not constitute financial advice, investment advice, trading advice, or any other form of professional advice. The information contained herein should not be relied upon as a basis for making any investment decision.
Nothing in this whitepaper constitutes an offer to sell, a solicitation to buy, or a recommendation for any security, token, investment product, or financial instrument. SBET tokens are utility tokens designed for use within the SBET Protocol ecosystem and should not be considered securities, investment contracts, or financial instruments.
Cryptocurrency and decentralized finance involve substantial risk of loss. The value of SBET tokens may fluctuate significantly and may go to zero. Smart contracts, despite auditing, may contain undiscovered vulnerabilities. Users should:
This whitepaper contains forward-looking statements regarding the SBET Protocol's planned development, features, and milestones. These statements reflect current expectations and are subject to significant risks and uncertainties. Actual results may differ materially from those expressed or implied. The SBET team makes no guarantees regarding the completion of any roadmap items or the achievement of any projected metrics.
The regulatory landscape for cryptocurrency and decentralized betting varies by jurisdiction and is subject to change. It is the responsibility of each user to determine whether their use of the SBET Protocol complies with applicable laws and regulations in their jurisdiction. The SBET Protocol is a decentralized technology platform and does not provide or endorse any gambling services.
The SBET Protocol smart contracts and frontend application are released under the Business Source License 1.1 (BUSL-1.1). The SBET name, logo, and brand assets are the property of the SBET Protocol contributors.
The SBET Protocol is provided "as is" without warranty of any kind, express or implied. The contributors and developers disclaim all warranties including but not limited to merchantability, fitness for a particular purpose, and non-infringement. In no event shall the contributors be liable for any direct, indirect, incidental, special, or consequential damages arising from the use of the protocol.
SBET Protocol
Decentralized Sports Betting on Ethereum
sbettoken.org | Whitepaper v2.0 | March 2026
Contract: 0x2ed2cc2c858a8a8219fd2f2d9e170285dbd02756