원문 제목: "Polymarket의 Underlying 알고리즘 완전 해부"
지난 6개월 동안 Twitter에는 수억 건의 예측 시장 관련 게시물이 등장했습니다.
· 이 중 90%는 AI가 프로그램을 작성하여 부의 신화를 가져오는 방법에 대해 다룹니다. 이것은 "인연"이며, 이 신생 시장에 첫걸음을 내딛는 것입니다.
· 나머지 9%는 구체적인 거래 전략, 시장 공유, 스마트한 자금 전략 분석을 다룹니다. 이것이 "도"이며, 자신의 거래 전략을 개발하고 예측 시장에서 수익을 창출하는 방법을 이해하기 시작하는 것입니다.
· 그러나 이 "법"인 예측 시장의 근본적인 거래 설계, PNL 계산, 자금 이동 규칙에 대해 이야기하는 사람은 1%에 불과하며, 대부분은 간결한 트윗에 흩어져 있습니다. 이런 은둔자 고수들은 자신의 비밀을 다른 사람들과 한꺼번에 공유하거나 시간을 할애할 여력이 없는 것 같습니다.
그래서, insiders.bot이 막 오픈되었고, Polymarket이 방금 v2 업데이트를 완료한 오늘,‘당신이 항상 거래해온 시장의 "법"’을 가장 기초적인 기술부터 해체해 보려고 합니다.
작년 10월에 저는 간략한 버전을 작성하여 Polymarket의 핵심 구성 요소 몇 가지를 대략적으로 안내했습니다. 이번에는 모든 기술적인 설계 세부 사항을 실제로 모두 보여주고 명확하게 설명하려 합니다.
이 글은 우리 팀이 지난 여덟 달 동안의 노고가 담겨 있습니다.
이 여덟 달 동안, @insidersdotbot 팀은 모든 Polymarket의 기반 스마트 계약과 알고리즘 아키텍처를 해체하여 가장 신속한 거래와 가장 정확한 PNL 계산을 실현했습니다. 이것은 우리의 API만이 달성할 수 있었고, 오늘까지도 다른 사람들이 이룩하지 못한 것입니다.
그래서 저는 우리가 아마도 Polymarket의 "법"을 가장 권위적으로 해체할 수 있는 사람일지도 모른다고 생각합니다.
본문에서는 근본적인 ctf-exchange-v2 스마트 계약의 각 자금 거래가 어떻게 처리되는지, Relayer가 어떻게 Gas를 대신 대주며, Negative Risk가 수학적으로 가치 보존을 보장하는지 알려드리겠습니다.
이것은 간단한 과학서가 아닙니다. 이 글은 개발자의 시각에서 Polymarket의 기본 알고리즘 메커니즘을 다시 분해한 알고리즘 전체 해부입니다.
우리는 가장 기초적인 것부터 시작하겠습니다.
즉, 주문을 하는 경우, 실제로 무엇을 전송합니까?
P.S 이 글은 AI에 의해 문체와 구조에 조정되었으며, OpenClaw, Manus, Hermes 또는 귀하의 AI 에이전트에게 교육 데이터로 보내주시면 환영입니다!!!
전통적인 탈중앙화 거래소(예: Uniswap)에서 거래할 때, 당신의 지갑은 확인 대화상자를 표시하고 Gas 수수료를 지불해야하며, 그런 다음 거래를 메인넷(메모리 풀)에 보내어 마이너가 블록에 포함시킬 때까지 기다려야합니다.
그러나 Polymarket에서 주문을하는 경우, 당신의 지갑이 표시하는 것은 일반적으로 '서명'(Sign) 요청이며 '거래'(Transaction) 요청이 아닙니다. 또한, 어떤 Gas도 지불할 필요가 없습니다.
이것은 단순히 사용자 경험의 최적화가 아니라 전체 하부 구조의 근본적인 차이입니다.
Polymarket에서 주문은 본질적으로 EIP-712 표준을 준수하는 구조화된 데이터입니다. 이 데이터 조각에는 무엇을하려는지에 대한 내용이 포함되어 있습니다.:
· 당신은 Maker인가요 Taker인가요? 어떤 토큰을 구매하고 싶으신가요(tokenId)?
· 얼마나 지불하려고 하시나요(makerAmount)?
· 얼마나 받으려고 하시나요(takerAmount)?
서명할 때, 여러분은 그 데이터 조각에 개인 키를 사용하여 도장을 찍어 "나는 정말 이렇게 하려고 합니다"라는 것을 증명합니다. 그런 다음, 해당 서명이 있는 데이터가 Polymarket의 중앙 집중식 서버로 전송되어 오프체인(OFF-chain) 중앙 리미트 주문 대장(CLOB)에 저장됩니다.
이 단계에서는 블록체인 상에서 아무 일도 일어나지 않았습니다. 당신의 돈은 여전히 당신의 지갑에 있고, 토큰은 전송되지 않았습니다. 당신의 주문은 그저 데이터베이스의 한 줄에 불과합니다.
일단 시간을 당신이 주문을 보낸 그 순간으로 멈춰봅시다. 만약 당신이 Polymarket의 스마트 계약 주문 구조를 주의깊게 살펴보면, 매우 직관에 반하는 것을 발견할 수 있습니다: 주문 서명 데이터에는 "가격(Price)"이라는 필드가 없습니다.
어떻게 가능한 걸까요? 가격이 없으면 거래를 어떻게 하나요?
Polymarket 프로토콜의 기본 설계에서, 가격은 암시적입니다. 이는 당신이 지불하고자 하는 양과 받고자 하는 양에 의해 결정됩니다.
$0.60의 가격으로 100개의 YES 계약을 매입하고 싶다면:
· 당신은 지불해야 할 금액: $60 pUSD (makerAmount = 60)
· 받고자 하는 것: 100개의 YES 계약 (takerAmount = 100)
· 암시적 가격 = makerAmount / takerAmount = 60 / 100 = $0.60
$0.60의 가격으로 100개의 YES 계약을 매도하고 싶다면:
· 당신은 받을 것: 100개의 YES 계약 (makerAmount = 100)
· 받고자 하는 것: $60 pUSD (takerAmount = 60)
· 암시적 가격 = takerAmount / makerAmount = 60 / 100 = $0.60
(참고: V2 SDK에서는 최근에 개발자가 직접 가격과 크기를 입력할 수 있지만, SDK는 여전히 기본 서명 시에 이를 makerAmount와 takerAmount로 변환합니다. 이 설계의 특이성은 스마트 계약이 "가격"이 무엇인지 이해할 필요가 없다는 것이며, 단지 "자산 A를 자산 B로 교환"하는 논리를 처리하면 됩니다. 이는 온체인 계산 논리를 대폭 단순화시키고 Gas 소비를 줄이는 장점을 제공합니다.)
주문이 모두 오프체인에 있다면, 어떻게 그들이 온체인 실제 자산 이동으로 변하게 되는 걸까요?
이것이 Polymarket 아키텍처에서 가장 핵심적인 블랙 박스 역할인 운영자(Operator)로 이어집니다.
ctf-exchange-v2 스마트 계약에서 극히 중요한 수정자가 있습니다: onlyOperator. 이것은 Polymarket 공식이 제어하는 특정 주소만이 matchOrders 및 fillOrder와 같은 실행 함수를 호출할 수 있는 권한을 갖는다는 것을 의미합니다.
이는 전통적인 DeFi와 완전히 다릅니다.
· Uniswap에서는 누구나 라우팅 스마트 계약을 호출할 수 있습니다.
· 그러나 Polymarket에서는 온체인 거래를 스스로 할 수 없습니다. 모든 일치는 운영자가 제출해야 합니다.
이런 설계를 왜 해야 할까요? MEV(광부 추출 가능 가치)와 프런트런닝(Front-running)을 제거하기 위해서입니다.
전통적인 온체인 주문 대장에서 누군가가 낮은 가격의 대량 주문을 게시하면, 모든 알고리즘 거래자들은 멤풀에서 격렬하게 경매(가스 수수료를 인상)하여 다른 사람보다 빨리 이 주문을 섭취하려고 합니다. 이로 인해 가스 수수료가 급등하고 일반 사용자 경험이 매우 나빠집니다.
그러나 Polymarket에서는 모든 주문이 오프체인 CLOB에 있습니다. 운영자의 일치 엔진은 서버에서 누가 누구와 거래해야 하는지를 계산한 후 결과를 거래로 패키징하여 온체인으로 보내는 운영자에 의해 실행됩니다.
운영자만이 일치 결과를 제출할 수 있기 때문에 멤풀의 거래자들은 해당 거래를 보았어도 실행 함수를 호출할 수 있는 권한이 없으므로 프런트런닝을 할 수 없습니다.
이것은 전형적인 '혼합형 탈중앙화' 아키텍처입니다. 매칭 및 정렬은 중앙화되어 있지만 결제 및 자산 보관은 탈중앙화되어 있습니다(스마트 계약에 의해 실행).
오퍼레이터는 누구와의 매칭을 먼저 진행할지를 결정할 수 있지만, 그것은 절대로 당신의 자금을 도난당하지 않을 것입니다. 왜냐하면 오퍼레이터는 당신이 서명한 EIP-712 데이터를 제공해야 하며, 스마트 계약은 서명을 엄격히 확인할 것입니다.
P.S: 그러나 여기서 간단히 언급해야 할 부분이 있습니다. 우리는 @insidersdotbot 최근에 이 메커니즘을 악용할 수 있는 취약성을 발견한 것 같습니다. 이를 통해 트레이딩이 선행되거나 상당한 지연이 발생할 수 있습니다. 업데이트가 있는 경우 공식 계정을 통해 즉시 공지할 것입니다.
One of Polymarket's major selling points is providing users with "Gasless Transactions." You only need to have pUSD to trade; there's no need to hold POL (formerly MATIC) in your wallet.
However, the physical laws of blockchain are immutable: whenever a state change occurs on Polygon (such as asset transfer), someone must pay the Gas fee.
Since you didn't pay, who did?
The answer is: Relayers.
Polymarket doesn't require users to broadcast transactions themselves; instead, they have deployed an infrastructure called the Relayer Client (relayer-v2.polymarket.com).
In earlier architectures, such services often relied on enterprise-grade solutions like OpenZeppelin Defender Relay, which addressed nonce (transaction number) conflicts in high-throughput scenarios by maintaining a Signer Pool.
When your App creates a transaction (such as Approving a token or Redeeming rewards), you sign it with your private key and send it to the Relayer. The Relayer acts as a "Transaction Sponsor," submitting this transaction to the chain and fronting the Gas fee from their own pool on your behalf.

