← Workspace Index

Nostra Market Design

Comprehensive Discussion Summary - December 2024

1. Market Structures

Two Main Approaches

50% Grouped Binary

  • Each outcome starts at 50% YES / 50% NO
  • Markets are independent (not linked)
  • Sum of YES can be anything (N × 50%)
  • Converges to ~100% via arbitrage
  • Simple to implement
5 outcomes at 50% each:
Sum = 250%
(Converges via arbitrage)

100/n% Binary Market

  • Each outcome starts at 100/N %
  • Can be independent OR mechanically linked (CTF)
  • Sum of YES = 100%
  • No initial arbitrage opportunity
  • Creator doesn't lose to arbitrageurs at start
5 outcomes at 20% each:
Sum = 100%
(No arbitrage opportunity)

CTF Multi-Outcome vs Grouped Binary

Feature Grouped Binary (Nostra Current) CTF NegRisk (Polymarket)
Initial Probability 50% YES / 50% NO
(or 100/n%)
100/N %
(or External Odds)
Sum of YES Prices Can exceed 100%
(Arbitrage opportunity)
Always 100%
(Mechanically enforced)
Market Link Independent
(No link between markets)
Mechanically Linked
(Split/Merge enabled)
Inventory Issue Major Problem
(Stuck with losing tokens)
Solved
(Can merge losing sets)
Implementation Simple
(Standard Binary Markets)
Complex
(Requires Adapter Contract)

Polymarket's Hybrid Approach (NegRisk CTF)

Polymarket uses different structures for different markets:
  • High Volume Markets (e.g., Super Bowl): NegRisk CTF - YES + NO = 100¢ per outcome
  • Low Volume Markets (e.g., CFP): Grouped Binary - YES + NO ≠ 100¢
Super Bowl (NegRisk CTF):
┌────────────┬───────┬───────┬──────────┐
│ Team       │ YES   │ NO    │ YES + NO │
├────────────┼───────┼───────┼──────────┤
│ Chiefs     │ 23¢   │ 77¢   │ 100¢ ✓   │
│ Eagles     │ 19¢   │ 81¢   │ 100¢ ✓   │
└────────────┴───────┴───────┴──────────┘

CFP (Grouped Binary):
┌────────────┬───────┬───────┬──────────┐
│ Team       │ YES   │ NO    │ YES + NO │
├────────────┼───────┼───────┼──────────┤
│ Indiana    │ 93.4¢ │ 99¢   │ 192.4¢   │
│ Ohio State │ 72¢   │ 98¢   │ 170¢     │
└────────────┴───────┴───────┴──────────┘

2. Initial Probability Settings

The Problem with 50% Initial Probability

Arbitrage Loss: If each outcome starts at 50%, the sum exceeds 100%, creating a guaranteed profit for arbitrageurs at the creator's expense.
5 outcomes at 50% each:
Sum = 250%

Arbitrageurs:
- Buy all NO tokens
- Guaranteed profit when one outcome loses
- Creator loses to arbitrageurs

Solution: 100/n% Initial Probability

No Arbitrage: Starting at 100/n% means sum = 100% from the start. No free money for arbitrageurs.
5 outcomes at 20% each:
Sum = 100%

No arbitrage opportunity at launch.
Creator doesn't lose money to arbitrageurs.

Key Insight

Both approaches converge to ~100% eventually (via trading or mechanically). The difference is:

  • 50% start: Creator loses to smart traders during convergence
  • 100/n% start: Still loses to smart traders (see below)

Critical Clarification: 250% Sum is NOT Arbitrage

Common Misconception: The 250% sum (5 × 50%) in grouped binary markets does NOT create arbitrage. Each market is independent!
Grouped Binary (5 outcomes × 50%):

Market 1: Team A  YES (50¢) + NO (50¢) = $1 ✓
Market 2: Team B  YES (50¢) + NO (50¢) = $1 ✓
Market 3: Team C  YES (50¢) + NO (50¢) = $1 ✓
Market 4: Team D  YES (50¢) + NO (50¢) = $1 ✓
Market 5: Team E  YES (50¢) + NO (50¢) = $1 ✓

Sum of YES = 250%... but so what?

Why no arbitrage?
• Each market is INDEPENDENT
• You CANNOT merge tokens across different markets
• Each market individually has YES + NO = $1 ✓

