Docs
BID / PROTOCOL / OVERVIEW
Protocol documentation

Housing markets,
priced onchain.

BID is a USDG-collateralized prediction-market protocol for finite real-estate outcomes. It runs on Robinhood Chain and uses a fixed-product pool so every market can quote a price before a natural counterparty arrives.

Current status

The contracts and interface are functional prototypes with automated tests. The final token CA and Pons launch record are awaiting verification.

01

Market model

The first beta is a single five-city market: Miami, Tampa, New York, Dallas and Phoenix. Trading closes March 5, 2027 at 23:59:59 UTC. Initial funding is 25 USDG, with an immutable 1 USDG per-order cap. Other markets are coming soon. The final BID token address is not required to deploy this pool.

Settlement is not automatic: the designated oracle submits the payout after data publication. The exact housing series, observation dates, tie rules and missing-data treatment must be published before accepting public trades. A closing date is not a guaranteed payout date. Fee claiming and automatic reserve spending remain disabled for the initial deployment.

Each market has between two and eight mutually exclusive outcomes. Depositing one unit ofUSDG creates one complete set: one unit of every outcome. After resolution, a complete set is always worth one unit of collateral because the payout vector must sum to 1.

YES / NO

Binary questions with one winning side.

HEAD TO HEAD

Two locations compete under one metric.

FINITE FIELD

One winner across three to eight locations.

02

Fixed-product pricing

BID holds outcome inventory in a pool and preserves the product of those balances through every trade. The displayed spot price is the normalized inverse balance for each outcome. Buying an outcome lowers that outcome's pool balance and raises its implied probability.

k = b₁ × b₂ × … × bₙ
pᵢ = (1 / bᵢ) ÷ Σ(1 / bⱼ)
Σpᵢ = 1

Quotes and execution use integer math. UI prices are rounded to basis points; the transaction applies a 0.5% minimum-output guard.

03

Liquidity

LPs supply USDG and receive BID-LP shares proportional to the pool. When the pool is imbalanced, the deposit also returns excess outcome inventory so existing odds do not move. Deposits include a minimum-share check.

USDGComplete setsOutcome poolBID-LP

The standard withdrawal path burns BID-LP, merges the balanced portion of withdrawn inventory directly back into USDG, and leaves only the imbalance as redeemable outcome positions. A minimum-collateral check protects the transaction from pool movement.

Genesis funding

Initial seedOrder capUse
25 USDG1 USDGCapped one-market beta

USDG uses six decimals. Set BID_INITIAL_LIQUIDITY=25000000, BID_MAX_TRADE_AMOUNT=1000000, and BID_GENESIS_MARKET_COUNT=1. Zero liquidity cannot produce a quote. The 25 USDG seed remains protocol-owned and every genesis BID-LP share is minted directly to the liquidity vault.

04

Orders

OrderExecutionCustody
Market buyImmediate against poolUSDG moves only on execution
Market sellImmediate against poolOutcome balance burns on execution
Limit buyImmediate or keeper-fillableUSDG escrowed; owner can cancel
Limit sellImmediate or keeper-fillableMaximum outcome input escrowed
Keeper required

Resting limits are permissionlessly fillable, but production needs an indexer and keeper to detect executable orders and submit fills.

05

Settlement

Every market locks its question, outcomes, close time, and oracle address at creation. After close, the oracle submits a payout vector totaling 1e18. Traders redeem their outcome balances against that vector.

Five-city beta rules

The beta compares each metro's September 2026 to March 2027 monthly, not seasonally adjusted S&P Cotality Case-Shiller index distributed by FRED. Series: MIXRNSA, TPXRNSA, NYXRNSA, DAXRNSA and PHXRNSA. The highest full-precision percentage change wins. Trading closes before March data publication; settlement follows the first release containing every required observation. Exact ties split the payout, and a documented invalid-market fallback applies if a series remains unavailable. The versioned rule document's SHA-256 is embedded in the onchain market question.

06

The BID flywheel

BID's creator-fee layer is 1.5%. Pons may charge separate protocol or base fees, so BID does not publish an all-in fee until the production Pons contracts are verified. Only realized, claimed fees are allocated under BID_FEE_POLICY_V1.

45%LP rewards
30%Market liquidity
10%Buyback + burn
10%Treasury
5%Market creator rewards

Allocation status

AllocationStatusBehavior
LP rewardsRESERVE ONLYAccrues to the funded rewards distributor. No LP payout is published until time-weighted eligibility and anti-snapshot rules are approved.
Market liquidityAUTOMATION READYThe keeper allocates by actual depth deficit across approved, open markets once explicitly enabled.
Buyback + burnRESERVE ONLYAccrues without blind buying. No buyback or burn executes until quoting, slippage, simulation, and burn controls are deployed.
TreasuryLIVE WITH CLAIMINGRoutes directly to the configured secure treasury address in the same allocation transaction.
Market creator rewardsRESERVE ONLYAccrues until community markets and anti-wash reward rules are active.

Smallest-unit rounding always accrues to treasury so the five allocations equal 100% of every fee event. Genesis BID markets charge a 0% prediction-market fee for now; network gas still applies.

