{"id":"c95418de-32be-48bc-b969-9fd47665eeaf","entityType":"agent","slug":"shiorixbot-wallet-connect-skill","name":"wallet-connect","canonicalUrl":"https://xpersona.co/agent/shiorixbot-wallet-connect-skill","canonicalPath":"/agent/shiorixbot-wallet-connect-skill","generatedAt":"2026-04-17T06:10:13.179Z","source":"GITHUB_OPENCLEW","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T05:21:22.124Z","emptyReason":null},"description":"Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. --- name: wallet-connect description: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. license: MIT compatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud.","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 4/15/2026.","installCommand":"git clone https://github.com/shiorixbot/wallet-connect-skill.git","sourceUrl":"https://github.com/shiorixbot/wallet-connect-skill","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/shiorixbot/wallet-connect-skill","kind":"source"}],"safetyScore":89,"overallRank":47.1,"popularityScore":12,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Tri"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T05:21:22.124Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"evm","status":"self-declared"},{"label":"ens","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"evm","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"ens","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:evm|supported|profile capability:ens|supported|profile"}},"adoption":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"medium","updatedAt":"2026-04-15T05:21:22.124Z","emptyReason":null},"stars":2,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"2 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-24T19:44:08.266Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T05:21:22.124Z","lastCrawledAt":"2026-02-24T19:44:08.266Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-25T19:44:08.266Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"git clone https://github.com/shiorixbot/wallet-connect-skill.git","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/snapshot","contractUrl":"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract","trustUrl":"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust"},"curlExamples":["curl -s \"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/snapshot\"","curl -s \"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract\"","curl -s \"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_OPENCLEW","generatedAt":"2026-04-17T06:10:13.179Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/dossier","snapshotUrl":"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/snapshot","contractUrl":"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract","trustUrl":"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"high","updatedAt":"2026-04-15T05:21:22.124Z","emptyReason":null},"readme":"---\nname: wallet-connect\ndescription: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests.\nlicense: MIT\ncompatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud.walletconnect.com). Works with any agent that can run shell commands.\nmetadata:\n  author: shiorixbot\n  version: \"0.2\"\n  repo: https://github.com/shiorixbot/wallet-connect-skill\n---\n\n# Wallet Connect Skill\n\nConnect to user's crypto wallet via WalletConnect v2. Supports EVM chains and Solana.\n\n## Project Structure\n\n```\nwallet-connect-skill/\n├── SKILL.md              # This file — agent instructions\n├── README.md             # Project overview\n├── LICENSE\n├── package.json          # Root deps (runtime + dev)\n├── tsconfig.json         # TypeScript config (noEmit — tsx runs directly)\n├── .env.example          # Required env vars template\n├── .github/workflows/\n│   └── ci.yml            # CI: lint + typecheck + check on Node 20/22\n├── src/\n│   ├── cli.ts            # CLI entry point\n│   ├── types.ts          # Shared TypeScript interfaces\n│   ├── storage.ts        # Session persistence (load/save)\n│   ├── client.ts         # WC SignClient singleton + address lookup\n│   ├── helpers.ts        # Shared utils (ENS, timeout, encoding, account lookup)\n│   └── commands/\n│       ├── pair.ts       # Pairing command\n│       ├── auth.ts       # Authentication (consent sign)\n│       ├── sign.ts       # Message signing (EVM + Solana)\n│       ├── sign-typed-data.ts # EIP-712 typed data signing (EVM only)\n│       ├── send-tx.ts    # Transaction sending (native + token, EVM + Solana)\n│       ├── balance.ts    # Balance checking (EVM + Solana)\n│       ├── health.ts     # Session health detection (wc_ping)\n│       ├── sessions.ts   # Session management (list, whoami, delete)\n│       └── tokens.ts     # Token metadata (addresses, decimals)\n└── references/\n    └── chains.md         # Supported chain IDs and tokens\n```\n\n## Install\n\n```bash\nnpm install\n```\n\nRequires:\n- Node.js ≥ 18\n- `WALLETCONNECT_PROJECT_ID` environment variable set\n\n## Quick Start\n\n```bash\ntsx src/cli.ts <command> [args]\n```\n\n## Commands\n\n### Pair (one-time onboarding)\n```bash\ntsx src/cli.ts pair --chains eip155:1,eip155:42161,solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\n```\nOutput: `{ uri, qrPath, topic }`\n\n### Authenticate (consent sign)\n```bash\ntsx src/cli.ts auth --topic <topic>\n```\nOutput: `{ address, signature, nonce }` after user approves in wallet.\n\n### Check Balances (no wallet interaction)\n```bash\n# All balances for all accounts in a session\ntsx src/cli.ts balance --topic <topic>\n\n# Single chain\ntsx src/cli.ts balance --topic <topic> --chain eip155:42161\n\n# Direct address (no session needed)\ntsx src/cli.ts balance --address 0xC36edF48e21cf395B206352A1819DE658fD7f988 --chain eip155:1\n\n# All sessions, all chains\ntsx src/cli.ts balance\n```\nOutput: `[{ chain, address, balances: [{ token, balance, raw }] }]`\n\nQueries public RPC endpoints — no wallet approval needed.\n\n### List Supported Tokens\n```bash\n# Default: Ethereum mainnet\ntsx src/cli.ts tokens\n\n# Other chains\ntsx src/cli.ts tokens --chain eip155:42161    # Arbitrum\ntsx src/cli.ts tokens --chain eip155:10       # Optimism\ntsx src/cli.ts tokens --chain eip155:137      # Polygon\ntsx src/cli.ts tokens --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\n```\nOutput: `{ chain, tokens: [{ symbol, name, decimals, address }] }`\n\n### Delete Session\n```bash\ntsx src/cli.ts delete-session --topic <topic>\ntsx src/cli.ts delete-session --address 0xADDRESS\n```\nRemoves the session from `~/.agent-wallet/sessions.json`.\nOutput: `{ status: \"deleted\", topic, peerName, accounts }`\n\n### Check Session Health\n```bash\n# Ping a specific session\ntsx src/cli.ts health --topic <topic>\ntsx src/cli.ts health --address 0xADDR\n\n# Ping all sessions\ntsx src/cli.ts health --all\n\n# Ping all and remove dead sessions automatically\ntsx src/cli.ts health --all --clean\n```\n\nOutput:\n```json\n{\n  \"checked\": 2,\n  \"alive\": 1,\n  \"dead\": 1,\n  \"cleaned\": 1,\n  \"sessions\": [\n    { \"topic\": \"abc123…\", \"peerName\": \"Gem Wallet\", \"accounts\": [\"0xC36ed…\"], \"alive\": true },\n    { \"topic\": \"def456…\", \"peerName\": \"MetaMask\", \"accounts\": [\"0xABC…\"], \"alive\": false, \"error\": \"ping timeout\" }\n  ]\n}\n```\n\nUses `wc_sessionPing` (15s timeout per session). A dead session means the wallet is offline or the session was disconnected — safe to `--clean`.\n\n### Send Transaction\n```bash\n# EVM: send ETH (supports ENS names)\ntsx src/cli.ts send-tx --topic <topic> --chain eip155:1 \\\n  --to vitalik.eth --amount 0.01\n\n# EVM: send USDC on Arbitrum\ntsx src/cli.ts send-tx --topic <topic> --chain eip155:42161 \\\n  --to 0xRECIPIENT --token USDC --amount 5.0\n\n# EVM: send WETH on Optimism\ntsx src/cli.ts send-tx --topic <topic> --chain eip155:10 \\\n  --to 0xRECIPIENT --token WETH --amount 0.01\n\n# EVM: send DAI on Polygon\ntsx src/cli.ts send-tx --topic <topic> --chain eip155:137 \\\n  --to 0xRECIPIENT --token DAI --amount 100.0\n\n# Solana: send native SOL\ntsx src/cli.ts send-tx --topic <topic> --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp \\\n  --to <PUBKEY> --amount 0.01\n\n# Solana: send SPL USDC\ntsx src/cli.ts send-tx --topic <topic> --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp \\\n  --to <PUBKEY> --token USDC --amount 1.0\n```\n\n### Sign Message\n```bash\n# EVM (personal_sign)\ntsx src/cli.ts sign --topic <topic> --message \"Hello World\"\n\n# Solana (solana_signMessage, bs58-encoded)\ntsx src/cli.ts sign --topic <topic> --message \"Hello World\" --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\n```\n\n### Sign Typed Data (EIP-712)\nSigns structured data via `eth_signTypedData_v4`. EVM only.\n\n```bash\n# Inline JSON\ntsx src/cli.ts sign-typed-data --topic <topic> --data '{\"domain\":{\"name\":\"MyApp\",\"version\":\"1\",\"chainId\":1},\"types\":{\"Mail\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"contents\",\"type\":\"string\"}]},\"message\":{\"from\":\"0xabc...\",\"contents\":\"Hello\"}}'\n\n# From file\ntsx src/cli.ts sign-typed-data --topic <topic> --data @/path/to/typed-data.json\n\n# Explicit chain\ntsx src/cli.ts sign-typed-data --topic <topic> --data @payload.json --chain eip155:137\n```\n\n`primaryType` is inferred automatically from the `types` object (first non-`EIP712Domain` key) if not provided.\n\nOutput: `{ status, address, signature, chain, primaryType }`\n\n## Features\n\n### ENS Resolution\nEVM `--to` addresses accept ENS names (e.g. `vitalik.eth`). Resolved via viem + Ethereum mainnet RPC. Resolution is logged to stderr.\n\n### Solana Priority Fees\nSolana transactions automatically include priority fees. Fetches recent prioritization fees from RPC and uses the median (p50) value via `ComputeBudgetProgram.setComputeUnitPrice`. Skips gracefully if RPC fails.\n\n### Request Timeout\nAll wallet requests (auth, sign, send-tx) poll every 10 seconds with status updates to stderr. Timeout after 5 minutes if the user doesn't respond in their wallet.\n\n## Onboarding Workflow\n\nWhen user asks to pair their wallet:\n\n1. Run `pair` → get URI + QR path\n2. Send **two messages** to the user:\n   - **Message 1:** \"🔗 Pair your wallet\" + QR code image as attachment\n   - **Message 2:** The raw `wc:` URI wrapped in backticks (tap-to-copy on mobile)\n3. User scans QR or copies URI into wallet app → approves pairing\n4. Run `auth` → wallet receives consent sign request\n5. User approves → agent stores session topic + verified address\n6. Confirm to user: \"✅ Wallet connected\"\n\n**UX rules:**\n- Message 2 must contain ONLY the backtick-wrapped URI — no other text\n- QR code is for desktop/scanning; URI copy is for mobile users\n- The pair command blocks waiting for approval (5 min timeout)\n- Kill the pair process after receiving the paired response, then run auth separately\n\n## Transaction Workflow\n\n1. Agent decides a payment is needed\n2. Message user: \"Sending X USDC to 0xABC for [reason]. Please approve in your wallet.\"\n3. Run `send-tx` → user gets push notification in wallet\n4. User approves/rejects → agent gets tx hash or rejection\n5. Continue based on outcome\n\n## Background Monitoring\n\nWhen running wallet tasks (pairing, signing, transactions), set up periodic monitoring for pending WalletConnect messages and session events. Poll by re-running the relevant `cli.ts` commands or checking for active `cli.ts` processes.\n\n**OpenClaw agents:** Add a monitor entry to `HEARTBEAT.md`:\n\n```markdown\n## WalletConnect Session Monitor\n- Check for pending WalletConnect messages/events\n- If a signing request result or session event came in, report to user\n- Check running exec sessions related to cli.ts (process list)\n```\n\n**Other agents:** Use whatever periodic task mechanism your platform provides (cron, background loop, etc.) to poll for session updates.\n\n## Supported Tokens\n\nTokens supported out of the box:\n\n| Token | EVM Chains | Solana |\n|-------|-----------|--------|\n| USDC | ETH, Base, Arbitrum, Optimism, Polygon | ✅ Mainnet |\n| USDT | ETH, Optimism, Polygon, BSC | ✅ Mainnet |\n| WETH | ETH, Arbitrum, Base, Optimism, Polygon | — |\n| DAI | ETH, Arbitrum, Base, Optimism, Polygon | — |\n| WBTC | ETH, Arbitrum, Optimism, Polygon | — |\n\n## Adding New Tokens\n\nToken metadata is centralized in `src/commands/tokens.ts`. To add a new token:\n\n1. Open `src/commands/tokens.ts`\n2. Add an entry to the `TOKENS` object:\n\n```ts\nOP: {\n  name: \"Optimism\",\n  decimals: 18,\n  addresses: {\n    \"eip155:10\": \"0x4200000000000000000000000000000000000042\",\n  },\n},\n```\n\n3. The token is immediately available for `send-tx --token OP` and shown in `balance` and `tokens` commands\n\nHelper functions exported from `tokens.ts`:\n- `getTokenAddress(symbol, chainId)` — contract/mint address for a chain\n- `getTokenDecimals(symbol)` — decimal places (defaults to 18)\n- `isSplToken(symbol, chainId)` — check if it's an SPL token\n- `getTokensForChain(chainId)` — list all tokens on a chain\n\n## Session Persistence\n\n- WC client sessions: `~/.agent-wallet/wc-store/` (persistent across runs)\n- App session data: `~/.agent-wallet/sessions.json` (accounts, auth status)\n- Sessions are valid until user disconnects from their wallet\n\n## Development\n\n```bash\nnpm run lint          # oxlint check\nnpm run lint:fix      # oxlint auto-fix\nnpm run format        # oxfmt format\nnpm run format:check  # oxfmt check (CI)\nnpm run typecheck     # TypeScript type checking (tsc --noEmit)\nnpm run check         # Verify CLI loads\n```\n\nCI runs on every push/PR to main (Node 20 + 22).\n\n## Environment\n\n- `WALLETCONNECT_PROJECT_ID` — required\n- `WC_METADATA_NAME` — optional (default: \"Agent Wallet\")\n- `WC_METADATA_URL` — optional (default: \"https://shiorix.com\")\n\n## Chain Reference\n\nSee [references/chains.md](references/chains.md) for supported chain IDs and token addresses.\n","readmeExcerpt":"--- name: wallet-connect description: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. license: MIT compatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud.","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"wallet-connect-skill/\n├── SKILL.md              # This file — agent instructions\n├── README.md             # Project overview\n├── LICENSE\n├── package.json          # Root deps (runtime + dev)\n├── tsconfig.json         # TypeScript config (noEmit — tsx runs directly)\n├── .env.example          # Required env vars template\n├── .github/workflows/\n│   └── ci.yml            # CI: lint + typecheck + check on Node 20/22\n├── src/\n│   ├── cli.ts            # CLI entry point\n│   ├── types.ts          # Shared TypeScript interfaces\n│   ├── storage.ts        # Session persistence (load/save)\n│   ├── client.ts         # WC SignClient singleton + address lookup\n│   ├── helpers.ts        # Shared utils (ENS, timeout, encoding, account lookup)\n│   └── commands/\n│       ├── pair.ts       # Pairing command\n│       ├── auth.ts       # Authentication (consent sign)\n│       ├── sign.ts       # Message signing (EVM + Solana)\n│       ├── sign-typed-data.ts # EIP-712 typed data signing (EVM only)\n│       ├── send-tx.ts    # Transaction sending (native + token, EVM + Solana)\n│       ├── balance.ts    # Balance checking (EVM + Solana)\n│       ├── health.ts     # Session health detection (wc_ping)\n│       ├── sessions.ts   # Session management (list, whoami, delete)\n│       └── tokens.ts     # Token metadata (addresses, decimals)\n└── references/\n    └── chains.md         # Supported chain IDs and tokens"},{"language":"bash","snippet":"npm install"},{"language":"bash","snippet":"tsx src/cli.ts <command> [args]"},{"language":"bash","snippet":"tsx src/cli.ts pair --chains eip155:1,eip155:42161,solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"},{"language":"bash","snippet":"tsx src/cli.ts auth --topic <topic>"},{"language":"bash","snippet":"# All balances for all accounts in a session\ntsx src/cli.ts balance --topic <topic>\n\n# Single chain\ntsx src/cli.ts balance --topic <topic> --chain eip155:42161\n\n# Direct address (no session needed)\ntsx src/cli.ts balance --address 0xC36edF48e21cf395B206352A1819DE658fD7f988 --chain eip155:1\n\n# All sessions, all chains\ntsx src/cli.ts balance"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"GITHUB OPENCLEW","editorialOverview":"Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. --- name: wallet-connect description: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. license: MIT compatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud.","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":397,"uniquenessScore":63,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T05:21:22.124Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T05:21:22.124Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-04-17T06:10:13.179Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_openclew","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}