Fate

Fate Protocol: Bull/Bear Coins as Native Oracles

Fate Protocol is a decentralized, perpetual prediction market that operates continuously without expiration. It replaces traditional order books with a dual-vault system—where users buy and sell bullCoins and bearCoins—enabling hedging against market trends in a fluid, always-on ecosystem.

Current State

Fate Protocol currently enables users to:

  • Trade bullCoins (betting on price increases) and bearCoins (betting on price decreases)
  • Create perpetual prediction pools for any asset pair
  • Use external oracles (Chainlink, Hebeswap) for price feeds
  • Participate in decentralized price prediction markets across multiple chains

Fate Protocol is deployed across multiple EVM-compatible networks: Ethereum, Base, BNB Smart Chain, Ethereum Classic, and Polygon. The protocol uses a dual-vault system with separate vaults for bullCoins and bearCoins, featuring dynamic fee structures and automated reserve balancing.

Proposed GSoC Tasks

  1. Oracle Interface Implementation – Design and implement IFateOracle interface compatible with Chainlink's AggregatorV3Interface. Extend bull/bear coin contracts to expose price data in standardized format. Add price history tracking with round-based system. Implement getLatestPrice() and getLatestRoundData() functions.

  2. Price Derivation Mechanism – Develop price calculation formulas using bull/bear coin reserves and supply. Implement sentiment-based price adjustment: oraclePrice = f(bullPrice, bearPrice, basePrice). Add volume-weighted price aggregation for accuracy. Create time-decay mechanisms for historical price relevance.

  3. Oracle Adapter Contract – Build FateOracleAdapter contract wrapping bull/bear coins. Provide Chainlink-compatible interface for easy DeFi integration. Handle price normalization and formatting. Support multiple price derivation strategies (direct, implied, weighted).

  4. Testing – Write unit/integration/fuzz tests to prove numerical correctness, to guard against overflow/precision loss, and to ensure Fate oracles gracefully handle low liquidity, stale data, and paused pools.

  5. Documentation – Document the oracle interface and integration guide with clear explanations of the implementation so that new users can understand how Fate oracles work and integrate them correctly.

Resources

Ideators

  • GitHub: @Zahnentferner ; Discord: @b.wp

Mentors

  • Look for people with the role @Fate in the Discord of the Stability Nexus
  • GitHub: @blizet ; Discord: @blizet4910
  • GitHub: @Zahnentferner ; Discord: @b.wp
  • GitHub: @yogesh0509; Discord: @yogesh0509

Communication Channel

Join our Discord servers (https://discord.gg/xnmAPS7zqB and https://discord.gg/fuuWX4AbJt) and discuss this idea in development.