Skip to main content

← Pictures · Outcome Map · Value Stream

Dependency Map

What must exist before what — and which dependencies would kill the project if they slip?

Critical Path

Move Contracts → Oracle Integration → Settlement PTB → Frontend → Dogfood
| | | |
v v v v
game.move oracle.move compose PTB dApp Kit
prediction.move result feed test atomic zkLogin flow
treasury.move attestation payout math sponsored tx
leaderboard.move match UI
season.move
admin.move

Dependency Matrix

DependencyTypeRiskMitigation
zkLoginHardMedium — requires OAuth app registration, ZKP salt serviceStart with Sui Wallet fallback, add zkLogin as enhancement
Sponsored transactionsHardMedium — requires backend gas station with SUI balanceCap per-user daily sponsorship, monitor balance
Oracle data feedHardHigh — no standard sports data oracle exists on SuiBuild custom agent-operated oracle first, integrate Pyth later for price data
Dynamic NFT DisplaySoftLow — Display standard is stable, pattern well-documentedCan ship without dynamic metadata, add later
Walrus storageSoftLow — audit trail is a nice-to-have, not critical pathStore on-chain events first, Walrus for extended history
Seal commit-revealSoftLow — prevents front-running but prediction game is low-stakesShip without, add if MEV becomes visible
Move compilerHardLow — stable toolchain, well-documentedPin compiler version in Move.toml
dApp KitHardLow — official Sui React SDK, actively maintainedPin version, follow migration guides

Build Order

TrackSprint 1Sprint 2Sprint 3Sprint 4
Contractsgame.move, prediction.moveoracle.move, treasury.moveleaderboard.move, season.moveadmin.move, upgrades
OracleMock oracle for testingAgent-operated HTTP oracleAttestation + hot potatoMonitoring + fallback
FrontendMatch list, prediction formzkLogin + sponsored txMy predictions, receiptsLeaderboard, stats
InfraTestnet deploy, CIGas station backendWalrus integrationMonitoring, alerts

Risk Register

RiskProbabilityImpactResponse
Sports data oracle unreliableHighCriticalBuild redundant feeds, manual admin override
zkLogin salt service downtimeMediumHighWallet extension fallback always available
Gas station balance depletedMediumHighAlerts at 50% balance, auto-disable sponsorship
Move contract bug post-deployLowCriticalTestnet first, phased mainnet migration
Low user engagementMediumMediumDogfood with rugby community first, iterate

Questions

Which dependency are we most likely to underestimate — and what does that reveal about our blind spots?

  • If the oracle is the highest-risk dependency, why isn't it the first thing we build?
  • The soft dependencies (Walrus, Seal) are "nice-to-have" — but are they what makes this interesting vs just another prediction game?