Payoff Markets
functionSPACE is payoff markets: a new economic category. You design the exact payoff you want over a numerical outcome (the shape of what you get paid across every possible result), pay a premium now, and collect what that shape pays when the event resolves.
Every familiar instrument is just one shape in that space. A yes/no bet is a single step: that's a prediction market. An over/under, an option, a range you pick: each is one frozen shape. functionSPACE makes the whole space tradeable on one surface, so the payoff shapes traders know and use today are definable shapes on the same liquid market.
Fantasy points as a market
Payoff markets are inherently numerical: a payoff is a function of a number. Choosing that number is the product decision, and the World Cup handed us a very good one.
For one month every four years, football becomes the most intensely analysed subject on earth, and the attention is granular: fans hold real, argued-over views about individual players. That insight already speaks a numerical language. Fantasy points compress a player's match into one familiar score, computed from observable events on the pitch; millions tally and argue them every week of the season. What all that understanding has never had is a market. Player performance is vastly undertraded relative to the attention it commands.
So the unit chose itself, and it bought comprehension and credibility at once: "Yamal over 6.0 points" needs no explanation on a 0–12 scale, and settlement resolves from published match data, not a house call. Trading it is payoff design: pick a player, choose a shape over their points, collect what it pays. propSPACE surfaced two instantly familiar moves, set a line or pick a range, each paired below with the payoff it actually designs.
The campaign
A public World Cup fantasy-points trading competition, live for the knockout tournament, Round of 32 through the Final.
propSPACE, our first-party app, carried the competition directly: traders came to propspace.fun, built a squad, and traded their picks. In parallel, three partner teams (Polysights, Trepa and Kelvon) integrated the same competition into their own products, each with its own interface and one with its own trading modality.
The competition ran on play-money, priced live by our off-chain engine, the same pricing mechanism now headed to public testnet. Every pick settled as its own market.
Settled-position, timing and calibration figures exclude accounts banned or removed by the campaign's integrity audit; position-mix and adoption shares cover all traded positions.
/assets/updates/worldcup-squad.pngOne market, many interfaces
In most trading products, the market and the interface are the same thing: whoever runs the market decides what a trade looks like. Payoff design decouples them.
A functionSPACE market prices any payoff shape over its outcome, so the market doesn't dictate the product. Each app decides how a trader expresses a view and sends the shape into one shared liquidity space: a line taken on propSPACE, a range picked on Polysights and a precision call placed on Trepa are different shapes on the same market.
Illustrative tickets; the live propSPACE interfaces appear in the next section. Prices shown are indicative.
Partner integrations
Three teams integrated the World Cup competition into their own products, each with its own interface, audience and, in one case, its own trading modality. We're proud to have partnered with strong teams across the prediction-markets space.
Under the hood, every integration is the same application surface re-skinned as data: colours, type and interface conventions swapped per partner, markets and mechanism untouched. Three familiar tickets and one precision call, four native skins:
Identical prices on the identical ticket are the point: one shared liquidity space underneath. Skins reproduced from the campaign codebase's brand configs; the live interfaces follow below.
Prediction-market analytics & trading. Polysights ran the World Cup game front-and-centre (pick 3, set your line), integrating two ways at once: accounts minted server-side through its API integration, and a branded signup site at worldcup.polysights.xyz. It brought the campaign's largest cohort of traders.
Polysights exposed the range and over/under formats, and its traders leaned hard on the familiar shape: 72.6% of its positions were over/unders.
// One market, any ticket. The interface chooses the shape. import { useMarket, useBuy } from '@functionspace/react'; import { generateRange } from '@functionspace/core'; const { market } = useMarket(MBAPPE_FP); // 0-12 FP · shared liquidity const { execute } = useBuy(MBAPPE_FP); const { numBuckets, lowerBound, upperBound } = market.config; const ticket = generateRange(5.0, 7.0, numBuckets, lowerBound, upperBound); // "lands inside 5-7" await execute(ticket, 250); // stake 250
Precision prediction markets: point to where an outcome lands, get paid on how close you are. Payoff design by nature. When Trepa integrated the competition they asked us for exactly that experience, the one format their users would see, because it mirrors the model of Trepa's own product: name a call, where exactly a player's points land, and a confidence band around it. That buys a triangle-shaped payoff: peaked at the call, zero at the edges of the band. Tighter band, richer payout: precision is literally priced.
It is the campaign's cleanest flexibility proof: a partner specified the trading model native to its product, and the unchanged mechanism supplied it. Every standard Trepa position was a precision call, an experience none of the other apps offered, traded alongside the shared bonus duels on the same markets with no mechanism changes. Trepa also brought the campaign's earliest audience: 61% of all Round-of-32 traders arrived through it.
// Same market as the range ticket. A different shape entirely. const pick = generateTriangle(6.0, 1.5, numBuckets, lowerBound, upperBound); // call 6.0 · band ±1.5 · tighter = richer await execute(pick, 250);
AI research & analytics for prediction-market traders: "everything the price doesn't tell you." Kelvon brought the competition to a research-first audience and shows the integration's other face: for analytics, a payoff market is a richer surface than a sportsbook line. The full priced curve is there to be read, not just one number.
// Integration isn't only trading. The market layer is a data layer. const markets = await discoverMarkets(client, { titleContains: 'World Cup' }); // client: your configured FSClient const curve = await getConsensusCurve(client, MBAPPE_FP); // the whole curve, not one line
The duel: two players, one number
For the semi-final we added a bonus market, Messi v Kane head to head. It shows what a well-chosen numerical base can do on its own.
The market settles on a single number, the fantasy-point differential: Messi's points minus Kane's. Collapse the contest onto that axis and every familiar shape applies unchanged. Better game is an over/under at ±0.5, win by three is the same line moved out, dead even is a range on zero. One well-chosen number turns a two-player argument into the campaign's simplest trade proposition, and the engine prices it like any other market.
And it landed. Two duels ran, Messi v Kane in the semi-final and Messi v Yamal in the Final, and adoption grew into the Final in every app:
What the trading showed
If the mechanism really accommodates different trading experiences, it should show up in the data: the same markets, traded in visibly different ways by each app's audience. It did.
Each interface produced its own trading signature. Trepa's is a near-solid bar of precision calls, the single format its interface offered; Polysights' traders leaned on over/unders; propSPACE's mixed lines, ranges and duels. Same markets underneath, three different games on top.
And the habits ran deep. Each audience leaned into its interface's grain: propSPACE's range traders picked narrow, high-conviction bands; Polysights' traders entered through the shape they already knew; and Trepa's precision picks landed far closer to settlement than chance.
And the trading was real skill, not noise. In every app, range-style picks landed closer to settled outcomes than chance. propSPACE's traders were the sharpest illustration: a median miss of 2 buckets against 7 for a random pick, with over half of picks within ±2 buckets, twice the random rate. Comprehensible markets produced calibrated traders.
After the Final we surveyed participants across the apps. Twenty responded. A small sample, but a pointed one.
Their preferred ways to trade matched what they had actually traded: over/unders first, ranges next, one precision head-to-head. And each shape had its advocates:
What this proves
Four apps shipped four different products (a squad game, an analytics-led range product, a precision-forecast game, a research surface) on one market layer, unchanged. The differences show up in the trading data, not in the protocol.
The mechanism prices payoffs over numbers, so the unit is the product decision. Fantasy points made expressive payoff design legible to fans and credible at settlement, and traders responded with measurably calibrated picks.
Partners integrated on their own terms, from server-side account minting to branded signup sites to read-side analytics, and every one of their trades deepened the same shared liquidity instead of launching a market of its own.