The 250% → 100% convergence is just PRICE DISCOVERY,
not arbitrage. Smart traders normalize it.

What IS Real Arbitrage?

Case Condition Action Result
Single Market YES + NO < $1 Buy both Guaranteed profit
Single Market YES + NO > $1 Mint & sell both Guaranteed profit
CTF Multi-Outcome Sum < $1 Buy all, merge Guaranteed profit
CTF Multi-Outcome Sum > $1 Split & sell all Guaranteed profit
Cross-Platform YES_A + NO_B < $1 Buy both sides Guaranteed profit

Key: Arbitrage means zero risk, guaranteed profit. The 250% sum doesn't qualify.

Does 100/n% Minimize Creator's Loss?

100/n% does NOT solve the creator's loss problem. It just changes WHERE the mispricing occurs.

Comparison: 5 Outcomes, True Probabilities: 60%, 15%, 10%, 10%, 5%

50% Initial (Sum = 250%)

Outcome Initial Fair Gap
A (favorite) 50¢ 60¢ -10¢
B 50¢ 15¢ +35¢
C 50¢ 10¢ +40¢
D 50¢ 10¢ +40¢
E 50¢ +45¢

Favorite: small underpricing (-10¢)
Underdogs: extreme overpricing (+35~45¢)

100/n% = 20% Initial (Sum = 100%)

Outcome Initial Fair Gap
A (favorite) 20¢ 60¢ -40¢
B 20¢ 15¢ +5¢
C 20¢ 10¢ +10¢
D 20¢ 10¢ +10¢
E 20¢ +15¢

Favorite: large underpricing (-40¢)
Underdogs: small overpricing (+5~15¢)

Analysis

Aspect 50% 100/n%
Favorite mispricing -10¢ (small loss) -40¢ (large loss)
Underdog mispricing +35~45¢ (extreme) +5~15¢ (small)
Underdogs tradeable? No (too expensive) Maybe (closer to fair)
Favorite NO token (80¢) - Won't sell (too expensive)

The Real Problem: Stuck NO Tokens on Favorites

With 100/n% (20% initial):
  • Favorite YES = 20¢ (way underpriced) → traders BUY → creator sells cheap
  • Favorite NO = 80¢ (way overpriced) → nobody buys → creator STUCK

When the favorite wins, creator holds worthless 80¢ NO tokens.

Conclusion: Neither Solves the Problem

100/n% trades one problem for another:

  • ✅ Underdogs priced closer to fair value
  • ❌ Favorites MORE underpriced than 50%
  • ❌ High-priced NO tokens (80¢) on favorites won't sell

Whether it minimizes loss depends on trading patterns. If more underdogs trade (because fairly priced), it might help. But the favorite's mispricing is worse.

True Solutions Remain:

  1. CTF Multi-Outcome - No stuck inventory (can merge)
  2. Market Maker - Professional takes inventory risk
  3. No initial platform liquidity - Let market discover prices first
  4. Accept loss as bootstrap cost - Part of business

3. Liquidity Provision

The Bootstrap Problem

No liquidity → No trading → No fees → No LPs attracted ↓ Platform must break the cycle ↓ Platform provides liquidity → Trading starts → Fees generated → Volume proven → External LPs join

Who Provides Liquidity?

Provider Reality When
Random traders Won't come to empty market Never initially
Professional MMs Only for proven high-volume markets After volume is established
Platform itself Must bootstrap new markets From day 1

Balanced Position Strategy

For a 5-outcome market with $1000 liquidity:

Split equally: $200 per market

For each market (at 20% YES / 80% NO):
- 200 YES @ $0.20 = $40
- 200 NO @ $0.80 = $160
- Total: $200 → 200 YES + 200 NO (balanced)

If A wins:
- A: 200 YES × $1 = $200
- B: 200 NO × $1 = $200
- C: 200 NO × $1 = $200
- D: 200 NO × $1 = $200
- E: 200 NO × $1 = $200

Return: $1000 ✓ (break even when balanced)

Small Liquidity Problem

$500 liquidity is NOT enough for good trading:
  • Wide spreads (bad prices)
  • High slippage on small trades
  • Can't execute large orders
  • Poor user experience
Liquidity Level Trading Quality User Experience
$500/market Poor Frustrating, large slippage
$5,000/market Okay Acceptable for small traders
$50,000+/market Good Professional-grade

