MetaMask Agent Wallet는 mm predict 명령어 세트를 통해 Polymarket 예측 시장 거래를 지원합니다. 트레이더는 에이전트에게 자연어로 배당률 확인, 베팅 규모 설정, 또는 당첨금 청구 및 출금을 요청하면, 에이전트가 해당 요청을 전용 입금 지갑 충전, 주문 견적 조회, 주문 실행, 결과 확정 후 정산, 수익 출금 등의 명령어로 연결합니다.
Agent Wallet에서의 무기한 선물 거래와 마찬가지로, 스왑과는 달리 중간 단계가 온체인 외부에서 처리됩니다. 예측 시장의 경우 주문 실행 및 취소는 Polymarket의 중앙 지정가 주문장(CLOB)에서 오프체인으로 처리되는 반면, 입금 지갑 충전과 결과 확정 후 당첨금 청구는 MetaMask가 실제 트랜잭션으로 평가하는 두 단계입니다.
이 구분은 단일 프롬프트에서 놓치기 쉽습니다. "Fed 금리 인하에 $20 베팅해줘"라는 요청에는 가격, 주문 유형, 그리고 해당 가격이 얼마나 확실하게 유지되어야 하는지에 대한 암묵적인 가정이 담겨 있습니다. UI를 직접 사용했다면 별도의 화면으로 표시될 내용이지만, 한 문장으로 압축되어 하나의 요청이 됩니다. 이 글에서는 에이전트가 해당 문장을 실행하기 전에 명확히 해둘 만한 세부 사항을 다룹니다.
이 글은 예측 시장 입문서가 아닌 거래 메커니즘 가이드입니다. 예측 시장의 개념과 가격이 확률을 반영하는 방식에 대해서는 Polymarket이란 무엇인가를 참고하세요. 주문장, 스프레드, 유동성, 결과 확정 메커니즘에 대해서는 예측 시장 핵심 개념과 예측 시장 가격 책정 원리를 참고하세요. 지갑 카테고리 자체에 대해서는 에이전틱 지갑이란 무엇인가와 에이전틱 지갑의 작동 방식을 참고하세요. 다른 자산군에서의 입금 대 주문 구분에 대해서는 MetaMask Agent Wallet로 무기한 선물 거래하는 방법과 토큰 스왑 및 브리지하는 방법을 참고하세요.
미리 짚어둘 중요한 구분이 있습니다. mm predict는 개발자와 에이전트를 위해 구축된 Agent Wallet CLI의 자체 Polymarket 통합 기능입니다. 이는 MetaMask Mobile에 내장된 소비자용 기능인 MetaMask Predictions와는 별개의 제품입니다. 두 기능 모두 Polymarket에서 거래하지만, 서로 다른 인터페이스와 명령어를 사용하며, 이 글에서는 CLI만 다룹니다.
예측 시장 인터페이스 상세 분석
다음은 예측 시장 워크플로우에서 활용되는 명령어들입니다. 인터페이스를 파악하면 의도한 대로 요청을 구성하기가 더 쉬워집니다.
에이전트에게 요청하는 내용 | 실행되는 명령어 | 수행하는 작업 |
"예측 시장 거래 설정해줘" | mm predict setup --wait
| 전용 예측 입금 지갑 최초 설정 |
"예측 시장 지갑에 $50 넣어줘" | mm predict deposit --amount 50 --wait
| 지갑의 Polygon USDC.e를 예측 입금 지갑의 pUSD로 전환 |
"다음 Fed 금리 결정 관련 시장 찾아줘" | mm predict markets search ""
| 키워드로 Polymarket 시장 검색 |
"해당 시장에서 YES 주식 20개 사면 얼마야" | mm predict quote --token-id --side buy --size 20
| 주문 실행 없이 주문 비용 미리보기 |
"62센트에 YES로 10 USDC 베팅해줘" | mm predict place --token-id --side buy --size 10 --price 0.62
| Polymarket 주문장에 실제 주문 실행 |
"내 예측 시장 포지션 보여줘" | mm predict positions
| 현재 보유 포지션 목록 조회 |
"당첨된 베팅 정산해줘" | mm predict redeem --all --wait
| 결과 확정된 당첨 포지션 수익 청구 |
"당첨금 내 지갑으로 옮겨줘" | mm predict withdraw --amount
| 예측 입금 지갑에서 pUSD 출금 |
출처: MetaMask Agent Wallet 명령어 레퍼런스.
이러한 기본 이해를 바탕으로, MetaMask Agent Wallet로 예측 시장을 거래할 때 유용한 9가지 팁을 소개합니다.
1. 설정은 한 번만 실행하고, 현물 잔액과 분리된 지갑에 자금을 충전하세요
예측 시장 거래는 메인 지갑 잔액이 아닌 전용 예측 입금 지갑을 통해 이루어집니다. 최초 설정 흐름은 mm predict setup --wait를 실행한 후 mm predict deposit --amount --wait를 실행하는 것으로, 지갑에 보유한 Polygon USDC.e를 해당 입금 지갑 내 pUSD로 전환합니다. 입금 전에 설정을 건너뛰면 명확한 오류 코드 대신 단순한 JsonRpcError: execution reverted가 발생할 수 있습니다.
인식해둘 만한 두 가지 관련 오류 유형이 있습니다. PREDICT_INSUFFICIENT_GAS는 입금 트랜잭션의 가스비를 충당하기 위해 지갑에 Polygon 네이티브 POL이 필요하다는 의미이고, PREDICT_INSUFFICIENT_ALLOWANCE는 입금이나 주문이 처리되기 전에 mm predict approve로 토큰 허용량을 수정해야 한다는 의미입니다. 두 경우 모두 명령어 하나로 해결되지만, 먼저 정확히 식별해야 합니다.
지역 차단(Geoblocking)도 단 하나의 주문이 실행되기 전, 바로 이 단계에서 가장 먼저 나타날 가능성이 높습니다. 계정의 지역이 제한된 경우, 주문 단계가 아닌 setup이나 deposit에서 실패로 나타나는 것이 일반적입니다. 자금을 충전한 후가 아닌 전에 mm predict geoblock을 확인하세요(팁 6에서 자세히 설명). null 결과를 정상으로 간주하지 마세요. 지역 차단 확인은 제한된 계정에 대해 null을 반환할 수 있으며, 에이전트는 현재 이를 명시적인 허용과 안정적으로 구분하지 못합니다. 실제로는 동일한 의미이더라도 마찬가지입니다. 달리 확인되기 전까지는 불명확한 결과를 차단된 것과 동일하게 취급하세요.
2. Guard Mode의 감시를 받지 않는 것은 입금이나 정산이 아닌 주문임을 인지하세요
이는 스왑의 패턴이 아닌 Agent Wallet에서의 무기한 선물 거래와 동일한 패턴입니다. 단, 예측 시장에서는 한쪽 끝이 아닌 중간 단계가 오프체인입니다. MetaMask의 출금 정책은 "입금(예: Uniswap, Polymarket, 또는 Hyperliquid)"을 24시간 롤링 출금 한도에 포함되는 항목으로 명시하고 있으며, Hyperliquid와 마찬가지로 Polymarket이 명시적으로 언급되어 있습니다. 즉, 예측 입금 지갑으로의 충전 트랜잭션이 Guard Mode의 출금 한도, 허용 목록, 2단계 인증의 평가 대상입니다. mm predict place와 mm predict cancel은 Polymarket 주문장에 대한 동기식 호출로, EVM 트랜잭션이 아니므로 규모에 관계없이 해당 보안 장치의 검사를 받지 않습니다.
정산은 별도로 언급할 필요가 있습니다. mm predict redeem은 mm predict setup 및 mm predict deposit에 사용되는 것과 동일한 작업 기반 패턴인 --wait와 함께 문서화되어 있으며, 아키텍처 페이지에서는 이를 시뮬레이션, 위협 스캔, 정책 평가를 거치는 서명 또는 트랜잭션 요청의 특징으로 설명합니다. 이는 결과 확정 포지션 청구가 주문 실행이나 취소와 같은 오프체인 주문장 작업이 아닌 실제 온체인 트랜잭션임을 강력히 시사합니다. 따라서 정산 단계를 주문과 동일하게 취급하지 말고 입금과 동일한 수준의 주의를 기울이세요.
위협 스캔은 출금 한도처럼 단계별로 분리되지 않는 유일한 보안 장치입니다. 거래 모드 비교에 따르면 Guard Mode와 Beast Mode 모두에 적용되며, 출금 한도와 허용 목록만 Guard Mode 전용입니다. 이는 서버 지갑 모드에 적용되며, 거래 모드는 자체 지갑(BYOW) 설정에는 적용되지 않습니다. 실질적인 의미는 다음과 같습니다. 단일 주문을 실행하는 트레이더는 주문 실행 시점에 출금 한도를 고려할 필요가 없지만, 입금 지갑 충전과 이후 당첨금 청구는 해당 규율이 여전히 적용되는 두 시점입니다.
3. --limit-price는 미리보기용, --price는 주문 실행용으로 서로 대체 불가합니다
mm predict quote는 특정 가격에서의 비용을 미리보기 위한 선택적 --limit-price를 사용합니다. mm predict place는 해당 플래그를 전혀 허용하지 않으며, 트레이더가 수용할 주당 최저 체결 가격을 0에서 1 사이의 값으로 나타내는 --price가 필요합니다. 두 플래그는 유사해 보이고 모두 비용에 영향을 미치지만, 하나는 미리보기 전용 입력값이고 다른 하나는 실제 주문의 실행 경계값입니다. 견적 명령어의 플래그를 주문 실행 명령어에 그대로 복사하면 동일한 작업을 수행하는 대신 오류가 발생합니다.
4. 기본값이 맞지 않을 때만 틱 크기를 재정의하세요
mm predict quote와 mm predict place 모두 시장의 기본 가격 단위를 재정의하기 위한 --tick-size를 허용합니다. 유효한 값은 0.1, 0.01, 0.005, 0.0025, 0.001, 0.0001이며, 플래그를 생략하면 해당 토큰에 대한 CLOB의 자체 틱 크기가 기본값으로 적용됩니다. 이 목록 외의 값을 입력하면 INVALID_TICK_SIZE가 반환됩니다. 대부분의 시장에서는 기본값이 적합하며, 이 플래그는 트레이더가 시장 기본값보다 더 세밀하거나 더 큰 가격 단위가 필요한 경우를 위해 존재합니다.
5. 즉시 체결이 얼마나 필요한지에 따라 주문 유형을 선택하세요
mm predict place는 기본적으로 GTC(취소 전 유효)로 설정되어 체결되거나 취소될 때까지 주문장에 유지됩니다. GTD(지정일까지 유효)는 --expiration 타임스탬프가 필요합니다. FOK(즉시 전량 체결 또는 취소)와 FAK(즉시 체결 가능 수량 체결 후 나머지 취소)는 모두 즉시 체결을 요구하며, FOK는 전량 또는 취소, FAK는 즉시 체결 가능한 수량만 체결하고 나머지는 취소합니다. 두 유형 모두 주문장을 교차하는 주문을 거부하는 --post-only와 함께 사용할 수 없습니다.
요청한 가격에 전량 체결이 불가능한 FOK 주문은 PREDICT_ORDER_NOT_FILLED를 반환하며, --size 또는 --price 조정, 주문장 확인, 또는 GTC로 전환을 권장하는 힌트가 제공됩니다. "지금 당장 전량 체결 가능한 경우에만 매수해줘"라는 요청은 FOK를 요구하는 것이고, "이 가격 이하로 언제든 이 포지션에 진입해줘"는 GTC를 요구하는 것입니다. 두 유형을 혼동하면 트레이더가 원하는 인내심 있는 주문 대신 거부된 주문이 발생합니다.
6. 베팅 규모를 정하기 전에 유동성과 지역 차단을 확인하세요
mm predict book은 토큰의 주문장을 반환하므로, 주문 실행 전에 특정 규모가 현실적인지 확인할 수 있습니다. 요청이 거래소 최소 수량 미만일 경우 PREDICT_ORDER_SIZE_TOO_SMALL이 발생하며, --size 증가를 권장하는 힌트가 제공됩니다.
별도로, mm predict geoblock은 자금 이동 전에 계정 IP에 대한 Polymarket의 지역 차단 상태를 확인합니다. 두 가지 오류 코드는 지갑 레이어가 아닌 Polymarket 레이어에서 이 제한이 적용됨을 반영합니다. PREDICT_GEOBLOCKED는 지역 차단 API에 따라 해당 지역이 차단된 경우이고, PREDICT_UNAVAILABLE_FOR_LEGAL_REASONS는 Polymarket이 HTTP 451 법적 제한을 반환하는 경우입니다. 두 경우 모두 MetaMask의 정책 결정이 아니며 Guard Mode 대 Beast Mode로 변경되는 사항이 아닙니다. 이는 CLI를 통해 표시되는 Polymarket 자체의 지역별 이용 가능 여부입니다.
7. 드라이 런 기능은 없으며, 견적 조회가 가장 가까운 미리보기입니다
--dry-run으로 서명 없이 주문을 검증할 수 있는 mm perps open과 달리, mm predict place에는 명령어 레퍼런스에 동등한 플래그가 없습니다. 주문을 미리 확인하는 가장 가까운 방법은 mm predict quote로, 주문장에 영향을 주지 않고 특정 가격과 수량에서의 비용을 미리 볼 수 있습니다. 이는 가격에 대한 실제 미리보기이지, 주문 체결 여부에 대한 시뮬레이션이 아닙니다. 견적이 적절해 보여도 실제 place 호출이 실행되기 전에 시장이 움직일 수 있습니다.
8. 정산은 별도의 명시적 단계이며, 워크플로우에서 두 번째 실제 트랜잭션입니다
결과 확정된 당첨 포지션은 한 단계로 사용 가능한 잔액으로 전환되지 않습니다. mm predict redeem list는 현재 정산 가능한 결과 확정 포지션을 표시하고, mm predict redeem --wait 또는 mm predict redeem --all --wait로 하나 또는 전체를 청구할 수 있습니다. 단, 이렇게 하면 당첨금이 트레이더의 메인 지갑이 아닌 예측 입금 지갑 내 pUSD로 이동합니다. 여기서 인식해둘 두 가지 오류 코드가 있습니다. PREDICT_REDEEM_NONE은 현재 정산 가능한 항목이 없다는 의미이고, PREDICT_REDEEM_NOT_FOUND는 입력한 특정 조건 ID가 유효한 정산 대상이 아니라는 의미로, 동일한 ID를 재시도하는 대신 redeem list를 다시 확인해야 한다는 신호입니다.
해당 pUSD를 사용 가능한 잔액으로 출금하려면 추가적인 별도 단계가 필요합니다. mm predict withdraw --amount . 정산 후 이 단계를 건너뛰면 당첨금이 예측 지갑에 남아 있는데도 베팅이 "출금 완료"된 것으로 착각하기 쉽습니다. PREDICT_WITHDRAW_ZERO는 금액이 0이거나 누락된 경우에 발생하고, PREDICT_WITHDRAW_INSUFFICIENT_BALANCE는 예측 지갑에 요청한 출금액을 충당할 pUSD가 부족할 때 발생합니다.
정산은 입금과 마찬가지로 오프체인 주문장 작업이 아닌 실제 트랜잭션처럼 동작합니다. mm predict place나 mm predict cancel과 달리 mm predict setup 및 mm predict deposit와 동일한 --wait 작업 패턴으로 문서화되어 있습니다. 팁 2에서 설명한 것과 동일한 주의를 기울이세요.
9. 히스토리와 포지션은 서로 다른 용도로 사용하고, 쿼리에 맞는 정렬 필드를 선택하세요
mm predict positions는 현재 열려 있는 포지션을 표시합니다. mm predict history는 별도의 종료된 포지션 조회 기능으로, 기본적으로 서명된 pnl이 있는 종료 포지션을 표시하며, --type trade 또는 --type redeem으로 전환하면 체결 또는 청구 활동을 볼 수 있습니다. --start와 --end는 --type이 trade 또는 redeem일 때만 필터링되며, 기본 종료 포지션 조회에는 자동으로 적용되지 않습니다. 정렬 필드도 유형별로 다릅니다. 종료 포지션은 realizedpnl, title, price, avgprice, timestamp로 정렬되고, 거래 및 정산 활동은 timestamp, tokens, cash로 정렬됩니다. 잘못된 목록의 정렬 필드를 입력하면 PREDICT_HISTORY_INVALID_SORT_BY가 반환됩니다. "규모 순으로 정렬된 최대 수익 내역"을 요청할 때는 두 가지 어휘 중 어느 것을 의미하는지 명시해야 합니다.
Agent Wallet이 예측 시장에서 지원하지 않는 기능
실제 범위보다 더 넓게 암시하는 것보다 경계를 명확히 하는 것이 더 유용합니다.
mm predict는 MetaMask의 Mobile 소비자용 Predictions 기능이 아닙니다. 개발자와 에이전트를 위해 구축된 Polymarket과의 별도 CLI 기반 통합으로, 자체 명령어와 전용 입금 지갑을 갖추고 있습니다. Mobile 앱에서 넘어온 트레이더는 두 기능이 잔액, 히스토리, 설정을 공유할 것으로 기대해서는 안 됩니다.
Agent Wallet은 Polymarket의 지역 제한을 우회하거나 재정의하지 않습니다. 지역 차단 및 법적 이용 가능 여부 확인은 Polymarket 레이어에서 이루어지며, 지갑 모드, 거래 모드, 또는 요청 방식에 관계없이 동일하게 적용됩니다.
당첨금은 결과 확정 시 자동으로 정산되지 않습니다. 결과 확정된 당첨 포지션은 mm predict redeem이 실행될 때까지 정산 가능 상태로 유지되며, 트레이더를 대신해 자동으로 청구하는 백그라운드 프로세스는 없습니다.
mm predict 위에 내장된 카피 트레이딩, 포트폴리오 미러링, 또는 커스텀 주문 로직은 없으며, 각 명령어 호출은 단일하고 명시적인 작업입니다. 이러한 상시 로직을 원하는 트레이더는 플러그인으로 구축할 수 있습니다. 이는 설치된 npm 패키지가 동의 기반 권한 하에 CLI에 새 명령어를 추가할 수 있게 해주는 베타 기능이지만, Agent Wallet에 기본 제공되는 기능이 아닌 직접 구축해야 하는 방식입니다.
아니요. 둘 다 Polymarket에서 거래되지만, 별개의 제품입니다. MetaMask Predictions는 MetaMask Mobile에 내장된 소비자용 기능이고, mm predict는 개발자와 에이전트를 위한 Agent Wallet CLI의 자체 명령어 세트로, 별도의 입금 지갑을 사용하며 Mobile 기능과 잔액이나 기록을 공유하지 않습니다.
아니요. 예측 시장 주문의 체결 및 취소는 모두 Polymarket의 오더북에서 오프체인으로 이루어지므로, Guard Mode의 출금 한도, 허용 목록, 또는 2FA의 적용을 받지 않습니다. 입금 지갑에 자금을 충전하는 것이 이러한 보안 장치가 평가하는 EVM 트랜잭션입니다. 이는 퍼페추얼 선물과 동일한 방식이며, 거래 자체가 검토 대상 트랜잭션인 스왑과는 반대입니다. 결제된 포지션을 환매하는 것은 오더북 작업이 아닌 두 번째 실제 트랜잭션처럼 동작하므로(입금과 동일한 --wait 작업 패턴으로 문서화됨), 출금 한도의 적용 대상이 아니더라도 동일한 주의가 필요합니다. 출금 한도는 수익금의 입금이 아닌 지갑에서 나가는 가치를 추적합니다.
--limit-price는 mm predict quote의 미리보기 전용 플래그입니다. mm predict place는 이 플래그를 전혀 허용하지 않으며, 대신 주문이 수락할 주당 최악의 체결 가격인 --price를 요구합니다. 두 플래그 모두 거래 비용에 영향을 미치지만, 서로 바꿔 사용할 수 있는 플래그가 아닙니다.
GTC(기본값)는 체결되거나 취소될 때까지 주문서에 유지되며, 원하는 가격을 기다릴 의향이 있는 트레이더에게 적합합니다. GTD는 만료 시간을 추가합니다. FOK와 FAK는 모두 즉시 체결을 요구하며, 지금 당장 거래가 가능한 경우에만 거래를 원하는 트레이더에게 적합합니다. --post-only는 주문서를 교차하게 되는 주문을 거부하며, FOK 또는 FAK와 함께 사용할 수 없습니다.
자금을 입금하기 전에 mm predict geoblock을 실행하여 Polymarket의 지역 차단 상태에 대해 계정의 IP를 확인하세요. PREDICT_GEOBLOCKED 및 PREDICT_UNAVAILABLE_FOR_LEGAL_REASONS는 모두 MetaMask 지갑 설정이 아닌 Polymarket 레이어에서 적용되는 제한 사항을 반영합니다.
아니요, 그리고 리딤(redeem)이 마지막 단계도 아닙니다. 해결된 승리 포지션은 자동으로 청구되는 것이 아니라 리딤 가능한 상태가 됩니다. mm predict redeem list를 실행하여 현재 리딤 가능한 항목을 확인한 후, mm predict redeem <CONDITION_ID> --wait 또는 --all --wait를 실행하여 청구하세요. 이렇게 하면 해당 포지션이 트레이더의 메인 지갑에서 사용 가능한 잔액이 아닌, predict 입금 지갑 내 pUSD로 전환됩니다. 이를 메인 지갑으로 이동하려면 추가로 mm predict withdraw --amount <AMOUNT> 명령을 실행해야 합니다.
인출보다는 예치에 가깝습니다. mm predict withdraw는 mm predict place 및 mm predict cancel과 달리 --wait 옵션을 사용하는 작업 기반 패턴을 따르며, 이는 mm predict setup, mm predict deposit, mm predict redeem과 동일합니다. mm predict place와 mm predict cancel은 Polymarket의 오더북에 대한 동기식 호출입니다. 전용 오류 코드로는 PREDICT_WITHDRAW_ZERO와 PREDICT_WITHDRAW_INSUFFICIENT_BALANCE 두 가지가 있습니다.
직접적으로는 불가능합니다. mm predict place에는 --dry-run에 해당하는 기능이 없습니다. mm predict quote가 가장 유사한 미리보기 기능으로, 주문장에 영향을 주지 않고 특정 수량과 가격으로 주문 가격을 산출해 주지만, 실제로 주문이 체결될지 여부를 시뮬레이션하지는 않습니다.