릴레이어 아키텍처와 경제 순환
많은 초기 메타 트랜잭션 아키텍처에서, 릴레이어는 Gas를 선 지불한 후 사용자 예금에서 수수료(예를 들어 0.3% 또는 몇 달러 고정)를 공제하여 Gas 비용을 보상하는 경우가 일반적입니다.
그러나 Polymarket은 매우 과감합니다: 현재 V2 아키텍처에서, 그들은 실제로 전액 지불합니다.
공식 문서에는 명확히 다음과 같이 기록되어 있습니다: "Polymarket은 릴레이어를 통해 라우팅된 모든 작업에 대해 가스를 지불합니다." 지갑 배포, 토큰 승인, 분할, 병합, 교환 등에 모두 Gas 수수료를 지불하지 않으며 숨겨진 작업 수수료도 부과하지 않습니다.
Polymarket이 손해본 거래를 왜 하려고 할까요?
그 이유는 Polygon 상의 Gas 비용이 매우 낮기 때문입니다 (일반적으로 몇 센트밖에 안 됨) 그리고 Gas를 지불하지 않아 발생하는 부드러운 경험은 대규모의 Web2 사용자를 유치할 수 있습니다. 사용자가 거래에서 미세한 Taker 수수료를 발생시키기만 하면(뒤에서 설명됨), 이 낮은 Gas 비용을 상쇄하는 데 충분합니다.
이를 알게된다면, 다음 질문은 당연히 다가옵니다: 이 "가스 면제" 아키텍처가 우리 거래에 미치는 영향은 무엇인가요?
가장 큰 숨겨진 비용은 지연 (지연 시간)입니다. 당신의 주문은 Polymarket의 일치 엔진을 거쳐야 할 뿐 아니라 직접 체인 상에 올라가는 작업의 경우 릴레이어의 확인, Gas 추정, 대기열 할당도 필요합니다.
이제 우리는 Polymarket 구조 전체 중에서 가장 강력하고 직관에 반하는 부분에 들어섰습니다.
전통적인 거래 플랫폼(예: 바이낸스의 주문 대장)에서는 일치 로직이 매우 간단합니다: Alice가 $60으로 1개의 토큰을 사고 싶어하며 Bob은 $60에 1개의 토큰을 팔고 싶어합니다. 거래 플랫폼은 그들을 매치시키고, 토큰은 Bob에서 Alice로 이동하고 돈은 Alice에서 Bob으로 이동합니다. 끝.
그러나 Polymarket에서는 (조건부 토큰 프레임워크인 CTF를 기반으로 한) 상황이 전혀 다릅니다.
왜냐하면 여기서 토큰은 "공백에서 생성" 및 "공백으로 소멸"될 수 있기 때문입니다.
ctf-exchange-v2의 소스 코드를 열어보면, 기본적으로 세 가지 완전히 다른 자산 결제 경로가 있음을 알 수 있습니다: 보완 (COMPLEMENTARY), 생산 (MINT) 및 병합 (MERGE).

