Process

Funding Round Setup

Before launching a Conditional Funding Market (CFM), a structured set of CFM Parameters must be defined. These parameters detail the oracle settings (e.g., Reality.eth), the collateral token, each proposal’s funding ask, how the chosen metric is mapped onto the $0–$1 payout range, the final resolution date, the liquidity incentives, and the decision rule used to determine which proposals get funded.

The Funding Entity will also select which metric is used to evaluate each funded proposal’s success. While Total Value Locked (TVL) is one example, any objective, quantifiable measure can serve: daily active users, fee revenue, on-chain volume, security audits passed, number of research papers, or any combination of such metrics. An oracle (specifically, Reality.eth) will finalize the actual metric values at the end of the evaluation period, ensuring an objective resolution.

Below is an illustration of these parameters:

CFMParameters:
  oracle:
    name: RealityEth
    arbitration: "Example arbitration settings"
    instructions: "Instructions for verifying the reported metric."

  metric:
    name: "Composite Ecosystem Score"
    metricsInvolved:
      - { name: "Users", weight: 0.5 }
      - { name: "TransactionVolume", weight: 0.5 }
    range:
      minValue: 0
      maxValue: 1000000
    mappingDescription: "Linearly maps actual score to a $0–$1 payout range."

  collateralToken: "USDC"
  resolutionDate: "2024-12-31T23:59:59Z"

  proposals:
    - { id: "A", name: "Proposal A", askAmount: 10000 }
    - { id: "B", name: "Proposal B", askAmount: 5000 }
    - { id: "C", name: "Proposal C", askAmount: 15000 }

  decisionRule:
    type: "TopN"
    N: 2
    description: "Fund the two proposals with the highest forecasted impact (the difference between their Funded market and Not_Funded market forecasts)."

  liquidityIncentives:
    totalRewardPool: 2000

Trading Phase

Depositing Collateral and Token Splitting

To precisely estimate a proposal's impact, the market uses a two-step token splitting process. When a user deposits $1 of collateral for a specific proposal, it is first split into a set of two conditional tokens:

  1. Funded token: Represents a claim on the outcome if the proposal receives funding.

  2. Not_Funded token: Represents a claim on the outcome if the proposal does not receive funding.

These conditional tokens are then split further into UP and DOWN tokens for their respective conditional scenarios:

  • The Funded token is split into a Funded-UP token and a Funded-DOWN token.

  • The Not_Funded token is split into a Not_Funded-UP token and a Not_Funded-DOWN token.

This structure isolates the proposal's specific contribution, by comparing the price of Funded-UP token to the price of Not_Funded-UP token. After the funding decision is made, one set of tokens (e.g., all Funded derivatives) proceeds to payout resolution, and the other (e.g., all Not_Funded derivatives) becomes worthless.

The UP and DOWN tokens function as follows:

  • UP token – Gains value if the proposal’s reported metric is high. Its payout ranges from $0 to $1.

  • DOWN token – Gains value if the proposal’s reported metric is low. Its payout ranges from $0 to $1.

The sum of the UP and DOWN tokens for any given conditional outcome (e.g., "Proposal A - Funded") always equals $1. A scalar payout rule defines:

  • A minimum value vminv_{\min} for the chosen metric.

  • A maximum value vmaxv_{\max}.

If, at resolution, the actual measured metric for a market ends up at vminv_{\min}, its UP token pays $0 (and the DOWN token pays $1). At vmaxv_{\max}, the UP token pays $1 (DOWN token $0). If the reported metric is in between, the UP and DOWN tokens each pay some fraction summing to $1.

The current market price of an UP token can be interpreted as the market’s forecast of where the metric will land, normalized to the $0–$1 range. For example, if the Funding Entity sets vmin=0v_{\min} = 0 new users and vmax=1,000,000v_{\max} = 1{,}000{,}000 new users, and the Funded-UP token for proposal A is trading at $0.70, that means the market collectively expects the metric to reach roughly 70% of that maximum if the proposal is funded, i.e., ~700k new users.

CFM Token Flow

                      $1 Collateral Deposited
                   (for a single proposal market)

                                  ▼ (Split)
                    ┌─────────────┴─────────────┐
                    │                           │
                    ▼                           ▼
        ┌─────────────────────┐       ┌─────────────────────┐
        │    Funded token     │       │   Not_Funded token  │
        └─────────────────────┘       └─────────────────────┘
                    │                                    │
                    ▼ (Split)                            ▼ (Split)
        ┌───────────┴───────────┐            ┌───────────┴───────────┐
        │                       │            │                       │
        ▼                       ▼            ▼                       ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│    Funded-UP    │ │   Funded-DOWN   │ │  Not_Funded-UP  │ │ Not_Funded-DOWN │
│     (0..$1)     │ │   (remainder)   │ │     (0..$1)     │ │   (remainder)   │
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘

Trading and Price Discovery

Traders buy and sell the UP and DOWN tokens for both the Funded market and Not_Funded market scenarios based on their research and beliefs. This allows for precise expression of expectations.

  • e.g. If you believe a proposal will perform worse than the market expects if funded, you buy its Funded-DOWN tokens.

This continuous price discovery is how the market aggregates information to produce two distinct forecasts for each proposal: one for if it is funded, and one for if it is not. The difference between these two forecasts represents the market's estimate of the proposal's impact.


Decision

At a predetermined date, the Funding Entity applies its decision rule based on the final market prices. The key is to use the difference between the Funded market's metric prediction and the Not_Funded market's metric prediction, to estimate impact. Examples:

  • Top-n Impact Funding: Pick the n proposals with the highest forecasted impact, calculated as the difference between the Funded market's predicted outcome and the Not_Funded market's predicted outcome.

  • Budget-Constrained ROI Funding: Sort all proposals by their “expected ROI” (forecasted impact relative to their funding ask) and allocate funds down the list until the budget runs out.

No matter the rule, the mechanism determines which proposals are funded based on their forecasted impact.

Metric Resolution

At a specified date several weeks or months after funding, the metric (e.g., total users, TVL, or fee revenue) is measured for each proposal's context. A Reality.eth oracle then reports this metric on-chain for the CFM contract to read.

If a proposal was funded, its Funded market tokens pay out based on the reported metric. Conversely, if a proposal was not funded, its Not_Funded market tokens pay out based on the reported metric observed in the "not funded" world. The other set of tokens for each proposal, having already been determined to be invalid by the funding decision, remains worthless.

Last updated