4. Stuck Inventory Problem

The Core Issue

In Grouped Binary markets, LP can get stuck with worthless tokens that nobody wants to buy.
Initial: Market A at 20% YES / 80% NO
Creator holds: 200 YES + 200 NO

Time passes... A becomes favorite (80% YES):

Traders: "I want to BUY YES on A!"
Creator: Sells YES, happy 😊

Traders: "I don't want NO on A, A will win!"
Creator: Can't sell NO, stuck 😰

Result:
- YES: 200 → 50 (sold 150, good!)
- NO: 200 → 200 (nobody bought, stuck!)

If A wins:
- 50 YES × $1 = $50
- 200 NO × $0 = $0
Creator started with $200, ends with $50
LOSS: $150 ❌

Why Cross-Market Selling Doesn't Help

Selling NO on losing markets (B, C, D, E) does NOT compensate:

Sell 200 NO on B @ 95¢ = $190 received
But: If A wins, buyer gets 200 × $1 = $200

Creator sold $200 value for $190 = LOSS

Cross-market selling adds MORE losses, not compensation.

CTF Solves This

CTF Multi-Outcome allows merging complete sets:
100 A + 100 B + 100 C + 100 D + 100 E → $100 USDC

No counterparty needed!
Always can exit via merge.
No stuck inventory problem.

Worst Case Scenario for LP

Scenario Fee Income Inventory Loss Total Loss
Best case $500 $100 +$500 profit
Average $200 $350 -$150 (15%)
Bad case $75 $400 -$325 (32.5%)
Worst case $75 $860 -$785 (78.5%)

5. Market Makers (MM)

How MMs Make Profit

1. Spread (Buy Low, Sell High)

MM posts orders:
BUY YES @ 49¢
SELL YES @ 51¢

When both sides fill:
- Trader A buys YES @ 51¢ → MM receives 51¢
- Trader B sells YES @ 49¢ → MM pays 49¢

MM profit: 51¢ - 49¢ = 2¢ per share
If 10,000 shares traded: Profit = $200

2. Fee Rebates

Taker (takes order): Pays 2% fee
Maker (provides order): Receives 0.5% rebate

MM always provides orders → earns rebate on every trade

3. High-Frequency Adjustments

Price moving up?
→ Cancel BUY orders (avoid buying expensive)
→ Raise SELL prices (sell higher)

Amateur LP: Updates hourly → Gets run over
Pro MM: Updates every second → Captures spread

4. Hedging Across Markets

Correlated markets:
- "Chiefs win Super Bowl" (YES @ 25¢)
- "Mahomes wins MVP" (YES @ 30¢)

MM sells Chiefs YES, buys Mahomes YES (hedge)
Net exposure: ~zero
But: Keeps spread profit!

MM Profit Formula

MM Profit = Spread Income
          + Fee Rebates
          + Arbitrage Gains
          - Inventory Losses
          - Operating Costs

How to Attract MMs to Nostra

Method Description Cost to Platform
Pay Monthly Fee $2-10K/month for liquidity Fixed, predictable
Fee Rebates MM earns 0.5% on trades Reduced revenue
Revenue Sharing 50% of trading fees Variable
Token Incentives NOSTRA tokens for liquidity Token dilution

Key Insight: Polymarket Model

Polymarket has NO public LP UI. Liquidity comes from:
  • Professional MMs (via API, not UI)
  • Polymarket internal (hidden, behind scenes)
  • Traders' limit orders

Regular users just trade. They don't "provide liquidity" through UI.

6. Fee Structure

Fee Distribution Model

LP provides liquidity ↓ Traders can trade ↓ Traders pay fees ↓ Fees go to LP as yield ↓ LP compensated for risk ↓ More LPs attracted → More liquidity

Proposed Fee Structure

Trade: $100
Fee: 2% = $2.00

Distribution:
├── LP (liquidity provider): $1.50 (75%)
└── Platform (Nostra):       $0.50 (25%)

LP Yield Calculation

LP provides: $1,000 liquidity
Market volume: $50,000/month
Fee rate: 2%
LP share: 75%

LP earnings:
$50,000 × 2% × 75% = $750/month

LP yield:
$750 / $1,000 = 75% monthly APY 🔥

(High yield compensates for inventory risk)