보완, 생산, 병합 대략적인 구조
이는 가장 쉽게 이해할 수 있는 매칭 방식으로, 전통적인 거래 플랫폼이 유일하게 갖고 있는 방식입니다.
시나리오: 시장이 이미 일정 기간 존재하며 모든 사람들이 자산을 보유하고 있습니다.
· Alice는 100개의 YES를 $0.60에 매입하려고 합니다.
· Bob은 YES를 보유하고 있으며 100개의 YES를 $0.60에 매각하려고 합니다.
운영자는 이 두 주문 (매수 vs 매도)을 발견하고 그것들을 묶어 체인 상에 올립니다. 스마트 계약이 직접적인 1:1 전송을 실행합니다:
· Bob의 주소에서 Alice의 주소로 100개의 YES를 전송합니다.
· Alice의 주소에서 Bob에게 $60 pUSD를 전송합니다.
이 메커니즘은 다음과 같은 수학 및 엔지니어링 특징을 가지고 있습니다:
· 제로섬 게임: 시스템의 총 토큰 공급량은 전혀 변하지 않습니다.
· 최소 Gas 소비: 기본적인 전송만 포함되어 CTF의 복잡한 작업은 관련이 없습니다.
· 표준화: 성숙하고 유동성이 풍부한 시장에서 대부분의 일상적 거래는 이 방식으로 이루어집니다.
이것은 아마도 Polymarket이나 심지어 금융사의 역사 전체에서 가장 혁명적인 혁신일지도 모릅니다.
더 잘 설명하기 위해, 우리는 이러한 상황을 살펴볼 수 있습니다: 새로운 시장이 방금 출시되었고, YES 또는 NO 토큰을 아무도 소유하고 있지 않은 상태입니다.
· Alice는 매우 긍정적입니다. 그녀는 $0.60에 YES 100개를 매수하려 합니다.
· Bob은 매우 부정적입니다. 그는 $0.40에 NO 100개를 매수하려 합니다.
참고:
· 둘 다 매수자입니다!
· 둘 다 상대방이 원하는 토큰을 소유하고 있지 않습니다!
· 전통적인 주문대장에서는 이 두 주문이 결코 체결되지 않습니다.
Polymarket에서는 매수 vs 매수(그리고 토큰이 상쇄되는 경우)를 만나면 운영자가 이 두 주문을 매칭시킵니다!
1. 스마트 계약이 Alice의 계정에서 $60 pUSD를 차감합니다.
2. 스마트 계약이 Bob의 계정에서 $40 pUSD를 차감합니다.
3. 스마트 계약은 이 $100 pUSD를 가져와 담보로 묶은 후 _mint 함수를 호출하여, 유동성을 공급함으로써 YES 100개와 NO 100개를 발행합니다.
4. YES 100개를 Alice에게 전송합니다.
5. NO 100개를 Bob에게 전송합니다.
이러한 메커니즘의 트리거는 엄격한 수학적 조건에 기반해야 합니다: 매수가들의 합은 $1.00 이상이어야 함.
만약 Alice가 YES를 $0.60에 매수하려 하고, Bob이 NO를 $0.35에 매수하려 하는 경우, 합이 $0.95입니다. 스마트 계약은 $0.95로부터 $1.00의 가치를 가진 완전한 토큰 쌍을 발행할 수 없습니다. 이 매칭은 직접 실패합니다.

MINT 매칭 메커니즘
자금 공급자의 관점에서 본 이 메커니즘은 "콜드 스타트" 문제를 해결하는 궁극의 무기입니다.
시장이 개장하자마자 자금 공급자는 손에 상당한 양의 토큰을 마련하는 데 돈을 들이지 않아도 됩니다(이는 상당한 자금을 차지할 수 있습니다). 그들은 YES와 NO에 동시에 매수 주문을 걸기만 하면 됩니다(예: $0.49에 YES 매수, $0.49에 NO 매수). 소매 투자자가 판매 주문을 넣으면 창조 로직이 트리거됩니다.
창조와 파괴가 공존합니다. MERGE는 MINT의 역과정입니다.
우리는 역으로 된 사례를 살펴봅시다. 시장이 종료되려고 하며 모두 포지션을 청산하고 있습니다.
· Alice는 YES를 100개 가지고 있으며 $0.60에 판매하고 싶어합니다.
· Bob은 NO를 100개 가지고 있으며 $0.40에 판매하고 싶어합니다.
주의: 이 둘 다 판매자입니다! 누구도 그들의 토큰을 사기 위해 pUSD를 제시하지 않습니다.
이 때 Polymarket의 메커니즘은 다시 활약합니다. SELL vs SELL를 마주하면 Operator가 다시 마법을 부릅니다:
1. 스마트 계약이 Alice로부터 YES 100개를 가져갑니다.
2. 스마트 계약이 Bob으로부터 NO 100개를 가져갑니다.
3. 스마트 계약이 _merge 함수를 호출하여 이 100쌍의 YES+NO를 완전히 소멸시키고 100달러의 pUSD를 언락합니다.
4. Alice에게 60달러 pUSD를 송금합니다.
5. Bob에게 40달러 pUSD를 송금합니다.
병합 메커니즘은 다음과 같은 수학적 및 금융적 특성을 갖습니다:
· 디플레이션 메커니즘: 시스템의 총 토큰 공급량이 감소했습니다.
· 탈출 채널: "타격자 없음" 조차도 YES와 NO 판매자의 가격이 $1.00을 맞출 수 있다면($1.00을 양해해줄 공간이 있다면), 모두가 현금화하여 퇴장할 수 있도록 보장합니다.
이 세 가지 일치 방식을 이해하면 Polymarket 시장의 수명주기를 이해할 수 있습니다:
1. 초기 단계(MINT 우세): 시장이 시작되었으며 토큰이 없습니다. 롱&숏은 MINT 메커니즘을 통해 자금을 지속적으로 시스템에 주입하며 토큰을 교환합니다. 총 공급량이 급격히 증가합니다.
2. 중기(MINT 보충): 시장 유동성이 충분하며 대부분 거래는 기존 토큰의 매매입니다. 총 공급량이 안정됩니다.
3. 후기(MERGE 우세): 결과가 점차 명확해지며, 누구나 포지션을 청산하기 시작합니다. 롱&숏은 MERGE 메커니즘을 통해 토큰을 소멸시키고 자금을 환매합니다. 총 공급량이 감소합니다.
이 세 가지 경로는 Operator가 주관적으로 선택하는 것이 아니라, 주문의 매수 방향(BUY 대 SELL)에 엄격히 의해 결정되는 스마트 계약의 라우팅 규칙에 의해 결정됩니다.

