Polymarket 出于监管要求和遵守国际制裁,对某些地理位置的订单下单进行严格限制。来自受限地区的订单将被直接拒绝。开发者建议:在构建应用程序前,务必验证用户 IP 位置,并在用户尝试交易前提供清晰反馈(如提示“您的地区暂不支持交易”)。这样可避免用户提交无效请求并提升体验。服务器基础设施

  • 主服务器:eu-west-2(欧洲西部-2)
  • 最近的非地理限制区域:eu-west-1(欧洲西部-1)

地理阻塞检查端点(Geoblock Endpoint)使用以下公共端点检查请求 IP 的地理资格(无需任何认证,任何人都可调用):

GET https://polymarket.com/api/geoblock

响应格式(JSON)

json

{
  "blocked": boolean,
  "ip": string,
  "country": string,
  "region": string
}
字段类型描述
blockedboolean是否被禁止下单(true 表示受限)
ipstring检测到的 IP 地址
countrystringISO 3166-1 alpha-2 国家代码
regionstring地区/州代码(若适用)

示例响应:

json

{
  "blocked": true,
  "ip": "123.45.67.89",
  "country": "KR",
  "region": ""
}

完全受限国家(Blocked Countries)以下 33 个国家 完全禁止在 Polymarket 上提交订单(包括 CLOB API 下单):

国家代码国家名称
AU澳大利亚
BE比利时
BY白俄罗斯
BI布隆迪
CF中非共和国
CD刚果(金夏沙)
CU古巴
DE德国
ET埃塞俄比亚
FR法国
GB英国
IR伊朗
IQ伊拉克
IT意大利
KP朝鲜
LB黎巴嫩
LY利比亚
MM缅甸
NI尼加拉瓜
PL波兰
RU俄罗斯
SG新加坡
SO索马里
SS南苏丹
SD苏丹
SY叙利亚
TH泰国
TW台湾
UM美国本土外小岛屿
US美国
VE委内瑞拉
YE也门
ZW津巴布韦

部分受限地区(Blocked Regions)即使所在国家整体可访问,以下特定地区也被完全限制:

国家地区地区代码
加拿大 (CA)安大略省ON
乌克兰 (UA)克里米亚43
乌克兰 (UA)顿涅茨克14
乌克兰 (UA)卢甘斯克09

开发者集成示例(Usage Examples)TypeScript / JavaScript

typescript

interface GeoblockResponse {
  blocked: boolean;
  ip: string;
  country: string;
  region: string;
}

async function checkGeoblock(): Promise<GeoblockResponse> {
  const response = await fetch("https://polymarket.com/api/geoblock");
  if (!response.ok) {
    throw new Error("Geoblock check failed");
  }
  return response.json();
}

// 使用示例(在下单前调用)
const geo = await checkGeoblock();
if (geo.blocked) {
  console.log(`Trading not available in ${geo.country}${geo.region ? ` (${geo.region})` : ''}`);
  // 显示错误提示给用户
} else {
  console.log("Trading available, proceeding to place order...");
  // 继续提交订单
}

Python 示例

python

import requests

def check_geoblock() -> dict:
    response = requests.get("https://polymarket.com/api/geoblock")
    response.raise_for_status()  # 抛出 HTTP 错误
    return response.json()

# 使用示例
geo = check_geoblock()
if geo["blocked"]:
    print(f"Trading not available in {geo['country']}{(' (' + geo['region'] + ')') if geo['region'] else ''}")
else:
    print("Trading available")

核心提醒(开发者专属):

  • 来自受限 IP 的任何下单请求(POST /order 等)都会被 CLOB API 直接拒绝,返回 403 Forbidden 或类似错误。
  • 建议在前端/后端预检查 geoblock 端点,避免用户浪费 gas 或遇到硬拒绝。
  • 地理限制基于IP 地址检测,可能因 VPN、代理或移动网络而变化。
  • 如果你的用户主要在韩国(KR),当前文档显示韩国未列入完全受限国家列表,但请实时调用 geoblock 端点确认(因为监管政策可能随时变化)。

这份地理限制文档是 CLOB API 开发中必须遵守的部分。集成 geoblock 检查,能显著提升应用的用户体验和合规性。