The Tradeoff

Fee Level LP Yield Trading Activity
High (3%+) High Low (expensive to trade)
Medium (2%) Medium Medium
Low (0.5%) Low High (cheap to trade)

Can Fees Cover Losses?

Not always. If volume is low AND market moves hard in one direction:
  • Fee income: small
  • Inventory loss: large
  • Net: significant loss

Fees help but don't guarantee profit.

7. AMM vs Order Book

Fundamental Difference

Order Book

  • Match buyers with sellers
  • Need counterparty for every trade
  • Prices set by traders
  • Can have no liquidity

AMM

  • Trade against liquidity pool
  • No counterparty needed
  • Prices set by formula
  • Always some liquidity

AMM Example: World Cup

LMSR AMM for 8 teams:

Initial pool ($5000 liquidity):
┌─────────────┬────────┬───────┬──────────────┐
│ Team        │ Tokens │ Price │ Implied Odds │
├─────────────┼────────┼───────┼──────────────┤
│ Brazil      │ 5000   │ 12.5¢ │ 12.5%        │
│ France      │ 5000   │ 12.5¢ │ 12.5%        │
│ Argentina   │ 5000   │ 12.5¢ │ 12.5%        │
│ ...         │ 5000   │ 12.5¢ │ 12.5%        │
└─────────────┴────────┴───────┴──────────────┘

Trader buys $100 Brazil:
→ Gets ~700 Brazil tokens
→ Pool Brazil: 5000 → 4300
→ Brazil price: 12.5% → 25% (automatic!)

Comparison Table

Feature Order Book AMM
Always tradeable No (need counterparty) Yes
Capital needed High ($50K+) Lower ($5K)
Price discovery Order matching Formula
Large trades Better (if deep) Higher slippage
Complexity Medium Medium
Pro traders prefer Yes No

Key Insight

Order Book and AMM don't mix. They are fundamentally different systems. You choose ONE, not both.

Nostra currently has Order Book. Switching to AMM would require significant rebuild.

8. Platform Economics

The Unavoidable Bootstrap Cost

Before external LPs/MMs are attracted, the platform MUST:
  • Provide initial liquidity
  • Take inventory risk
  • Accept potential losses as cost of business

This is unavoidable. Every marketplace subsidizes early growth.

Budget Example

Nostra Year 1 Plan:

Launch 50 markets
Initial liquidity: $500 per market = $25,000
Expected loss rate: 20%
Expected loss: $5,000

Think of it as:
"$5,000 marketing spend to build a prediction market"

Compare to:
- Google Ads: $10,000
- Influencer marketing: $20,000
- Traditional marketing: $50,000+

$5,000 liquidity loss = CHEAP customer acquisition

Growth Path

Phase 1: Platform Provides All Liquidity ├── Provide $500/market ├── Lose ~20% = $100/market └── Build volume and reputation ↓ Phase 2: Attract External LPs ├── Show track record ├── "We did $1M volume last month" └── LPs see fee opportunity ↓ Phase 3: Sustainable Model ├── External LPs provide liquidity ├── Platform just takes fees └── Profit!

Polymarket's Business Model

Component Polymarket Risk Bearer
Platform Takes 2% fee on winnings Zero inventory risk
Market Makers Provide liquidity via API Bear inventory risk
Users Trade only Market risk

9. Recommendations for Nostra

Initial Probability

Clarification: Neither 50% nor 100/n% Prevents Loss

The 250% sum in grouped binary is NOT arbitrage. Each market is independent (YES + NO = $1 per market). Smart traders normalize prices through trading, not arbitrage.

Trade-offs:

Approach Pros Cons
50% Favorite less underpriced (-10¢) Underdogs extremely overpriced (+35~45¢), won't trade
100/n% Underdogs fairly priced, may trade Favorite heavily underpriced (-40¢), 80¢ NO won't sell

Bottom line: Creator loses either way. The only true solutions are CTF (no stuck inventory) or accepting loss as bootstrap cost.

Market Structure

Short-term: Grouped Binary (Current)

  • Already implemented
  • Accept stuck inventory risk
  • Use 100/n% to minimize losses

Long-term: Consider CTF Multi-Outcome

  • Eliminates stuck inventory problem
  • More capital efficient
  • Requires contract changes

Liquidity Strategy

Phase 1 (MVP)