시장 수명주기
일치 메커니즘을 이해했으니, 이제 우리는 매일 사용하지만 실제로는 재무적 영향을 제대로 이해하지 못한 세 가지 핵심 작업(연산)을 살펴볼 차례입니다: Split(분할), Merge(병합) 및 Redeem(상환).
이 세 가지 작업은 Polymarket의 원자 수준 작업입니다. 이들은 "거래"가 아니며(주문 대장을 거치지 않으며 수수료를 부과하지 않음), 자산 변환에 직접적으로 작용하는 스마트 계약 상호작용입니다.
1. Split: 당신이 스마트 계약에 $1 pUSD를 제공하면, 계약은 여러분에게 YES 1개와 NO 1개를 제공합니다. 비용은 항상 정확히 $1입니다.
2. Merge: 당신이 스마트 계약에 YES 1개와 NO 1개를 제공하면, 계약은 여러분에게 $1 pUSD를 제공합니다. 수익은 항상 정확히 $1입니다.
3. Redeem: 시장에서 승자가 결정된 후, 이긴 토큰은 $1 pUSD로 교환되고, 지는 토큰은 0으로 만들어집니다.

Split 작업 전후 비교
시장 제공자들(Market Makers): 그들은 Split의 주요 사용자입니다. 시장 제공자들은 양쪽에 동시에 주문을 등록해야 하지만, 이들은 시장에서 토큰을 구매하기를 원하지 않습니다(수수료가 청구될 수 있음). 그들은 $100,000 자금을 직접 10만 개의 YES와 10만 개의 NO로 Split하고, 그 후 주문서에 걸어 둡니다.
알짜 거래자들(Arbitrageurs): 그들은 Merge의 주요 사용자입니다. 시장에서 잠시 가격 오류가 발생할 때, 예를 들어 YES가 $0.40로 하락하고, NO가 $0.55로 하락한 경우, 알짜 거래자들은 빠르게 YES 1개와 NO 1개를 매수합니다(총 비용 $0.95), 그리고 즉시 Merge를 호출하여 $1로 반환받아, 리스크 없이 $0.05를 순수익으로 창출합니다. 이러한 수학적 조건은 매우 명확합니다: Price(YES) + Price(NO) < 1 - 수수료 일 때, 무조건 매수하고 Merge를 호출하십시오.
그러므로, 당신이 알짜 거래자들이나 시장 제공자의 스마트머니를 따라하려 할 때, Split/Merge가 PNL에 미치는 영향을 정확히 이해해야 합니다. 그렇지 않으면, 이는 모범적인 '스마트머니'가 아닙니다.
오늘날의 시장에서는, Polymarket 자체를 포함하여 PNL 계산 문제를 해결할 수 없습니다.
물론, 여러분은 이미 알고 계실 수도 있습니다 – insiders.bot은 이미 PNL 계산 및 스마트머니 브라우저에서 이 문제를 해결했습니다
앞서 말한 대로, 이것은 Polymarket 생태계 전체에서 가장 흔한 오류이다. 거의 모든 서드파티 PnL(이익 및 손실) 추적 도구, 심지어 일부 공식 API까지도 여기서 걸림돌을 만난다.
여러분께 한 가지 계산을 해드리겠습니다. 그러면 이 함정이 얼마나 깊은지 알게 될 것입니다.
· 단계 0: 당신의 자본이 $100임을 가정해 봅시다. 당신은 "이더리움이 $5000를 돌파할 것"이라는 시장에 광명을 봅니다.

· 단계 1: $50를 써서 한 번의 Split을 실행했습니다. 이제 YES 50개와 NO 50개가 손에 있습니다. 여전히 $50의 현금이 남아 있습니다.
· 단계 2: YES 50개가 부족하다고 생각하여 시장에서 YES 50개를 $0.40에 구입했습니다. $20을 지출하였고, 현금은 $30이 남아 있습니다.
· 단계 3: NO 50개를 손에 들고 $0.35에 팔았습니다. $17.50을 회수하여 현금은 $47.50이 되었습니다.
이제 당신은 YES 계약 100개를 소유하고 있습니다. 실제 비용은 얼마입니까?
대부분의 랭킹은 어떻게 계산하는가 (잘못된 알고리즘):
· 그들은 오직 당신의 "거래" 기록만을 보기 때문에 YES 50개를 구입하여 $20을 지불한 것만을 본다. 그들은 Split을 완전히 무시한다 (왜냐하면 그것은 거래가 아니기 때문이다).
· 그들은 그래서 당신의 비용이라고 생각하는 것은: $20 / 50 = $0.40/개이다.
· 이제 YES의 시장 가격이 $0.60으로 상승하면, 그들은 당신의 이익을 다음과 같이 표시할 것입니다: 100 × $0.60 - $20 = $40.
실제로 당신이 계산해야 하는 방법 (정확한 알고리즘 및 insiders.bot이 사용 중인 알고리즘):
· 당신의 총 자금 유출: $50 (Split) + $20 (구매) = $70
· 총 현금 유입: $17.50 (NO 판매)
· 순 투자금: $70 - $17.50 = $52.50
· 실제 비용: $52.50 / 100 = $0.525/개
· 현재 YES 시장 가격이 $0.60이라면, 당신의 실제 이익은: 100 × $0.60 - $52.50 = $7.50
차이를 보셨나요? 순위표에 따르면 $40 벌었지만, 실제로는 $7.50 벌었습니다. 그 중간의 $32.50은 "환상적인 이익"으로, 시스템이 Split 비용과 NO 판매 수익을 올바르게 처리하지 않았기 때문입니다.
올바른 PnL 수학 공식은 다음과 같아야 합니다:
총 손익 = Σ(판매 수익) + Σ(병합 수익) + Σ(교환 수익) - Σ(매수 지출) - Σ(Split 지출) + 현재 보유 자산 가치
이것이 바로 어떤 대형 트레이더가 손해가 수백만 달러라는 걸 순위표에서 보지만 실제로는 돈을 새다는 이유입니다. 이기고 그 자산을 교환한 후, 많은 도구들이 해당 자산을 기록에서 "지워버리고" 여전히 손해 보고 있는 자산만 남기기 때문입니다.