07

Creator markets

Community creation is implemented but disabled by default. When governance enables it, a creator must hold a configured $BID balance, burn a configured amount, and seed the new market with USDG. The creator royalty is capped at 3%.

08

Deployment status

TESTEDAMM buys, sells, LP deposits and withdrawals
TESTEDEscrowed limits, cancellation, resolution and redemption
TESTEDOne-time BID token binding, token gate, burn and creator royalties
TESTEDVersioned 45/30/10/10/5 fee allocation with deterministic rounding
TESTEDOperator-managed deployment into protocol-owned market LP
TESTEDFunded Merkle reward epochs with one-time wallet claims
PENDINGIndependent audit and mainnet deployment
PENDINGKeeper deployment, oracle policy, indexer and monitoring

Addresses

USDG
0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
Pons v2 factory
0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e
BID market factory
AWAITING PUBLICATION
Flywheel treasury
AWAITING PUBLICATION
Rewards distributor
AWAITING PUBLICATION
Liquidity vault
AWAITING PUBLICATION
Buyback + burn reserve
AWAITING PUBLICATION
Protocol treasury
AWAITING PUBLICATION
Creator rewards reserve
AWAITING PUBLICATION
Genesis markets
AWAITING PUBLICATION

Production operator map

RoleConfigurationPurpose
Pons creator recipientBID_FLYWHEEL_TREASURYContract that atomically claims and enforces 45/30/10/10/5
LP rewards ownerBID_REWARDS_OWNERSafe that may publish reviewed, funded LP reward epochs
LP operatorBID_LIQUIDITY_OPERATORRailway keeper that deploys the 30% allocation
LP ownerBID_LIQUIDITY_VAULT_OWNERMultisig that approves markets and controls withdrawals
Deployment payerBID_DEPLOYERSupplies the initial USDG and pays deployment gas

The Pons recipient is the treasury contract, not a personal wallet and has no private key. Updating reserve destinations uses the treasury owner's setDestinations call; replacing the treasury uses transferPonsCreatorFeeRecipient after existing escrow balances are claimed.

09

Launch costs

There are three separate cost buckets: the Pons token-launch fee, Robinhood Chain gas, and USDG supplied to the prediction-market pools. Pool funding is protocol-owned capital represented by BID-LP shares; it is not paid away as a launch fee.

CostAmountWhere it goes
Pons launchRead live from the factoryPons v2 launch transaction
Deployment + keeper gasVariable ETHRobinhood Chain validators
Capped beta seed25 USDGOne protocol-owned pool
Keeper reserve0.01 ETH minimum configuredKeeper wallet; spent only on transactions
npm run costs:production

This read-only command verifies Robinhood Chain ID 4663, checks Pons factory bytecode, reads its current launch fee and the current gas price, and submits no transaction. Hosting, independent audit, legal review, RPC and monitoring plans are vendor costs outside the contracts.

10

Production operator flow

  1. Deploy the rewards distributor, treasury and liquidity vault with multisig owners and the Railway keeper's public operator address.
  2. Deploy the market factory and one capped genesis market before the token CA exists, supplying 25 USDG with a 1 USDG immutable order cap. The factory keeps community creation locked.
  3. Run LaunchBidOnPons.s.sol from an encrypted local Foundry keystore with a 150 bps creator fee, buyback disabled, USDG pair asset, and the treasury contract as creator recipient.
  4. Run BindBidPonsCurve.s.sol from the deployer; it verifies the launch, binds the final token and curve once, and hands factory and treasury ownership to their final multisigs.
  5. Put the public addresses in Vercel and Railway; put the keeper signer only in Railway's secret manager.
  6. Enable one keeper replica. It fills executable limits, atomically claims and allocates Pons fees, and deploys eligible liquidity funds into approved open markets.

How the market maker works

The deployment wallet pays the initial USDG, but the factory mints every genesis LP share directly to the protocol liquidity vault. The keeper can allocate the vault's 30% fee share only to owner-approved, open BID markets. It prioritizes markets below LP_TARGET_DEPTHby real outcome-pool depth deficit, leaves sub-minimum amounts reserved, and uses each market's minimum-share protection. The multisig owner controls approvals and withdrawals; the keeper never owns the LP shares.

LP rewards status

Treasury claiming, exact allocation, immutable funded reward epochs and duplicate-safe wallet claims are implemented and tested. The 45% share remains a reserve until time-weighted LP scoring and anti-snapshot eligibility are implemented and approved.

11

Production requirements

  1. Independent smart-contract audit and remediation.
  2. Final $BID token address and verified 1.5% Pons v2 creator fee, recipient, quote asset, and escrow configuration.
  3. Documented housing index, edge-case policy, and production resolution oracle.
  4. Multisig ownership for the factory, oracle operations, and flywheel treasury.
  5. Funded single-replica keeper, indexer, production RPC, alerting, and transaction monitoring.
  6. Time-weighted LP reward scoring and anti-snapshot/anti-wash policy before the first 45% LP reward epoch.
  7. Sufficient USDG to seed every genesis pool and test real execution depth.
  8. Legal review for market availability, disclosures, and jurisdiction controls.