- Platform provides $500-1000 per market
- Accept 20% loss as marketing cost
- Focus on few markets with deeper liquidity
- No public LP UI needed (like Polymarket)

Phase 2 (Growth)

- Partner with small MM ($2-5K/month)
- Offload inventory risk to MM
- Predictable cost structure

Phase 3 (Scale)

- Volume attracts more MMs naturally
- Platform becomes fee-based business
- Consider adding public LP feature

Trading System

Keep Order Book (Current) IF:

  • Can secure $5K+ liquidity per market
  • Can partner with MM
  • Targeting professional traders

Consider AMM IF:

  • Limited capital ($1-2K per market)
  • No MM partnerships available
  • Willing to rebuild trading system

Fee Structure

Recommended: 2% Fee

Distribution:
├── Platform: 25% ($0.50 per $100 trade)
└── Liquidity Providers: 75% ($1.50 per $100 trade)

Or if platform provides liquidity:
└── Platform keeps 100% of fees

10. Implementation Considerations

Code Changes for 100/n% Pricing

Database Schema (No Change Needed)

// Prisma schema - currentPrice default doesn't matter
// Price is set at market creation time
model Outcome {
  currentPrice Decimal @default(0.5)  // Can keep default
  probability  Decimal @default(50)   // Set at creation
}

Market Creation Logic

// When creating market with N outcomes
const totalOutcomes = outcomes.length;
const initialPrice = 1 / totalOutcomes;  // 100/n%
const initialProbability = 100 / totalOutcomes;

for (const outcome of outcomes) {
  await outcomeRepository.create({
    ...outcome,
    currentPrice: initialPrice,      // 0.20 for 5 outcomes
    probability: initialProbability, // 20% for 5 outcomes
  });
}

Price Update Options

Option A: Independent (Simple)

Buy A → A price up
Others unchanged
Sum drifts from 100%
Arbitrage corrects

Option B: Linked (Complex)

Buy A → A price up
Others auto-decrease
Sum stays at 100%
Requires more logic

MM Bot Architecture (Optional)

// Auto-rebalancing market maker bot
const MM_CONFIG = {
  maxImbalance: 50,       // Max YES/NO difference
  spreadBps: 400,         // 4% spread
  rebalanceThreshold: 25  // Rebalance at 25 token imbalance
};

async function onTrade(market, side, amount) {
  const position = getPosition(market);
  const imbalance = Math.abs(position.yes - position.no);

  if (imbalance > MM_CONFIG.rebalanceThreshold) {
    await rebalance(market, position);
  }

  // Adjust spreads based on inventory
  await adjustSpreads(market, position);
}

async function checkToxicInventory(market) {
  const yesPrice = market.yesPrice;

  // If YES is winning big, NO is toxic
  if (yesPrice > 0.70) {
    const noTokens = getPosition(market, 'NO');
    if (noTokens > 0) {
      // Sell at ANY price before it goes to zero
      await placeSellOrder(market, 'NO', noTokens, yesPrice * 0.5);
    }
  }
}

UI Considerations

Following Polymarket's approach:
  • ❌ No public "Provide Liquidity" UI
  • ✅ Simple trading interface only
  • ✅ Admin panel for platform liquidity (internal)
  • ✅ API access for MM partners (later)

Risk Disclosure (Required)

For any LP feature (if built):

⚠️ RISK WARNING

Providing liquidity involves significant risk.

• You may lose 30-80% of deposited funds
• Fee income may NOT cover losses
• Worst case: lose almost everything

Only deposit what you can afford to lose.

Summary: Key Decisions for Nostra

Decision Recommendation Rationale
Initial Probability 100/n% or 50% Neither prevents loss; trade-offs exist
Market Structure Keep Grouped Binary (for now) Already implemented; CTF later
Trading System Keep Order Book Already built; AMM requires rebuild
Initial Liquidity Platform provides No external LPs at start
Liquidity Amount $1-5K per market Balance between UX and risk
Expected Loss ~20% of liquidity Marketing/customer acquisition cost
Fee Structure 2% fee Industry standard
Public LP UI No (like Polymarket) Keep it simple; internal only
MM Partnership Phase 2 goal After proving volume

Bottom Line: Accept initial liquidity losses as cost of bootstrapping. Focus on building volume. External LPs and MMs will come after platform proves itself.