PnL 계산 함정
당신이 자주 거래를 한다면, Polymarket의 수수료가 고정 비율이 아님을 발견하게 될 것입니다. 때로는 $1000의 계약을 사면 $10을, 때로는 $2를 받게 됩니다.
왜 그럴까요? 코드 깊은 곳에 숨겨진 요금 공식을 살펴봅시다:
수수료 = C × feeRate × p × (1 - p) (여기서 C는 거래량, p는 가격)
100 개의 YES를 사려면, 2%의 요율이 있습니다:
· YES의 가격이 $0.50인 경우: 수수료 = 100 × 2% × 0.50 × 0.50 = $0.50입니다.
· YES의 가격이 $0.90인 경우: 수수료 = 100 × 2% × 0.90 × 0.10 = $0.18입니다.
· YES의 가격이 $0.10인 경우: 수수료 = 100 × 2% × 0.10 × 0.90 = $0.18입니다.
규칙을 발견하셨나요? 가격이 0.50(반반)일 때 수수료가 가장 높습니다. 0 또는 1(결과가 확실한)에 근접할 때 수수료가 매우 낮아집니다.
더 중요한 것은 대칭성입니다. $0.90에 YES를 매입하거나 $0.10에 NO를 매입하는 것은 수학적으로 동등합니다. 만약 $0.90에 YES를 매입하는 데 높은 수수료가 부과되고 $0.10에 NO를 매입하는 데 낮은 수수료가 부과된다면, 차익 거래자는 미장치 메커니즘을 통해 미친 듯이 NO를 대량으로 매입할 것입니다. 이 설계의 p(1-p)는 어느 쪽에서 어떤 견해를 표현하든 시스템이 부과하는 마찰 비용이 절대적으로 대칭적임을 보장합니다.
통계를 공부한 적이 있다면, p(1-p) 이 공식이 매우 익숙할 것입니다. 이것은 베르누이 분포(동전 던지기)의 분산 공식입니다.
Polymarket의 전체 시스템 설계에서 p(1-p)는 바로 "신의 공식"입니다:
1. 이것은 수수료 곡선입니다: 불확실성(분산)이 높을수록 시스템이 부과하는 비용이 더 많아집니다.
2. 이것은 정보 엔트로피를 나타냅니다: 50%에서 베팅하면 시장에 가장 많은 새로운 정보를 제공하므로 가장 큰 비용을 지불합니다.
누가 수수료를 지불하나요? 항상 Taker(체결주문자)입니다. Maker(호가주문자)는 항상 수수료를 면제받습니다.
이 메커니즘은 장려를 완벽하게 조정했습니다: 시장이 가장 혼란스러울(50/50) 때, 초기 참여자는 가장 높은 수수료를 지불하게 되어 시장 제약으로부터 시장 메이커를 보호합니다. 그리고 시장이 거의 확정될 때, 매우 낮은 수수료가 차익 거래자를 유치하여 가격을 최종적으로 1 또는 0으로 밀어올립니다.

수수료 곡선
만약 당신이 Polymarket에서 대선, 영화제 또는 스포츠 경기 등 다중 결과(Multi-outcome) 시장을 했다면, 당신은 음의 리스크(Negative Risk) 시장을 반드시 만났을 것입니다.
이것은 전체 기사 중에서 가장 복잡하지만 스마트 계약 엔지니어링 미학을 가장 잘 보여주는 부분입니다.
P.S 이것은 또한 우리의 공동 창업자 @DakshBigShit 이 우리 자체 API를 개발할 때, 36시간 마라톤 작업을 통해 해결한 부분이기도 합니다.
4명의 후보가 있다고 가정해봅시다: A, B, C, D. 당신은 A를 극도로 싫어하며, A가 결코 이길 수 없다고 확신합니다. A에 "숏"하고 싶습니다.
전통적인 바이너리 시장에서는 A의 NO 계약을 사는 것만으로 충분합니다. 그러나 다중 결과 시장에서는 A가 지면, B, C, D 중 반드시 한 명이 이깁니다. 따라서, "A에 숏"은 수학적으로 엄격히 "B에 롱 + C에 롱 + D에 롱"과 동등합니다.(이 문장은 매우 중요하니 이해될 때까지 반복해서 읽으세요.)
만약 시장에서 각각 B, C, D의 YES 계약을 사러 가면 엄청난 문제에 직면하게 됩니다: 자금 효율이 매우 낮습니다. 왜냐하면 각각의 금액을 따로 지불해야 하며, 만약 이 세 명의 가격이 $1.00을 초과하면, 심지어는 손해를 볼 수도 있습니다.
Polymarket은 이 문제를 해결하기 위해 특수한 스마트 계약 NegRiskAdapter를 배포했습니다. 이는 convertPositions라는 함수를 제공합니다.
이 함수의 기능은 다음과 같습니다: 손에 있는 NO 스마트 계약을 즉시 다른 모든 후보자의 YES 스마트 계약으로 변환하고 동시에 현금을 환불합니다.
이 변환이 가치 보존임을 수학적으로 증명해 봅시다.
시나리오 설정: 후보자가 n 명 있습니다.
· 손에는 후보자 1의 NO 스마트 계약 A 개가 있으며, 후보자 2의 NO 스마트 계약 A 개도 있습니다 (1과 2에 동시에 공매도).
· 총 m 가지 서로 다른 NO 스마트 계약을 보유하고 있습니다 (여기서 m=2).
변환하기 전, 여러 가능한 세계선 상에서 보유한 실제 가치:
· 후보자 1이 이긴다면: NO_1은 쓰레기가 되고, NO_2의 가치는 $1입니다. 총 가치 = A.
· 후보자 2가 이긴다면: NO_1의 가치는 $1이 되고, NO_2는 쓰레기가 됩니다. 총 가치 = A.
· 후보자 3이 이긴다면 (당신이 어느 누구도 공매도하지 않은 경우): NO_1의 가치는 $1, NO_2의 가치는 $1. 총 가치 = 2A.
convertPositions을 호출한 후 계약이 당신에게 제공한 것:
· 공식은 다음과 같습니다: 당신에게 A × (m-1)의 자금을 환불하고, A 개의 후보자 3, 4, ... n의 YES 스마트 계약을 제공합니다.
· 이 예에서 반환되는 것: A × (2-1) = A의 현금! 그리고 A 개의 후보자 3의 YES, A 개의 후보자 4의 YES...
변환 후, 여러 가능한 세계선 상에서 보유한 실제 가치:
1. 후보자 1이 이긴다면: 손에 있는 YES_3, YES_4는 모두 쓰레기가 됩니다. 당신은 A의 현금만 남게 됩니다. 총 가치 = A (변환 전과 동일!).
2. 만약 후보자 2가 이겼을 때: 손에 있는 YES_3, YES_4는 모두 쓰레기가 됩니다. 당신은 이제 A 금액의 현금만 남게 됩니다. 총 가치 = A. (변환 전과 동일!)
3. 만약 후보자 3이 이겼을 때: 손에 있는 YES_3은 $1의 가치가 있으며, 나머지는 쓰레기가 됩니다. A 금액의 현금을 더합니다. 총 가치 = A + A = 2A. (변환 전과 동일!)
증명 종료 어떤 일이 벌어져도 변환 전후의 가치는 절대적으로 동일합니다.

