Document Version: 1.0 Date: 2026-01-15 Status: MVP Technical Architecture (Pre-Lending Phase)
graph TB
subgraph "User Layer"
USER[User / Trader]
WALLET["EOA Wallet\n(MetaMask, Rabby)"]
end
subgraph "Frontend Layer"
UI[Minimal Web UI]
MARKET_LIST[Market List]
MARKET_VIEW[Market Detail]
CLAIM_UI[Claim Rewards UI]
end
subgraph "Ethereum / EVM"
PM[PredictionMarketV2]
YES[YES MarketToken]
NO[NO MarketToken]
end
USER --> WALLET
WALLET --> UI
UI --> MARKET_LIST
UI --> MARKET_VIEW
UI --> CLAIM_UI
UI -->|createMarket| PM
UI -->|buyYesShares| PM
UI -->|resolveMarket| PM
UI -->|claimReward| PM
PM -->|deploys| YES
PM -->|deploys| NO
style PM fill:#4CAF50
style YES fill:#2196F3
style NO fill:#F44336
This MVP implements the risk tokenization layer of Siprifi Finance.
- Each prediction market is isolated
- Risk is expressed as ERC20 YES / NO tokens
- ETH is escrowed per market
- No AMM, oracle, or lending logic is included
This is a foundational primitive, not the full Siprifi protocol.
| Contract | Responsibility | Status |
|---|---|---|
PredictionMarketV2.sol |
Market lifecycle, escrow, resolution, payout | Implemented |
MarketToken.sol |
ERC20 YES / NO outcome tokens | Implemented |
graph TB
CREATE[createMarket]
BUY[buyYesShares]
RESOLVE[resolveMarket]
CLAIM[claimReward]
CREATE --> TOKENS[Deploy YES/NO Tokens]
BUY --> MINT_YES[Mint YES → Buyer]
BUY --> MINT_NO[Mint NO → Market Owner]
BUY --> ESCROW[ETH Escrowed in Contract]
RESOLVE --> OUTCOME[Outcome Stored]
CLAIM --> BURN[Burn Winning Tokens]
CLAIM --> PAYOUT[ETH Payout]
style ESCROW fill:#FF9800
style PAYOUT fill:#4CAF50
sequenceDiagram
participant User
participant UI
participant PM as PredictionMarketV2
participant Token as MarketToken
User->>UI: Create Market (question, deadline)
UI->>PM: createMarket()
PM->>Token: Deploy YES token
PM->>Token: Deploy NO token
PM-->>UI: MarketCreated
User->>UI: Buy YES shares (ETH)
UI->>PM: buyYesShares()
PM->>Token: mint YES to user
PM->>Token: mint NO to owner
Note over PM: ETH locked as escrow
User->>UI: (After deadline) Resolve market
UI->>PM: resolveMarket(outcome)
User->>UI: Claim reward
UI->>PM: claimReward()
PM->>Token: burn winning tokens
PM->>User: Transfer ETH payout
| Action | Result |
|---|---|
| Buy YES with X ETH | YES: X minted to buyer |
| NO: X minted to market owner | |
| ETH locked in escrow |
Assumptions:
- Fixed 1:1 pricing
- No dynamic probability
- No liquidity curve
payout = (marketEscrowETH × userWinningBalance) / totalWinningSupply
Properties:
- Zero-sum per market
- Proportional distribution
- Deterministic
| Component | Trust Model |
|---|---|
| Market Resolution | Fully trusted owner |
| Pricing | Fixed mint ratio |
| Oracle | None |
| Governance | None |
These assumptions are intentional for MVP speed.
| Risk | Description |
|---|---|
| Centralized resolution | Owner can resolve dishonestly |
| No reentrancy guard | claimReward vulnerable |
| Shared ETH balance | Needs per-market escrow mapping |
| No pause mechanism | Cannot halt in emergencies |
| No dispute window | Resolution is final |
- Market creation
- ERC20 YES / NO tokens
- ETH escrow
- Outcome resolution
- Proportional payout
- AMM pricing
- Oracle resolution
- Secondary trading
- Lending / collateral logic
- Liquidation
| Priority | Feature | Description |
|---|---|---|
| 🔴 High | Per-market escrow | Prevent cross-market leakage |
| 🔴 High | ReentrancyGuard | Secure reward claims |
| 🟡 Medium | Permissioned resolver | Multisig / DAO |
| 🟡 Medium | Dispute window | Challenge resolution |
| 🟢 Low | Market fees | Protocol revenue |
- Risk tokenization
- Binary outcome tokens
- ETH-settled markets
- YES / NO tokens whitelisted
- Oracle-based pricing
- LTV parameters
- Deposit-only lending
- Concentration limits
- Correlated market groups
- Borrowing power offsets
- Permissionless markets
- DAO governance
- Safety module
- Cross-market liquidity
| Whitepaper Concept | MVP Status |
|---|---|
| Outcome shares | ✅ Implemented |
| ERC20 collateral | ✅ Implemented |
| Capital efficiency | ❌ Not yet |
| Lending | ❌ Future |
| Risk engine | ❌ Future |
This MVP validates the atomic unit of Siprifi risk.
- Target: Testnet only
- Solidity: ^0.8.24
- No audits
- No upgradeability
This code is experimental and unaudited.
- No financial guarantees
- No oracle protections
- Use for research and prototyping only
© 2026 Siprifi Finance – Internal MVP Architecture Document