Skip to main content
首先确定账户的钱包类型。然后,你可以连接现有的 Polymarket 账户,或为用户创建新账户。

钱包类型

存款钱包(Deposit Wallet)是 Polymarket 交易使用的默认智能钱包。钱包类型取决于账户钱包的创建方式和时间。

连接你的账户

连接现有的 polymarket.com 账户,以使用其中的资金和仓位进行交易。从个人资料菜单复制账户钱包地址:
移动端 Polymarket 个人资料菜单中显示的账户钱包地址
在 polymarket.com → Settings → API Keys → Relayer API Keys 下创建 Relayer API 密钥:
从 Polymarket 设置中创建 Relayer API 密钥
此密钥授权账户执行免 Gas 钱包操作。复制创建后显示的 Signer AddressAPI Key
准备好钱包地址和 Relayer API 密钥后,使用 createSecureClient 连接账户。
1

创建安全客户端

首先,提供签名者和账户钱包。包含 Relayer API 密钥,以授权免 Gas 钱包操作。
此示例使用 Viem 和私钥。要连接其他受支持钱包库中的签名者,请参阅钱包集成
2

检查账户

然后,检查解析出的账户身份和钱包类型。client.account 包含当前会话的签名者、账户钱包和钱包类型。
至此,你已成功连接账户。

创建新账户

创建一个 polymarket.com 账户作为 Builder 账户。它代表你的集成,并拥有用于为用户创建存款钱包的 Builder 资料和 API 凭据。每个钱包仍由其签名者控制。 在 Builder 账户中,打开 polymarket.com → Settings → Builders 并创建 API 密钥:
打开 Settings,选择 Builders,然后创建 Builder API 密钥
复制生成的 Builder API 密钥、密钥 Secret 和口令
复制创建后显示的 API KeySecretPassphrase
Builder API 凭据属于敏感信息。请将其保存在服务器上,切勿公开或分享。
准备好 Builder API 密钥后,使用 createSecureClient 创建新账户。
1

创建存款钱包

首先,使用签名者和 Builder API 密钥创建 SecureClient。SDK 会派生签名者的存款钱包地址并自动部署该钱包。
此示例使用 Viem 和私钥。要连接其他受支持钱包库中的签名者,请参阅钱包集成
2

检查账户

然后,检查解析出的账户身份和钱包类型。client.account 包含当前会话的签名者、账户钱包和钱包类型。
至此,你已成功创建新账户。

执行免 Gas 交易

无需支付 Gas,即可从账户钱包授权代币支出、转移资金和管理仓位。
SecureClient 为受支持的钱包操作提供了具名方法。每个方法都会返回 TransactionHandle;调用 .wait() 等待操作完成。使用 Relayer 或 Builder API 密钥创建 SecureClient
使用与你要执行的钱包操作相对应的方法:授权 ERC-20 支出设置合约从账户钱包支出 ERC-20 代币的额度。传入 "max" 以授权最大金额。
授权 ERC-1155 操作员允许操作员管理账户钱包持有的所有 ERC-1155 代币。将 approved 设置为 false 可撤销访问权限。
转移 ERC-20 代币从账户钱包转移 ERC-20 代币。amount 以代币的基本单位表示。

设置交易授权

设置 ERC-20 和 ERC-1155 授权,使 Polymarket 的交易所合约能够在下单时支出账户钱包中的 pUSD 和条件代币。对于存款钱包、Safe Wallet 和 Proxy Wallet,这些授权会以免 Gas 交易的形式提交。
使用 Relayer 或 Builder API 密钥创建 SecureClient
调用 setupTradingApprovals() 配置所需额度:
该方法会检查现有授权,并只提交缺少的授权,因此可以安全地多次调用。下单时可以自动补全缺少的额度。提前设置可避免在首次下单时执行这项工作。

高级选项

探索适用于高级集成的其他钱包和身份验证模式。

派生存款钱包地址

如果需要在部署前计算存款钱包地址,请使用以下确定性派生算法。
2026 年 6 月 29 日升级之前部署的存款钱包使用 UUPS 代理。升级后部署的存款钱包使用信标代理。以下算法派生使用信标代理的新存款钱包地址。
当前存款钱包工厂和信标请参阅合约地址

设置 EOA 交易

如果你的 EOA 已列入交易白名单,可将其用作账户钱包。所有链上操作(包括代币授权、ERC-20 转账、拆分、合并和赎回)都直接从 EOA 提交,并需要使用 POL 支付 Gas。
将签名者地址作为 wallet 传入。SDK 会将账户识别为 EOA,并跳过存款钱包部署。
approveErc20()approveErc1155ForAll()transferErc20() 和仓位生命周期方法等会直接从签名者提交交易。例如,设置所有必需的交易授权:

远程 Builder 签名

远程 Builder 签名将 Builder API 凭据保存在你的服务器上,同时允许 TypeScript 客户端为需要 Builder 身份验证的操作请求已签名的请求头。
1

创建签名端点

在服务器上验证调用方身份并进行授权,然后对客户端提供的请求详情进行签名。
2

连接客户端

将用户的签名者和签名端点传给客户端。使用应用程序的会话凭据或自定义请求头验证签名请求。
Builder API 凭据保留在服务器上;客户端只会收到当前授权请求的请求头。

退出信标升级

2026 年 6 月 29 日之后部署的存款钱包使用 ERC-1967 信标代理。此代理模式通过共享信标为多个钱包解析实现,使 Polymarket 可以在不更改钱包地址的情况下推送实现升级。钱包所有者也可以选择退出,将钱包固定到退出时的当前实现。以下仅限所有者执行的调用会直接提交,并需要使用 POL 支付 Gas。
退出的钱包不会收到未来通过信标升级提供的安全修复、错误修复或新功能。退出前,请审查当前实现并承担维护钱包的责任。
1

暂停钱包

由钱包所有者发送直接链上交易,调用存款钱包的 pause()
2

等待时间锁

从存款钱包工厂读取 timelockDelay(),并在钱包暂停后等待该时间间隔结束。
3

退出

由钱包所有者发送另一笔交易,调用存款钱包的 optOut()。这会将钱包固定到交易执行时的当前信标实现。
4

取消暂停钱包

由钱包所有者调用 unpause(),清除暂停状态。
要恢复接收信标升级,请重复暂停和时间锁步骤,调用 optIn(),然后取消暂停钱包。重新加入前,请审查信标当前的默认实现。