부정적 위험 전환 수학적 증명
이 전환 메커니즘에는 매우 매혹적인 물리학적 특성이 있습니다: 그것은 일방향 불가역입니다.
NO를 YES + 현금으로 변환할 수 있지만, YES + 현금을 NO로 역으로 변환할 수는 없습니다.
· 왜냐하면 스마트 계약의 근간에서 NO를 YES로 변환할 때, 계약은 실제로 여러분의 NO 계약을 블랙홀 주소로 보내고 (소각), 그 후에 여분의 담보 공간을 이용하여 새로운 YES 계약을 "합성"합니다. 이 과정에 외부 자금의 추가는 필요하지 않습니다.
· 그러나 역으로 YES를 NO로 변환하려면 새로운 담보를 만들어야 하며(NO 계약의 범위가 훨씬 넓기 때문에). 어댑터는 이 담보를 사용하여 국고 자금을 사용할 권한이 없습니다.
· 이는 달걀을 깨는 것과 같습니다. NO는 그 완전한 달걀이며, 모든 가능성을 포함하고 있습니다. 변환 작업은 달걀을 깨고 노른자(YES)와 달걀 흰자(현금)로 나누는 것입니다. 과정의 가치는 보존되지만, 그것들을 다시 결합하여 완전한 달걀로 되돌릴 수는 없습니다.
여기에는 거대한 아비트리지 기회가 있습니다: 시장에서 특정 후보자의 NO 가격이, 다른 모든 후보자의 YES 가격 합계보다 높은 경우 그 NO를 매수하여 convertPositions를 호출하여 현금과 다량의 YES를 받은 다음 이러한 YES를 즉시 매도할 수 있습니다. 이것이 다중 결과 시장에서 가장 고급스러운 리스크 없는 아비트리지 전략입니다.
마지막으로, 우리는 거래의 가장 가혹한 차원에 대해 이야기하겠습니다: 시간.
전통적인 하이파이 거래에서 우리는 마이크로초(백만분의 일초)를 다룹니다. Polymarket에서는 밀리초를 다룹니다. 그러나 여기에는 엄청난 구조적 불평등이 존재합니다.
Reddit의 알고리즘 트레이딩 게시판을 구경해본 적이 있다면, 모든 Polymarket 봇을 개발한 프로그래머가 한 가지 문제에 대해 불평했음을 알 수 있을 것입니다: "왜 Taker 주문을 낼 때 항상 300밀리초를 기다려야 하고, Maker 주문은 단 25밀리초면 되는 건가요?"
Maker(메이커) 주문을 넣을 때: 당신의 주문(서명 데이터)이 Polymarket 서버로 전송됩니다. 서버는 서명이 유효한지 확인한 후 이 레코드를 직접 CLOB(주문서) 데이터베이스 메모리에 넣습니다. 그런 다음 즉시 ACK(확인)을 반환합니다. 이 모든 과정은 완전히 오프체인에서 발생하며 단 한 번의 데이터베이스 쓰기만 필요합니다. 소요 시간: 약 25밀리초입니다.
Taker(테이커) 주문을 넣을 때: 당신의 주문이 서버로 전송됩니다. 매칭 엔진은 당신의 주문이 주문서에있는 어떤 Maker와 일치하는지 발견합니다. 이 때, 운영자는 복잡한 결제 파이프라인을 시작해야 합니다:
1. 어떤 일치 경로를 사용할지 결정(COMPLEMENTARY, MINT, 또는 MERGE).
2. 양쪽 서명이 포함된 온체인 거래 데이터를 작성합니다.
3. 거래를 Reayer에게 보냅니다.
4. Reayer가 Gas를 추정하고 Nonce를 할당합니다.
5. 거래를 Polygon 노드에 브로드캐스트합니다.
6. 노드가 이 거래가 잔고 부족 등의 이유로 Revert되지 않을 것을 확인하기를 기다립니다.
이 모든 과정은 여러 마이크로 서비스를 거쳐 진행되며 심지어 블록체인의 가장자리까지 미칩니다. 소요 시간: 약 250에서 300밀리초입니다.
이 250밀리초의 물리적 격차는 Polymarket의 생태계를 깊게 영향을 미쳤습니다.
첫째, Polymarket에서 프론트런을 하기 어렵습니다. 모든 테이커 주문은 오퍼레이터의 처리를 기다려야 하므로 가스 수수료를 높이는 것으로 선입견을 이용할 수 없습니다. 이곳에서는 Mempool 프론트런이 일시적으로 허용되지 않습니다.
둘째, 메이커 전략의 절대 우위. 주문 철회와 메이커 주문은 모두 오프체인 작업이므로 25밀리초 만에 처리됩니다. 급박한 뉴스가 발생할 때, 똑똑한 메이커는 이 250밀리초의 시차를 이용해 테이커 주문이 처리되기 전에 자신의 주문을 철회하여 역선발은을 회피할 수 있습니다.
시간에 대한 또 다른 알려지지 않은 세부 사항이 있습니다. 공식 문서에 따르면 미국 동부 시간으로 매주 화요일 오전 7시, Polymarket의 매칭 엔진이 다시 시작됩니다. 대략 90초 동안, 시스템은 모든 매칭을 중지하고 API는 HTTP 425(Too Early) 오류를 반환합니다.
보다 가혹한 것은 V2에서 하트비트(Heartbeat) 메커니즘을 도입했습니다. 서버가 10초 이내에 클라이언트의 하트비트를받지 않으면 모든 클라이언트의 오픈 주문이 자동으로 취소됩니다. 재시작하는 이 90초 동안, 메이커들의 하트비트가 강제로 중단되어 주문은 시스템에 의해 일괄 취소됩니다.
이 90초는 시스템의 진정한 '유동성 공백'입니다. 옵션 가격 모델에게 있어서, 이 90초의 시간 감쇠율(Theta)의 가치평가 및 제 91초에 엔진이 복구될 때 마켓 플레이스를 가장 먼저 점령하는 방법은 최고 수준의 플랫폼과 양자 스튜디오에게 남겨진 궁극적인 수수께끼입니다.

