# Send Polygon Agents SDK to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "polygon-agents-sdk",
    "name": "Polygon Agents SDK",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/JamesLawton/polygon-agents-sdk",
    "canonicalUrl": "https://clawhub.ai/JamesLawton/polygon-agents-sdk",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/polygon-agents-sdk",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=polygon-agents-sdk",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "QUICKSTART.md",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "polygon-agents-sdk",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T04:19:46.708Z",
      "expiresAt": "2026-05-10T04:19:46.708Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=polygon-agents-sdk",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=polygon-agents-sdk",
        "contentDisposition": "attachment; filename=\"polygon-agents-sdk-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "polygon-agents-sdk"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/polygon-agents-sdk"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/polygon-agents-sdk",
    "downloadUrl": "https://openagent3.xyz/downloads/polygon-agents-sdk",
    "agentUrl": "https://openagent3.xyz/skills/polygon-agents-sdk/agent",
    "manifestUrl": "https://openagent3.xyz/skills/polygon-agents-sdk/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/polygon-agents-sdk/agent.md"
  }
}
```
## Documentation

### Prerequisites

Node.js 20+
Install globally: npm install -g github:0xPolygon/polygon-agent-kit
Entry point: polygon-agent <command>
Storage: ~/.polygon-agent/ (AES-256-GCM encrypted)

### Architecture

WalletCreated byPurposeFund?EOAsetupAuth with Sequence BuilderNOEcosystem Walletwallet createPrimary spending walletYES

### Required

VariableWhenSEQUENCE_PROJECT_ACCESS_KEYWallet creation, swapsSEQUENCE_INDEXER_ACCESS_KEYBalance checks

### Optional

VariableDefaultSEQUENCE_ECOSYSTEM_CONNECTOR_URLhttps://agentconnect.polygon.technology/SEQUENCE_DAPP_ORIGINSame as connector URL originTRAILS_API_KEYFalls back to SEQUENCE_PROJECT_ACCESS_KEYTRAILS_TOKEN_MAP_JSONToken-directory lookupPOLYGON_AGENT_DEBUG_FETCHOff — logs HTTP to ~/.polygon-agent/fetch-debug.logPOLYGON_AGENT_DEBUG_FEEOff — dumps fee options to stderr

### Complete Setup Flow

# Phase 1: Setup (creates EOA + Sequence project, returns access key)
node cli/polygon-agent.mjs setup --name "MyAgent"
# → save privateKey (not shown again), eoaAddress, accessKey

# Phase 2: Create ecosystem wallet (auto-waits for browser approval)
export SEQUENCE_PROJECT_ACCESS_KEY=<accessKey>
node cli/polygon-agent.mjs wallet create --usdc-limit 100 --native-limit 5

# Phase 3: Fund wallet
node cli/polygon-agent.mjs fund
# → reads walletAddress from session, builds Trails widget URL with toAddress=<walletAddress>
# → ALWAYS run this command to get the URL — never construct it manually or hardcode any address
# → send the returned \`fundingUrl\` to the user; \`walletAddress\` in the output confirms the recipient

# Phase 4: Verify
export SEQUENCE_INDEXER_ACCESS_KEY=<indexerKey>
node cli/polygon-agent.mjs balances

# Phase 5: Register agent on-chain (ERC-8004, Polygon mainnet)
node cli/polygon-agent.mjs agent register --name "MyAgent" --broadcast
# → mints ERC-721 NFT, emits agentId in Registered event
# → use agentId for reputation queries and feedback

### Setup

polygon-agent setup --name <name> [--force]

### Wallet

polygon-agent wallet create [--name <n>] [--chain polygon] [--timeout <sec>] [--no-wait]
  [--native-limit <amt>] [--usdc-limit <amt>] [--usdt-limit <amt>]
  [--token-limit <SYM:amt>]  # repeatable
  [--usdc-to <addr> --usdc-amount <amt>]  # one-off scoped transfer
  [--contract <addr>]  # whitelist contract (repeatable)
polygon-agent wallet import --ciphertext '<blob>|@<file>' [--name <n>] [--rid <rid>]
polygon-agent wallet list
polygon-agent wallet address [--name <n>]
polygon-agent wallet remove [--name <n>]

### Operations

polygon-agent balances [--wallet <n>] [--chain <chain>]
polygon-agent send --to <addr> --amount <num> [--symbol <SYM>] [--broadcast]
polygon-agent send-native --to <addr> --amount <num> [--broadcast] [--direct]
polygon-agent send-token --symbol <SYM> --to <addr> --amount <num> [--broadcast]
polygon-agent swap --from <SYM> --to <SYM> --amount <num> [--to-chain <chain>] [--slippage <num>] [--broadcast]
polygon-agent deposit --asset <SYM> --amount <num> [--protocol aave|morpho] [--broadcast]
polygon-agent fund [--wallet <n>] [--token <addr>]
polygon-agent x402-pay --url <url> --wallet <n> [--method GET] [--body <str>] [--header Key:Value]

### Agent (ERC-8004)

polygon-agent agent register --name <n> [--agent-uri <uri>] [--metadata <k=v,k=v>] [--broadcast]
polygon-agent agent wallet --agent-id <id>
polygon-agent agent metadata --agent-id <id> --key <key>
polygon-agent agent reputation --agent-id <id> [--tag1 <tag>]
polygon-agent agent reviews --agent-id <id>
polygon-agent agent feedback --agent-id <id> --value <score> [--tag1 <t>] [--tag2 <t>] [--endpoint <e>] [--broadcast]

ERC-8004 contracts (Polygon mainnet):

IdentityRegistry: 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
ReputationRegistry: 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63

### Key Behaviors

Dry-run by default — all write commands require --broadcast to execute
Smart defaults — --wallet main, --chain polygon, auto-wait on wallet create
Fee preference — auto-selects USDC over native POL when both available
fund — reads walletAddress from the wallet session and sets it as toAddress in the Trails widget URL. Always run polygon-agent fund to get the correct URL — never construct it manually or hardcode any address. The returned JSON contains fundingUrl and walletAddress so you can confirm the pre-filled recipient before sharing.
deposit — picks highest-TVL pool via Trails getEarnPools. If session rejects, re-create wallet with --contract <depositAddress>
x402-pay — probes endpoint for 402, smart wallet funds builder EOA with exact token amount, EOA signs EIP-3009 payment. Chain auto-detected from 402 response
send-native --direct — bypasses ValueForwarder contract for direct EOA transfer
Session permissions — without --usdc-limit etc., session gets bare-bones defaults and may not transact

### CRITICAL: Wallet Approval URL

When wallet create outputs a URL in the url or approvalUrl field, you MUST send the COMPLETE, UNTRUNCATED URL to the user. The URL contains cryptographic parameters (public key, callback token) that are required for session approval. If any part is cut off, the approval will fail.

Do NOT shorten, summarize, or add ... to the URL
Do NOT split the URL across multiple messages
Output the raw URL exactly as returned by the CLI

### Callback Modes

The wallet create command automatically starts a local HTTP server and opens a Cloudflare Quick Tunnel (*.trycloudflare.com) — no account or token required. The cloudflared binary is auto-downloaded to ~/.polygon-agent/bin/cloudflared on first use if not already installed. The connector UI POSTs the encrypted session back through the tunnel regardless of where the agent is running. The tunnel and server are torn down automatically once the session is received.

Timing: The approvalUrl is only valid while the CLI process is running. Open it immediately and complete wallet approval within the timeout window (default 300s). Never reuse a URL from a previous run — the tunnel is torn down when the CLI exits.

Manual fallback (if cloudflared is unavailable): The CLI omits callbackUrl so the connector UI displays the encrypted blob in the browser. The CLI then prompts:

After approving in the browser, the encrypted blob will be shown.
Paste it below and press Enter:
> <paste blob here>

The blob is also saved to /tmp/polygon-session-<rid>.txt for reference. To import later:

polygon-agent wallet import --ciphertext @/tmp/polygon-session-<rid>.txt

### Troubleshooting

IssueFixBuilder configured alreadyAdd --forceMissing SEQUENCE_PROJECT_ACCESS_KEYRun setup firstMissing walletwallet list, re-run wallet createSession expiredRe-run wallet create (24h expiry)Fee option errorsSet POLYGON_AGENT_DEBUG_FEE=1, ensure wallet has fundsTimed out waiting for callbackAdd --timeout 600callbackMode: manual (no tunnel)cloudflared unavailable — paste blob from browser when prompted; blob saved to /tmp/polygon-session-<rid>.txt404 on *.trycloudflare.comCLI timed out and tunnel is gone — re-run wallet create, open the new approvalUrl immediately"Auto-send failed" in browserCopy the ciphertext shown below that message; run wallet import --ciphertext '<blob>'Deposit session rejectedRe-create wallet with --contract <depositAddress>Wrong recipient in Trails widgetRun polygon-agent fund (do not construct the URL manually); walletAddress in the output confirms the pre-filled toAddress

### File Structure

~/.polygon-agent/
├── .encryption-key       # AES-256-GCM key (auto-generated, 0600)
├── builder.json          # EOA privateKey (encrypted), eoaAddress, accessKey, projectId
├── wallets/<name>.json   # walletAddress, session, chainId, chain
└── requests/<rid>.json   # Pending wallet creation requests
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: JamesLawton
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-03T04:19:46.708Z
- Expires at: 2026-05-10T04:19:46.708Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/polygon-agents-sdk)
- [Send to Agent page](https://openagent3.xyz/skills/polygon-agents-sdk/agent)
- [JSON manifest](https://openagent3.xyz/skills/polygon-agents-sdk/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/polygon-agents-sdk/agent.md)
- [Download page](https://openagent3.xyz/downloads/polygon-agents-sdk)