OpenClaw x Polymarket: 자동화된 무역 기계를 만드는 방법을 가르치는 손

Polymarket은 무엇입니까?
Polymarket은 세계에서 가장 큰 예측 시장이며, 사용자가 행사의 확률을 거래 할 수 있습니다. - 스포츠 경쟁에서 정치 선거, 암호화 된 돈 가격에서 과학 및 기술 뉴스. 거래가 "dual power": "yes"또는 "no" 토큰을 구입하고 결과가 발생하면 보상됩니다.
그것의 핵심 힘은:
- 완전히 탈중앙화.: Polygon chain에 기반한 개방 및 투명
- 실시간 가격 discovery: 시장 예측은 전통적인 설문 조사보다 더 정확합니다.
- API 오픈: 자동화된 거래를 지원하는 완전한 거래 API 제공
지원하다
Python 의존 설치
우리는 그것을 필요로 합니다. py-clob-client 이 공식 SDK:
pip install py-clob-client requests python-dotenv
2. 지갑과 API 열쇠에 접근
Polymark는 인증의 두 가지 유형을 지원합니다:
- EOA 지갑(가스로 직접 지불)
- 프록시 지갑(Gasless 거래)
다음은 가장 간단한 방법입니다 -- EOA 지갑:
- Polygon 지갑 만들기 (MetaMask로 권장)
- 계좌정보 장바구니(무역용) 및 작은 사이트맵(가스용)
- 지갑을 위해. 개인 키
- SDK 사용
create_or_derive_api_creds()API 바우처를 자동으로 생성하는 방법
3. OpenClaw 환경
메뉴 닫기 exec 도구는 Python 코드를 실행하고이 자동화 된 스크립트를 실행하기 위해 잘 적응됩니다.
핵심코드 달성
Basic: 시장 + 자동 목록 모니터
import os
import time
import requests
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import OrderArgs, OrderType
from py_clob_client.order_builder.constants import BUY, SELL
HOST = "https://clob.polymarket.com"
CHAIN_ID = 137
PRIVATE_KEY = os.getenv("POLYMARKET_PRIVATE_KEY")
FUNDER_ADDRESS = os.getenv("POLYMARKET_FUNDER")
def init_client():
temp_client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID)
api_creds = temp_client.create_or_derive_api_creds()
client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID, creds=api_creds, signature_type=0, funder=FUNDER_ADDRESS)
return client
def get_markets(tag=None, limit=10):
url = "https://gamma-api.polymarket.com/markets"
params = {"active": "true", "closed": "false", "limit": limit}
if tag:
params["tagName"] = tag
resp = requests.get(url, params=params)
return resp.json()
def get_price(token_id):
url = f"https://gamma-api.polymarket.com/markets/{token_id}/price"
resp = requests.get(url)
return resp.json()
def place_order(client, token_id, price, size, side=BUY):
order = client.create_and_post_order(
OrderArgs(token_id=token_id, price=price, size=size, side=side, order_type=OrderType.GTC),
options={"tick_size": "0.01", "neg_risk": False}
)
return order
진행: 평균 수익 전략 기계 사람들
이 전략의 중앙 아이디어는 평균 가격에서 탈선 할 때 자동으로 구입하고 반환을 기다립니다.
import logging
import time
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
class MeanReversionBot:
def __init__(self, client, token_id, threshold=0.1, size=10):
self.client = client
self.token_id = token_id
self.threshold = threshold
self.size = size
def get_mid_price(self):
data = get_price(self.token_id)
return float(data.get("price", 0.5))
def check_and_trade(self):
mid_price = self.get_mid_price()
logger.info(f"当前中间价: {mid_price}")
if mid_price < 0.5 - self.threshold:
logger.info(f"价格偏低,买入!")
order = place_order(self.client, self.token_id, mid_price, self.size, BUY)
logger.info(f"订单已下单: {order}")
elif mid_price > 0.5 + self.threshold:
logger.info(f"价格偏高,卖出!")
order = place_order(self.client, self.token_id, mid_price, self.size, SELL)
logger.info(f"订单已下单: {order}")
else:
logger.info("价格在合理区间,不交易")
def run(self, interval=60):
logger.info(f"机器人启动,监控 token: {self.token_id}")
while True:
try:
self.check_and_trade()
except Exception as e:
logger.error(f"错误: {e}")
time.sleep(interval)
if __name__ == "__main__":
client = init_client()
markets = get_markets(tag="politics", limit=1)
if markets:
token_id = markets[0]["clobTokenIds"][0]
print(f"监控市场: {markets[0]['question']}")
bot = MeanReversionBot(client, token_id, threshold=0.15, size=5)
bot.run(interval=120)
OpenClaw 통합
이 로봇을 OpenClaw에서 실행하는 것은 매우 간단합니다. 위 코드를 저장할 수 있습니다. polymarket_bot.py, 다음 OpenClaw에서 실행:
运行 python polymarket_bot.py
(주)
위험 팁
- 계획된 시장 변동성, 적당한 펀드만 이용하십시오
- 우리는 네트워크를 먼저 테스트하는 것이 좋습니다.
- 로봇 거래는 극한을 방지하기 위해 일정한 감시를 요구합니다.
2. API 제한
- 인증 없이 API 열기
- 거래 API는 지갑과 API 키 필요
- 속도 제한을 조심하십시오.
가스 최적화
- EOA 형태는 POL 지불 가스를 요구합니다
- Gasless 거래를 수행하려면 프록시 지갑에 적용할 수 있습니다.