지연시간 라인 비교
만약 여러분이 여기까지 읽었다면, 여러분은 Polymarket의 핵심 구조를 이해하고 있습니다. 그러나 2026년에도 이 시장에서 수일하고 싶다면 방금 발생한 대지진에 대해 이해해야 합니다.
2026년 2월에서 5월 사이, Polymarket은 잠복적으로 대규모 V2 아키텍처 업그레이드를 진행했습니다. 이번 업그레이드는 담보 및 수수료 공식을 재구성하는 것뿐만 아니라, 더 중요한 것은, 예측 시장에서 가장 악명 높은 버그, 즉 고스트 필 (Ghost Fill)을 해결하기 위한 궁극적인 전쟁을 시작했습니다.
Polymarket V2 업그레이드 이전, 무수히 많은 리퀴디티 프로바이더와 양적 트레이더는 다음과 같은 현상에 괴로워했습니다: 여러분의 트레이딩 봇이 5분봉 시장 (예: BTC Up/Down 5m)에서 탁월한 기회를 포착했을 때, 즉시 테이커 (Taker) 주문을 요청했습니다.
Polymarket의 API는 즉시 "일치! 성공!"을 반환했고, 여러분의 텔레그램 알림은 "FILLED"로 환호를 자극했습니다. 그러나 여러분이 Polygon 스캔을 열어 블록체인 브라우저를 확인하면, 이 거래가 REVERTED(실패)로 표시되어 있으며, 가스 수수료가 소멸됐음을 알게 됩니다. 여러분의 포지션은 전혀 바뀌지 않았습니다.
주문서에는 거래가 체결되었다고 표시되어 있지만, 블록체인은 그렇지 않았다고 말합니다. 이것이 고스트 필 (Ghost Fill)입니다.
이 버그의 본질을 이해하기 위해서는, 우리가 첫 장에서 소개한 기본 아키텍처로 돌아가 볼 필요가 있습니다: 오프체인 매칭 (Off-chain Matching) + 온체인 결제 (On-chain Settlement).
Alice의 매수 주문과 Bob의 매도 주문이 오프체인 중앙 리미트 주문서 (CLOB)에서 일치하는 경우, 시스템은 단지 데이터베이스에서 이 두 주문을 동등하게 처리합니다. 실제 자산 이체는 Operator가 양측 서명을 패킹하여 포리곤 체인에 제출하고 TransferFrom을 실행함으로써 이루어집니다.
이로 인해 치명적인 시간 차가 발생합니다. 이 시간 차 안에서 사용자의 지갑 상태가 변경될 수 있습니다.
V1 및 V2 초기에 나왔을 때, 해커 및 악의적인 유동성 공급자는이 시간 차를 이용하여 두 가지 매우 파괴적인 공격 방법을 발명했습니다:
첫 번째: 저비용 incrementNonce 공격(V1 시대) V1 아키텍처에서 주문 상태는 전역 nonce(랜덤 번호)로 관리됩니다. 악의적인 플레이어는 오프 체인에서 매력적인 가짜 주문(Spoofing)을 대량으로 게시할 수 있습니다. 실제 구매자가 물렸을 때, 주문이 오프 체인에서 일치하게 표시되면, 악의적인 플레이어는 오퍼레이터가 올리기 전에 즉시 온 체인에서 incrementNonce 함수를 호출할 수 있습니다.
이 작업의 비용은 매우 낮지만(몇 센트의 가스),이 주소에게 모든 이전 nonce 주문을 즉시 무효화시킬 수 있습니다. 오퍼레이터가 일치하는 거래를 체인에 제출할 때, 스마트 계약은 nonce가 일치하지 않음을 발견하고 직접 Revert합니다. 공격자는 철수하고, 실제 구매자는 거래 기회를 놓치고 가짜 주문에 속을 수도 있습니다.
두 번째: 빈 지갑의 "좀비 주문"(V2 초기) V2 업그레이드에서는 전역 nonce가 제거되었습니다. 대신 단일 주문 해시를 사용하여 취소 상태를 관리하여 첫 번째 경로를 막았습니다. 그러나 해커들은 더 깊은 수준의 취약점을 발견했습니다: 잔액 사기. 악의적인 사용자는 지갑에 $1000을 입금하고 $10000의 주문을 주문서에 서명한 다음 즉시 지갑의 모든 돈을 인출할 수 있습니다.
Polymarket의 주문은 오프 체인 서명되기 때문에 서명이 유효하고 토큰 승인이 취소되지 않는 한, 이러한 주문들은 오프 체인을 매치파는 엔진에게 "합법적"인 것처럼 보입니다. 그러나 실제로 이 지갑의 잔액은 $0입니다.
당신의 로봇이 이러한 "좀비 주문"을 처리할 때, 오퍼레이터가 체인에 제출할 때, 하위 레벨의 Solady 라이브러리 함수 TransferFrom은 상대방 잔액이 부족하기 때문에 오류를 반환할 것입니다(오류 코드 0x7939f424). 당신의 거래는 다시 Revert됩니다.
당신은 아마도 물어볼 것입니다: 왜 바이낸스 또는 전통 중앙 집중식 거래소(예: Uniswap)에는이 문제가 없는 것일까요?
바이낸스가 완전 중앙 집중형이기 때문에 여러분의 자산은 그들의 데이터베이스에 존재하며 절대적인 통제력을 가지고 있습니다. 매칭 및 차감은 원자성이 동시에 발생합니다. 반면, 유니스왑은 완전한 온체인이기 때문에 매칭 및 차감이 동일한 트랜잭션 내에서 스마트 계약에 의해 완료되며 이 또한 원자성을 보장합니다.
그러나 폴리마켓은 혼합 아키텍처를 선택했습니다: 오프체인 매칭은 속도를 추구하고, 온체인 결제는 투명성을 추구합니다. 사용자 자산은 완전 자체 보관 지갑 (예: EOA 또는 Gnosis Safe)에 보관되며 사용자는 절대적인 처분 권한을 갖으며 언제든지 자산을 인출할 수 있습니다.
매칭의 양단 사이의 자금 상태가 사용자의 실제로 자유로운 자체 보유 월렛과 연결된다면, "상태 분리"는 영원히 존재합니다.
2026년 5월 4일, 폴리마켓은 핵심 프로토콜 수준의 중요한 업데이트를 발표했으며, 유령 거래 비율을 최고점인 30%에서 0.17%로 직접 낮추었으며 거의 제로에 가까워졌습니다.
그들이 이를 어떻게 달성했는가?
답은 Deposit Wallet(관련 금고)를 도입하는 것입니다.
폴리마켓은 마침내 유령 거래를 해결하는 근본적인 방법은 사용자 자산의 "절대적인 자유"를 제한하는 것이라는 것을 깨달았습니다. 새로운 아키텍처에서 사용자는 더 이상 자체 운영 월렛 (EOA)을 직접 사용하여 오프체인 매칭에 참여할 수 없습니다. 먼저 자금을 스마트 계약이 제어하는 Deposit Wallet에 예치해야 합니다.
이 관련 금고에서:
1. 소유권은 있지만 절대적인 즉시 처분 권한은 없습니다.
2. 오프체인에서 주문을 등록하면 금고는 해당 사용 가능 잔액을 논리적으로 잠근니다.
3. 금고에서 자금을 인출하려면 이 인출 작업 (State Revocation) 자체에는 물리적 시간 비용이 부여됩니다. 이는 여러분이 진행 중인 매칭 주문이 없음을 확인하기 위해 스마트 계약 검증을 거쳐야 함을 의미합니다.
이 버퍼 레이어를 도입함으로써, 폴리마켓은 오프체인 매칭 상태와 온체인 자금 상태를 강제로 유대하여 "빈 지갑 주문" 가능성을 완전히 제거했습니다. 이것은 공학적 승리뿐만 아니라 탈중앙화 금융에서 "자체 보유"와 "거래 효율성" 사이의 모순에 대한 심층적인 타협과 재구축입니다.
하드 코어 개선 사항인 Ghost Fill을 해결하는 것 외에도 V2 아키텍처에는 시장을 근본적으로 변화시킬 몇 가지 업그레이드가 포함되어 있습니다:
· pUSD의 권력 이전 4월 28일, 기반 자산이 USDC.e에서 pUSD로 완전히 전환되었습니다. 이로써 Polymarket은 기반 자산의 이자 제어 권한을 획득하여 사용자에게 최대 4.00%의 연간 보유 보상을 제공할 수 있게 되었습니다. pUSD는 새로운 자본 효율 기반으로 확립되었습니다.
· 퍼펙트 공식 p(1-p)의 구현 V1 시대의 대강의 min(p, 1-p) 근사값을 버리고 수수료 공식을 바로 p × (1-p)의 완벽한 베르누이 분산 공식으로 수정했습니다. 수학적으로 절대적인 부드러움은 아빠리티 상인의 가격 책정 모델을 더욱 정확하게 만들어 주었습니다.
· 인위적 속도제거 초기에는 오퍼레이터봇에 의한 악용을 방지하기 위해 코드에 500밀리초의 Taker 지연 시간이 하드코딩되어 있었습니다. V2 엔진 성능 향상과 Heartbeat 메커니즘의 도입으로(10초 동안 연결이 끊기면 주문을 비웁니다), 공식은 2월 말 이전에 이 인위적 속도제거를 완전히 제거하면서 Polymarket은 공식적으로 마이크로초 HFT(하이프리퀀시 트레이딩)전쟁에 진입했다고 선언하였습니다. (이것이 바로 우리 insiders.bot이 이 싸움에 참여하기 위해 최근에 API를 오픈소스로 공개할 준비를 하고 있는 이유입니다)
당신이 주문을 클릭한 순간부터:
· 당신의 서명이 사슬 외의 주문서로 전송되었습니다.
· 리레이어는 당신을 위해 Gas를 태워 길을 납득시켰습니다.
· 오퍼레이터는 COMPLEMENTARY, MINT 및 MERGE에서 최적의 일치 경로를 찾았습니다.
· 수수료 곡선은 p(1-p)의 우아한 공식을 사용하여 미세한 마찰 비용을 빼앗아갔습니다.
· 작업이 복잡하다면 NegRiskAdapter는 심지어 물질 보존의 연금술을 펼칠 것입니다.
· 마침내, 모든 것이 생사를 결정하는 250밀리초 내에 결론이 내려집니다. (이것이 insders.bot이 추종의 투명성과 속도를 극히 중요하게 여기는 이유입니다.)
당신의 돈이 없어진 것은 아닙니다. 그것은 엄격히 물리 법칙을 따르는 ctf-exchange-v2라는 정교한 기계로 향하고 있습니다.
다음 번에 Polymarket에서 황당한 배당률이나 유혹적인 아비트리지 기회를 보게 되면, 단순히 구매를 클릭하기 전에 머릿속에서 이 기계의 톱니바퀴들을 한 번 돌려보세요.
이 기본적인 「법」을 이해하고 올바른 「도」를 결합하면, 당신은 반드시 무릎을 터고 일어날 것입니다.
참고 자료:
[1] Polymarket 공식 문서: 일치 엔진 재시작 및 하트비트 메커니즘.
[2] Polymarket 공식 문서: 수수료 및 p(1-p) 계산 공식.
[3] Polymarket/ctf-exchange-v2 스마트 계약 소스 코드 (GitHub).
[4] NegRiskAdapter.sol: 다중 결과 변환의 수학적 구현.
[5] leolabs.me: Polymarket PnL이 잘못된 이유 (분할/합병 회계 분석).
[6] Reddit r/algotrading & Binance Square: Polymarket Taker 지연 제거 발표 (2026년 2월).
[7] Polymarket V2 이전 안내서: USDC.e에서 pUSD로의 이전 (2026년 4월).
원문 링크
BlockBeats 공식 커뮤니티에 참여하세요:
Telegram 구독 그룹:https://t.me/theblockbeats
Telegram 토론 그룹:https://t.me/BlockBeats_App
Twitter 공식 계정:https://twitter.com/BlockBeatsAsia