SigMarket:交易者只見一個價格,誰扛預測風險?
Beyond x·y = k: Designing an AMM for Decentralized Prediction Markets
- Eric Lee SigMarket
影片
影片與逐字稿來源:ETHTaipei
場次摘要
SigMarket 的 Eric Lee 說,預測市場即使在鏈上結算,撮合與暫停交易的權力仍可能握在平台手中。他介紹一套分層的自動造市機制:流動性提供者可選擇承擔多少風險,交易者仍只看到一筆報價。他們也在研究市場價格能否成為新聞事件的早期訊號,但強調先動的價格不等於因果關係。
值得記下的 5 件事
- 鏈上結算不代表整個預測市場都去中心化,仍要看誰能限制進出、停止交易與裁定結果。
- LP 可選擇保守、均衡或積極曝險,AMM 把各層流動性合成一筆報價,交易者不必自己拆單。
- 庫存碰到地板時,該層會停止在那個方向提供流動性,限制後續曝險,但不保證 LP 不會虧損。
- 訂單跨過不同層的邊界時會重算曲線與權重;碰到全域價格上限後,只成交一部分,剩餘金額退回。
- Future News 構想會對齊事件時間軸、找市場機率先後變動,再用 LLM 與歷史回測檢查訊號;先動與模型解釋都不能證明因果。
逐字稿
開場:為什麼預測市場要真的去中心化
大家午安,謝謝 ETHTaipei 團隊辦了這場很好的活動。很高興今天能跟各位分享我們在 SigMarket 正在做的事。可惜這次沒辦法親自到場,希望下次有機會來台北跟大家見面。現在進入今天的題目:Beyond x·y = k,為去中心化預測市場設計 AMM。今天會講這幾件事。第一個實際問題是:為什麼我們需要真正去中心化的預測市場,當成基礎設施?Good afternoon, everyone, and thanks to the ETHTaipei team for organizing this great event. Really happy to join you today and share what we are building at SigMarket. Unfortunately, I couldn't join you in person this time, but I hope I'll get a chance to visit Taipei and meet you all face to face next time. And now, let's get into today's topic, Beyond x·y = k: Designing an AMM for Decentralized Prediction Markets. Here's what I will cover today. First, a practical question is: why do we need truly decentralized prediction markets as infrastructure?
接著我會帶大家看我們的 AMM。它給交易者一筆報價,同時讓流動性提供者可以選擇不同的風險曝險。最後會介紹我們正在探索的構想,叫做 Future News,以及預測市場以後怎麼變成有用的資訊基礎設施。好,開始。其實我們不是為了去中心化而去中心化,背後有實際需求。想想 Polymarket:一個完全不同國家、興趣完全不同的人,可能跟你在看同一批頭條市場,但你真的在意同樣的問題嗎?And then I will walk you through our AMM. It gives traders one quote while letting liquidity providers choose different levels of risk exposure. And finally, I'll introduce an idea we are exploring called Future News and how prediction markets could become useful information infrastructure in the future. And all right, let's begin. Actually, we are not trying to decentralize something just for the sake of decentralization. There is a practical need behind this. Think about Polymarket: someone from a completely different country with completely different interests might be browsing the same headline markets as you, but do you really care about the same questions?
一個社群可能在意本地的補助決策。一個專案團隊可能在意能不能趕上期限。這些問題就算吸引不到全球受眾,仍然重要。機構也有自己的需求:誰能參與、結果怎麼裁定、市場怎麼接到既有工具。我們希望他們更容易依這些需求建立、客製市場,不必等某個平台把他們的問題排進優先順序。那要讓這件事成真,到底該去中心化哪些部分?拆開來看。這裡有三個問題:誰控制資產、誰執行交易、誰裁定結果?A community might care about a local funding decision. A project team might care about meeting a deadline. These questions matter even if they don't attract a global audience. Institutions also have their own needs in who can participate, how the outcome is decided, and how the market connects to their existing tools. We want to make it easier for them to create and customize markets around those needs, and without waiting for a platform to prioritize their question. So what exactly do we need to decentralize to make that possible? And let's break that down. There are three questions here: who controls the assets, who executes the trades, and who decides the outcome?
Kalshi 走的是交易所模型。Polymarket 則把這些職責拆開:使用者可以簽署訂單,但由營運方撮合,交易在鏈上結算,結果走 UMA 的提案與爭議流程。所以鏈上結算不代表市場的每一塊都去中心化。對要蓋在這個市場上面的人來說,實際問題是:誰能限制進出、誰能停交易?我們希望開發者能用到核心的市場角色,不必依賴單一平台營運方。那這能讓他們做出什麼?看下一張。想法其實很簡單:把建立、運行自己預測市場的工具交給大家。And Kalshi follows an exchange model, and Polymarket separates these responsibilities, and users can sign orders, but an operator matches them, and trades settle on-chain, and outcomes go through UMA's proposal and dispute process. So on-chain settlement doesn't mean every part of the market is decentralized. For someone building on top of this market, the practical question is: who can restrict access or stop trading? We want builders to be able to use the core market roles without depending on a single platform operator. And what would that let them build? Let's look at the next. The idea is really simple: give people the tools to build and run their own prediction markets.
一筆報價給交易者,多層風險給 LP
這五步是基本功:建立市場、加入流動性、交易、裁定結果、接到其他應用。社群可以圍繞自己的問題開一個市場。機構可以把它做成產品或工作流程的一環。兩邊都不該從零開始蓋一整座交易所。我們的 AMM 專注其中兩步:注資跟交易。交易者要的是一筆清楚報價、簡單的交易體驗,但 LP 可能想選不同的風險曝險。怎麼把這兩種需求合在一起?設計從這裡開始。想法是:交易者拿到一筆報價,LP 可以選不同風險。These five steps cover the basics: create a market, add liquidity, trade, resolve the outcome, and connect it to other applications. A community could launch a market around its own question. An institution could make it part of a product or workflow. Neither should need to build an entire exchange from scratch. Our AMM focuses on two of these steps: funding and trading. Traders want one clear quote and a simple trading experience, but LPs may want different levels of risk exposure. How do we bring those needs together? That's where our design starts. Here is the idea: one quote for traders, different risk choices for LPs.
想像新聞出來了,大家一直買 Yes,池子就賣出更多 Yes,價格往邊緣走。有些 LP 會想更早停手、不再加曝險。有些人則願意把流動性再往那個邊緣多提供一點。三根長條代表三種選擇:保守、均衡、積極。但交易者不該去想這些層次,也不該把訂單拆到不同池子。他們只要拿到一筆報價、輕鬆成交。這就是我們在做的:LP 的不同曝險選擇,合成交易者的一筆報價。那它怎麼運作?先看池子裡實際持有什麼。Imagine some news comes out and people keep buying Yes, the pool is selling more Yes, and the price moves toward the edge. Some LPs may want to stop taking more exposure earlier. Others may be comfortable providing liquidity further toward that edge. The three bars show the different choices: conservative, balanced, and aggressive. But traders shouldn't have to think about these layers or split their orders across different pools. They should just get one quote and make their trade easily. That's what we are building. Different exposure choices for LPs combined into one quote for traders. So how does it work? First, let's look at what the pool actually holds.
從一單位抵押品開始:一對代幣,例如一枚 YES、一枚 NO。YES 贏,YES 付 1、NO 付 0。NO 贏,剛好相反。不管哪邊贏,這一對合計都付 1。這樣就有共同的方式去算池子的庫存。每一層,我們把曲線抵押品加到它的 YES 代幣,也加到它的 NO 代幣。右邊那兩條方程式就是這個意思。這不是說錢變兩倍,而是抵押品同時撐住兩種可能結果。再來,這批庫存真正拿出來報價的有多少?我們不會把一層的庫存全部丟進當前報價。Let's start with one unit of collateral: a pair of tokens, like one YES and one NO. If YES wins, the YES pays one and NO pays zero. If NO wins, it's the other way around. And in either way, the pair pays one in total. That gives us a common way to count the pool's inventory. Like for each layer, we add its curve collateral to its YES tokens and to its NO tokens. Those are the two equations on the right. This doesn't mean we have twice the money. It means the collateral backs both possible outcomes. And next, how much of that inventory do we actually make available for trading? We don't use all of a layer's inventory for the current quote.
我們先設一條地板,只有地板以上的庫存才可用。看這些長條。淡色那塊留在報價外面。藍色那塊就是我們說的有效庫存。這個例子裡,保守層留比較多在旁邊,積極層則放出比較多。現在想像大家一直買 YES。一層可用的 YES 庫存往下掉,就會靠近它的地板。一旦碰到地板,它就停止在那個方向提供流動性。這是用數量去限制後續曝險。它不保證 LP 不會賠錢。再來,怎麼把活躍層合成一筆報價?We first set a floor, and only inventory above that floor is available. Look at the bars. The pale part stays outside the quote. The blue part is what we call effective inventory. In this example, the conservative layer keeps more aside, while the aggressive layer makes more available. And now imagine people keep buying YES. As the layer's available YES inventory runs down, it gets closer to its floor. And once it reaches that floor, it stops providing liquidity in that direction. That limits further exposure through quantity. It does not guarantee that the LP won't lose money. Next, how do we combine the active layers into one quote?
有效庫存合成一條區域 x·y = k
我們把所有活躍層的有效庫存加起來,YES 一邊、NO 一邊。這些總量給出一條區域的 x·y = k 曲線。所以即使好幾層 LP 一起提供流動性,交易者還是只看到一筆報價。重點是:活躍集合維持不變時,這條曲線才適用。某一層在某個交易方向碰到地板,我們就更新活躍集合,再建下一條區域曲線。這就是我們說的 beyond x·y = k。公式還是會用到一部分,但由機制決定哪些庫存進得去。Now we take the effective inventory from all the active layers and add it together, like YES on one side and NO on the other. Those totals give us one local x·y = k curve. So the trader gets one quote even though several LP layers are providing liquidity together. The key is that the curve applies while the active set stays the same. When a layer reaches its floor in a trading direction, we update the active set and build the next local curve. That's what we mean by beyond x·y = k. We still use the formula partly, but our mechanism determines which inventory goes into it.
再來,這筆交易的庫存變動怎麼分到各層?有了報價之後,要把庫存變動分給活躍層。做法是用每一層佔活躍集合活資本的比例,這個比例就是權重。區別很簡單。權重決定一層要吃下多少庫存變動。地板決定它在那個方向還能報價多久。某一層碰到地板,我們就為剩下的層重算權重。這也是為什麼一筆訂單可能要走好幾步實際成交。And next, how do we share the trade's inventory change across these layers? Once we have the quote, we need to share the inventory change across active layers. We do that using each layer's share of the active set's live capital. That share is its weight. The distinction is simple. The weight determines how much of the inventory change a layer takes. The floor determines how much room it has left to keep quoting in that direction. And when a layer reaches its floor, we recalculate the weights for the remaining layers. And that's why one order may need several actual execution steps.
繼續跟那筆 YES 訂單走。引擎把活躍庫存加總,找到下一個邊界,交易到邊界為止,最後更新狀態。假設保守層在訂單還沒走完之前就碰到地板。我們把那一層從這個方向的活躍集合拿掉,重算曲線跟權重,再繼續消化剩下的訂單。交易者不需要自己管這些步驟。但如果碰到全域價格上限,就該停:訂單只成交一部分,沒成交的餘額退回。所以一層的地板改變的是誰在提供流動性。And let's continue to follow that YES order. The engine adds up the active inventory, finds the next boundary, and trades up to it, and updates the state finally. And suppose a conservative layer reaches its floor before the order is finished. We remove that layer from the active set for this direction, recalculate the curve and weights, and continue with the rest of the order. The trader doesn't need to manage these steps manually. But if we reach the global price cap, we should stop, and only part of the order is filled and the unfilled remainder is returned. So a layer's floor changes who provides liquidity.
全域上限則擋住訂單再往外走。手續費也是這樣。手續費用同樣的活資本權重,把活躍層的費率合在一起。所以活躍層一變,手續費也可能變。關於上限還有一點:它限制的是 AMM 的曝險,不是事件的真實機率。反向交易仍然可以把市場從那個邊緣拉回來。這就是機制:交易者輕鬆拿到一筆報價,LP 可以選不同曝險。那大家能拿它做什麼?我們希望預測市場的用途不只是下注,問題是:這個市場能幫誰做什麼決策?以專案期限為例。The global cap stops the order from going further beyond. And that's what happens to fees. The fee combines the active layers' fee rates using the same live capital weights. So when the active layers change, the fee can also change. One more point about the cap is that it limits the AMM's exposure, not the event's actual probability. Trades in the opposite direction can still move the market away from that edge. And that's the mechanism, like one quote for traders to trade easily and different exposure choices for LPs. And now what can people use it for? We want prediction markets to be useful beyond betting, and the question is, what decision can this market help someone make? Take a project deadline.
Future News:把市場機率接成可能未來
如果市場開始預期延期,團隊可以去查哪裡出問題,合作夥伴也可以調整計畫。機率比較像調查訊號,不是盲目跟價。市場就可以嵌進社群決策,或嵌進機構既有工作流程。如果一個市場能幫一個問題,把很多預測市場的訊號接起來,又能看出什麼?這就接到我們最新產品的構想,叫做 Future News。Future News 想把全世界預測市場的事件資料收在一起。If the market starts expecting a delay, the team could check what's going wrong, and partners could adjust their plans. The probability is like a signal to investigate, not something to follow blindly. And that's how a market could fit into a community's decisions or fit into an institution's existing workflow. And if one market can help with one question, what could we learn by, like, connecting different signals across many prediction markets? And that brings us to our new idea about the latest product called Future News. For Future News, we want to bring together event data from prediction markets around the world.
先把事件跟時間軸對齊。再找那些「一個市場的機率往往比另一個先動」的配對。簡單講就是:誰先動、誰跟著動。接著問 LLM:這段關係在經濟上講不講得通,還有沒有別的解釋。最後用歷史交易回測來測訊號,把手續費跟流動性算進去,而且用當初找規律時沒用過的新時段。先動不證明因果,LLM 的解釋也不是證明。這是我們想探索的研究。First, we line up the events and their timelines. Then we look for pairs where one market's probability tends to move before another. We can put it simply, like who moves first and who follows. Next, we ask an LLM whether that relationship makes economic sense and what else could explain it. And finally, we test the signal through historical trading backtests, including fees and liquidity, using fresh periods we didn't use to find the pattern. And moving first doesn't prove causation, and also an LLM's explanation isn't proof either. This is research we want to explore.
更大的目標是把這些訊號變成一種新的報導方式,去寫可能的未來。看起來會像這樣。新聞可能寫「專案已經延期」,Future News 則可能完全換一種寫法,例如「市場現在認為延期的機會在變大」,並標出哪些相關事件可能受影響。差別在時間軸上你看哪裡:已經發生了什麼,對上機率正在變、接下來可能發生什麼。現在新聞裡已經有預測。我們想加的是:把即時機率跟事件之間的關係接起來,而且訊號一變就更新。And the bigger goal is to turn the signals into a new way of reporting on possible futures. And here's what that could look like. A news report might say, "The project has been delayed," but Future News could report in a completely different way, like, "The market now sees a growing chance of a delay," and shows which related events might be affected. The difference is where we look on the timeline and what has happened versus what may happen next based on probabilities changing. Right now, news already includes forecasts. What we want to add is a view that connects live market probabilities with relationships between events and updates as those signals change.
這些是可能的未來,還不是事實。這就是我們想建的資訊基礎設施,也希望跟其他人一起做。也想聽各位想用 SigMarket 做什麼。也許你的社群有一個問題,或機構、公司裡有一個使用情境,我們很樂意一起探索。我們也在找 Future News 的研究合作者,以及正在做 AI agent 或穩定幣、想看預測市場怎麼接進工作的人。如果這聽起來有意思,請掃 QR code 跟我們聯絡。今天內容就到這裡,再次謝謝 ETHTaipei 團隊,也謝謝大家聽完。謝謝。These are possible futures, not facts yet. That's the information infrastructure we want to build, and we'd love to work with others on it. And we'd love to work with others on it. And we'd love to hear what you'd like to build with SigMarket. And maybe you have a question for your community or use case inside your organization or your company, and we'll be happy to explore it with you together. And we are also looking for research collaborators on Future News. And people building with AI agents or stablecoins who want to explore how prediction markets could fit into their work. And if that sounds interesting, please scan the QR code and get in touch with us. Okay, that's all the content today, and thanks again to the ETHTaipei team, and thank you all for listening. Thank you.