{"id":"432564e4-2808-4516-9bc6-6c2c5930903d","entityType":"agent","slug":"clawhub-lidh04-circle-chain","name":"circle chain skill","canonicalUrl":"https://www.xpersona.co/agent/clawhub-lidh04-circle-chain","canonicalPath":"/agent/clawhub-lidh04-circle-chain","generatedAt":"2026-10-11T20:58:07.988Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T16:51:21.143Z","emptyReason":null},"description":"JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth, wallet, block, miner, transfers, contacts. Global CLI binary `circle`. Skill: circle chain skill Owner: lidh04 Summary: JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth, wallet, block, miner, transfers, contacts. Global CLI binary circle. Tags: latest:1.1.2 Version history: v1.1.2 | 2026-06-24T02:04:00.658Z | user 1.1.2 - Adds persistent HTTP config overrides in ~/.ccl/http.config with merging behavior. - New CLI group: circle config show / circle config set","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s178wvjbgx210ctbkegjy7pdad884ca4:circle-chain","sourceUrl":"https://clawhub.ai/lidh04/circle-chain","homepage":"https://clawhub.ai/lidh04/skills/circle-chain","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/lidh04/circle-chain","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/lidh04/skills/circle-chain","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth, wallet, block, miner, transfers, contacts. Global CLI binary `circle`. Skill: cir"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:21.143Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:21.143Z","emptyReason":null},"stars":null,"forks":null,"downloads":1024,"packageName":null,"latestVersion":"1.1.2","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:21.128Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T16:51:21.143Z","lastCrawledAt":"2026-10-11T16:51:21.128Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T16:51:21.128Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.2","createdAt":"2026-06-24T02:04:00.658Z","changelog":"### 1.1.2 - Adds persistent HTTP config overrides in `~/.ccl/http.config` with merging behavior. - New CLI group: `circle config show` / `circle config set` for inspecting and updating HTTP settings. - Implements Node.js-only GeoIP logic: `common.getGatewayHttp()` auto-selects API host (`circle-node.net` for CN, `www.circlecoin.me` otherwise), with sign-off by user config or `CIRCLE_SKIP_GEO=1`. - Exposes new helper functions via the `common` namespace for config paths, merging, and host selection. - Includes new tests for GeoIP/cache/config and live HTTP config structures. - Minor build/tooling: CLI entry gains execute bit via build fixup.","fileCount":3,"zipByteSize":4896},{"version":"1.1.1","createdAt":"2026-03-20T02:12:28.616Z","changelog":"Version 1.1.1 (circle-chain-js-sdk) - Updated documentation to cover global CLI installation via `npm install -g @lidh04/circle-chain-sdk`. - Added usage instructions for the `circle` CLI, including the `--dev` flag and subcommand examples. - Documented development setup and commands for the CLI (e.g., `npm run cli`, direct node execution). - Ensured coverage for CLI usage, development workflow, and key command groups in the README.","fileCount":3,"zipByteSize":3576}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s178wvjbgx210ctbkegjy7pdad884ca4:circle-chain","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://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:58:07.987Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lidh04-circle-chain/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":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T16:51:21.143Z","emptyReason":null},"readme":"Skill: circle chain skill\n\nOwner: lidh04\n\nSummary: JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth, wallet, block, miner, transfers, contacts. Global CLI binary `circle`.\n\nTags: latest:1.1.2\n\nVersion history:\n\nv1.1.2 | 2026-06-24T02:04:00.658Z | user\n\n### 1.1.2\n\n- Adds persistent HTTP config overrides in `~/.ccl/http.config` with merging behavior.\n- New CLI group: `circle config show` / `circle config set` for inspecting and updating HTTP settings.\n- Implements Node.js-only GeoIP logic: `common.getGatewayHttp()` auto-selects API host (`circle-node.net` for CN, `www.circlecoin.me` otherwise), with sign-off by user config or `CIRCLE_SKIP_GEO=1`.\n- Exposes new helper functions via the `common` namespace for config paths, merging, and host selection.\n- Includes new tests for GeoIP/cache/config and live HTTP config structures.\n- Minor build/tooling: CLI entry gains execute bit via build fixup.\n\nv1.1.1 | 2026-03-20T02:12:28.616Z | user\n\nVersion 1.1.1 (circle-chain-js-sdk)\n\n- Updated documentation to cover global CLI installation via `npm install -g @lidh04/circle-chain-sdk`.\n- Added usage instructions for the `circle` CLI, including the `--dev` flag and subcommand examples.\n- Documented development setup and commands for the CLI (e.g., `npm run cli`, direct node execution).\n- Ensured coverage for CLI usage, development workflow, and key command groups in the README.\n\nArchive index:\n\nArchive v1.1.2: 3 files, 4896 bytes\n\nFiles: _meta.json (131b), skill-card.md (2159b), SKILL.md (7672b)\n\nFile v1.1.2:SKILL.md\n\n---\nname: circle-chain-js-sdk\ndescription: JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth,\n  wallet, block, miner, transfers, contacts, HTTP config. Global CLI binary `circle`. Use when\n  working in js-circle-chain-sdk, integrating Circle Chain from Node/browser, or\n  when the user mentions circle-chain SDK, @lidh04/circle-chain-sdk, local mining,\n  or the circle CLI.\n---\n\n# Circle Chain JavaScript SDK\n\n## Package and layout\n\n- **npm**: `@lidh04/circle-chain-sdk` — local dependency: `npm i @lidh04/circle-chain-sdk`\n- **Default export**: an object with namespaces `user`, `wallet`, `block`, `node`, `miner`, `common` — e.g. `import sdk from '@lidh04/circle-chain-sdk'` then `const { user, wallet, miner } = sdk`. README snippets use bare names like `login`, `createWallet`; bind them from the matching namespace (`user.login`, `wallet.createWallet`, etc.).\n- **Source repo**: `src/` — `circle-user.js`, `circle-wallet.js`, `circle-block.js`, `circle-node.js`, `circle-miner.js`, `circle-common.js`; CLI under `src/cli/`.\n\n## Development workflow\n\n1. **Build**: `npm run build` — outputs `dist/cjs` and `dist/mjs` (TypeScript + fixup).\n2. **Tests**: Run `npm run build` before `npm test` when suites need fresh `dist/`. CLI-only: `npm run test:cli` (builds, then Jest matches `dist/cjs/cli`).\n3. **CLI from a clone**: after build, `npm run cli -- <args>` or `node ./dist/mjs/cli/main.js <args>`.\n\n## CLI (Commander.js)\n\nPublished executable name: **`circle`** (see `package.json` `\"bin\"` → `dist/mjs/cli/main.js`).\n\n### Install globally\n\n```bash\nnpm install -g @lidh04/circle-chain-sdk\ncircle --help\n```\n\n### Using `circle`\n\n- **`-d` / `--dev`** — use `http://localhost:8888` instead of production (e.g. `circle --dev user login-send-code --email you@example.com`).\n- Subcommand groups: **user**, **wallet**, **block**, **miner**, **config**. Discover flags with `circle <group> --help`.\n\n```bash\ncircle --help\ncircle user --help\ncircle user login-send-code --email you@example.com\ncircle wallet query public-balance --address <addr>\ncircle block header-list --base-height 0\ncircle miner mine --address <your-miner-address>\ncircle config show\ncircle config set --host your.api.example --timeout-read 8000\n```\n\n### `circle config` (HTTP settings)\n\nUser overrides are stored under **`~/.ccl/`** (or `%USERPROFILE%\\.ccl\\` on Windows) and apply to the Node.js SDK and CLI.\n\n| Command | Purpose |\n| -------- | -------- |\n| `circle config show` | Print **effective** HTTP settings (bundled defaults + `http.config` + Geo hint when applicable). |\n| `circle config set …` | Merge options into **`~/.ccl/http.config`** (JSON). At least one flag required. |\n\nSupported flags for `config set`:\n\n- `--host`, `--protocol` (`http` \\| `https`)\n- `--timeout-read`, `--timeout-write` (milliseconds, non‑negative integers as strings in config)\n- `--retry-count`, `--retry-wait-time`\n- `--ssl-support` (`true` \\| `false`)\n\nExample:\n\n```bash\ncircle config set --host api.example.com --protocol https\n```\n\n### Developing this repo\n\n```bash\nnpm run build\nnpm run cli -- --help\n# or: node ./dist/mjs/cli/main.js --help\n```\n\nCLI tests: `src/cli/*.test.js`; Jest runs compiled tests under `dist/cjs/cli/` per `jest.config.cjs`.\n\n## Programmatic usage patterns\n\nResponses typically include `status` (e.g. `200`), `message`, and `data`. On failure, surface `response.message`.\n\n### Auth (register / login)\n\n1. **Register then password login**: `sendRegisterVerifyCode` → `register` → `login` (email + password).\n2. **Login with verify code only**: `sendVerifyCode` → `login` (email + `verifyCode`).\n\n### Wallet\n\n- **`createWallet()`** — on success, address in `data`.\n\n### Local mining\n\n1. `miner.canMineBlock()` — return early if false.\n2. `miner.fetchMyBlockData(address)` — from `data`: `blockHeaderHexString`, `channelId`.\n3. `miner.mineBlock(blockHeaderHexString, workerCount)` — e.g. `os.cpus().length - 1`; result lines separated by `\\n`; first line is mined header hex.\n4. `miner.postMyBlock({ address, channelId, blockHeaderHexString: minedBlockHeader })`.\n5. Per README: successful block upload rewards **10 cc** (**100,000 li**) to the miner address.\n\n### Pay password\n\n- `sendPayVerifyCode` → `setPayPassword` with `account: { email }`, `verifyCode`, `password`.\n\n### Transfers\n\n- **`sendTo`**: `email`, `from`, `address` (to), `transContent` (`type`, `uuid`, etc.), `payPassword`.\n- **`pay`**: `from`, `to`, `value`, `payPassword`.\n\n### Contacts\n\n- **`addContacts`**: e.g. `email`, `name`, `sex`, `address` (location string in README).\n\n### `common` namespace (HTTP config & GeoIP)\n\nAvailable via `import sdk from '@lidh04/circle-chain-sdk'` then `sdk.common.*`.\n\n**Key exports:**\n\n| Export | Description |\n|--------|------------|\n| `getGatewayHttp()` | Resolve effective HTTP settings (defaults → Geo hint → user `http.config`). Returns object with `host`, `protocol`, `timeoutRead`, `timeoutWrite`, `retryCount`, `retryWaitTime`, `sslSupport`. |\n| `mergeUserHttpConfig(updates)` | Write key/value pairs to `~/.ccl/http.config`. |\n| `getUserHttpConfigPath()` | Return path to `~/.ccl/http.config`. |\n| `clearGatewayHttpCache()` | Invalidate in-memory cache for config and Geo host hint. |\n| `refreshGatewayHttpGeoCache()` | Force refresh GeoIP lookup (Node only). |\n| `gatewayHttpHostForCountry(countryCode)` | Return API host for a given ISO country code (CN → bundled default; others → `GATEWAY_HTTP_HOST_OVERSEAS`). |\n| `GATEWAY_HTTP_CONFIG_KEYS` | Array of accepted config keys. |\n| `GATEWAY_HTTP_HOST_OVERSEAS` | Host string for non-mainland regions: `www.circlecoin.me`. |\n\n**GeoIP behavior (Node.js only):**\n\n- On first call to `getGatewayHttp()` without a valid `~/.ccl/http-geo.cache`, the SDK fetches your public IP country from `https://ipwho.is/`.\n- **CN** country code → keeps the bundled default host (circle-node.net).\n- **Any other** country → uses `www.circlecoin.me` (overseas host).\n- Result is cached to `~/.ccl/http-geo.cache` with a 7-day TTL.\n- Setting an explicit `host` in `http.config` **disables Geo-based host selection**.\n- Disable entirely with environment variable `CIRCLE_SKIP_GEO=1`.\n\n## Versions\n\n### 1.1.2\n- **HTTP config:** user overrides in `~/.ccl/http.config` (JSON); `common.getGatewayHttp()` merges defaults from `circle-gateway.js`, optional Geo-based host hint, then `http.config` (explicit `host` wins and skips Geo for host).\n- **GeoIP (Node):** `~/.ccl/http-geo.cache` populated via `https://ipwho.is/`; mainland **CN** keeps default API host; other regions use **`www.circlecoin.me`**. Disable with **`CIRCLE_SKIP_GEO=1`**. Helpers: `refreshGatewayHttpGeoCache()`, `gatewayHttpHostForCountry()`, `clearGatewayHttpCache()`.\n- **CLI:** `circle config show` / `circle config set` for HTTP settings; build **`fixup`** sets execute bit on CLI `main.js`.\n- **Tests:** shared `expectSdkHttpResult` for live API shape; `circle-common-geo.test.js`; Jest `jest.env.cjs` for `CIRCLE_SKIP_GEO`.\n\n### 1.1.1\n- README: document global CLI install (`npm install -g @lidh04/circle-chain-sdk`), using `circle` with `--dev`, and developing the repo (`npm run cli` / `node ./dist/mjs/cli/main.js`)\n\n### 1.1.0\n\n- CLI (Commander.js) for user, wallet, miner, block; entry **`circle`** / `main.js`.\n- CLI split into `user-command`, `wallet-command`, `miner-command`, `block-command`; user CLI email-only.\n- CLI tests under `src/cli`, Jest runs `dist/cjs/cli`; `circle-node` test import path fix.\n\n### 1.0.22 — security improvements  \n### 1.0.21 — bugfixes  \n### 1.0.20 — local block mining\n\nKeep this skill aligned with repo `README.md` and `package.json` (bin name, exports).\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn71y801nzhazxtj1t2ymyqamn82nd7g\",\n  \"slug\": \"circle-chain\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1782266640658\n}\n\nFile v1.1.2:skill-card.md\n\n## Description:\n\nJavaScript SDK and CLI guidance for Circle Chain, covering user authentication, wallet operations, blocks, mining, transfers, contacts, and HTTP configuration.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[lidh04](https://clawhub.ai/user/lidh04)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill when integrating Circle Chain from Node.js or browser code, using the circle CLI, or maintaining the @lidh04/circle-chain-sdk package.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill relies on an external npm package for wallet, account, transfer, and payment-password workflows.\n\nMitigation: Use a reviewed pinned package version and avoid entering account, wallet, or payment-password data until package provenance and behavior are acceptable.\n\nRisk: The SDK may contact a GeoIP service to choose the gateway host.\n\nMitigation: Set an explicit gateway host or set CIRCLE_SKIP_GEO=1 when automatic GeoIP-based host selection is not desired.\n\nRisk: Global installation exposes the circle command from the trusted package on the local system.\n\nMitigation: Avoid global installation unless the circle command is required; prefer local project installation for scoped use.\n\n## Reference(s):\n\n- [Circle Chain Skill on ClawHub](https://clawhub.ai/lidh04/skills/circle-chain)\n- [Publisher Profile](https://clawhub.ai/user/lidh04)\n- [ipwho.is GeoIP Service](https://ipwho.is/)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline JavaScript and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include CLI commands, SDK usage patterns, and HTTP configuration guidance.]\n\n## Skill Version(s):\n\n1.1.2 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.1: 3 files, 3576 bytes\n\nFiles: skill-card.md (2348b), SKILL.md (4398b), _meta.json (131b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: circle-chain-js-sdk\ndescription: >-\n  JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth,\n  wallet, block, miner, transfers, contacts. Global CLI binary `circle`. Use when\n  working in js-circle-chain-sdk, integrating Circle Chain from Node/browser, or\n  when the user mentions circle-chain SDK, @lidh04/circle-chain-sdk, local mining,\n  or the circle CLI.\n---\n\n# Circle Chain JavaScript SDK\n\n## Package and layout\n\n- **npm**: `@lidh04/circle-chain-sdk` — local dependency: `npm i @lidh04/circle-chain-sdk`\n- **Default export**: an object with namespaces `user`, `wallet`, `block`, `node`, `miner`, `common` — e.g. `import sdk from '@lidh04/circle-chain-sdk'` then `const { user, wallet, miner } = sdk`. README snippets use bare names like `login`, `createWallet`; bind them from the matching namespace (`user.login`, `wallet.createWallet`, etc.).\n- **Source repo**: `src/` — `circle-user.js`, `circle-wallet.js`, `circle-block.js`, `circle-node.js`, `circle-miner.js`, `circle-common.js`; CLI under `src/cli/`.\n\n## Development workflow\n\n1. **Build**: `npm run build` — outputs `dist/cjs` and `dist/mjs` (TypeScript + fixup).\n2. **Tests**: Run `npm run build` before `npm test` when suites need fresh `dist/`. CLI-only: `npm run test:cli` (builds, then Jest matches `dist/cjs/cli`).\n3. **CLI from a clone**: after build, `npm run cli -- <args>` or `node ./dist/mjs/cli/main.js <args>`.\n\n## CLI (Commander.js)\n\nPublished executable name: **`circle`** (see `package.json` `\"bin\"` → `dist/mjs/cli/main.js`).\n\n### Install globally\n\n```bash\nnpm install -g @lidh04/circle-chain-sdk\ncircle --help\n```\n\n### Using `circle`\n\n- **`-d` / `--dev`** — use `http://localhost:8888` instead of production (e.g. `circle --dev user login-send-code --email you@example.com`).\n- Subcommand groups: **user**, **wallet**, **block**, **miner**. Discover flags with `circle <group> --help`.\n\n```bash\ncircle --help\ncircle user --help\ncircle user login-send-code --email you@example.com\ncircle wallet query public-balance --address <addr>\ncircle block header-list --base-height 0\ncircle miner mine --address <your-miner-address>\n```\n\n### Developing this repo\n\n```bash\nnpm run build\nnpm run cli -- --help\n# or: node ./dist/mjs/cli/main.js --help\n```\n\nCLI tests: `src/cli/*.test.js`; Jest runs compiled tests under `dist/cjs/cli/` per `jest.config.cjs`.\n\n## Programmatic usage patterns\n\nResponses typically include `status` (e.g. `200`), `message`, and `data`. On failure, surface `response.message`.\n\n### Auth (register / login)\n\n1. **Register then password login**: `sendRegisterVerifyCode` → `register` → `login` (email + password).\n2. **Login with verify code only**: `sendVerifyCode` → `login` (email + `verifyCode`).\n\n### Wallet\n\n- **`createWallet()`** — on success, address in `data`.\n\n### Local mining\n\n1. `miner.canMineBlock()` — return early if false.\n2. `miner.fetchMyBlockData(address)` — from `data`: `blockHeaderHexString`, `channelId`.\n3. `miner.mineBlock(blockHeaderHexString, workerCount)` — e.g. `os.cpus().length - 1`; result lines separated by `\\n`; first line is mined header hex.\n4. `miner.postMyBlock({ address, channelId, blockHeaderHexString: minedBlockHeader })`.\n5. Per README: successful block upload rewards **10 cc** (**100,000 li**) to the miner address.\n\n### Pay password\n\n- `sendPayVerifyCode` → `setPayPassword` with `account: { email }`, `verifyCode`, `password`.\n\n### Transfers\n\n- **`sendTo`**: `email`, `from`, `address` (to), `transContent` (`type`, `uuid`, etc.), `payPassword`.\n- **`pay`**: `from`, `to`, `value`, `payPassword`.\n\n### Contacts\n\n- **`addContacts`**: e.g. `email`, `name`, `sex`, `address` (location string in README).\n\n## Versions\n\n### 1.1.1\n- README: document global CLI install (`npm install -g @lidh04/circle-chain-sdk`), using `circle` with `--dev`, and developing the repo (`npm run cli` / `node ./dist/mjs/cli/main.js`)\n\n### 1.1.0\n\n- CLI (Commander.js) for user, wallet, miner, block; entry **`circle`** / `main.js`.\n- CLI split into `user-command`, `wallet-command`, `miner-command`, `block-command`; user CLI email-only.\n- CLI tests under `src/cli`, Jest runs `dist/cjs/cli`; `circle-node` test import path fix.\n\n### 1.0.22 — security improvements  \n### 1.0.21 — bugfixes  \n### 1.0.20 — local block mining\n\nKeep this skill aligned with repo `README.md` and `package.json` (bin name, exports).\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn71y801nzhazxtj1t2ymyqamn82nd7g\",\n  \"slug\": \"circle-chain\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1773972748616\n}\n\nFile v1.1.1:skill-card.md\n\n## Description: <br>\nJavaScript SDK and CLI guidance for Circle Chain (@lidh04/circle-chain-sdk), covering user auth, wallets, blocks, mining, transfers, contacts, and the global `circle` CLI. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[lidh04](https://clawhub.ai/user/lidh04) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineers use this skill when integrating Circle Chain from Node or browser code, working in the js-circle-chain-sdk repository, or using the `circle` CLI for user, wallet, block, miner, transfer, and contact workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill includes wallet, transfer, pay password, and verification-code workflows that can affect accounts or funds if used with incorrect recipients, amounts, or credentials. <br>\nMitigation: Verify recipient addresses, amounts, account context, and dev-versus-production settings before acting, and never share passwords, pay passwords, or verification codes unless you initiated the action. <br>\nRisk: The skill recommends installing and using an external npm package and CLI. <br>\nMitigation: Install only when you trust the package and publisher, and review package behavior before using it in sensitive environments. <br>\nRisk: Mining commands can consume local CPU resources. <br>\nMitigation: Run mining commands only when intentional and monitor resource use on the local machine. <br>\n\n\n## Reference(s): <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Code, Configuration instructions] <br>\n**Output Format:** [Markdown with inline code and bash command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include SDK namespace guidance, CLI commands, development workflow steps, and security-sensitive reminders for wallet, transfer, mining, and npm install operations.] <br>\n\n## Skill Version(s): <br>\n1.1.1 (source: release metadata and artifact version notes) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: circle chain skill Owner: lidh04 Summary: JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth, wallet, block, miner, transfers, contacts. Global CLI binary circle. Tags: latest:1.1.2 Version history: v1.1.2 | 2026-06-24T02:04:00.658Z | user 1.1.2 - Adds persistent HTTP config overrides in ~/.ccl/http.config with merging behavior. - New CLI group: circle config show / circle config set","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npm install -g @lidh04/circle-chain-sdk\ncircle --help"},{"language":"bash","snippet":"circle --help\ncircle user --help\ncircle user login-send-code --email you@example.com\ncircle wallet query public-balance --address <addr>\ncircle block header-list --base-height 0\ncircle miner mine --address <your-miner-address>\ncircle config show\ncircle config set --host your.api.example --timeout-read 8000"},{"language":"bash","snippet":"circle config set --host api.example.com --protocol https"},{"language":"bash","snippet":"npm run build\nnpm run cli -- --help\n# or: node ./dist/mjs/cli/main.js --help"},{"language":"bash","snippet":"npm install -g @lidh04/circle-chain-sdk\ncircle --help"},{"language":"bash","snippet":"circle --help\ncircle user --help\ncircle user login-send-code --email you@example.com\ncircle wallet query public-balance --address <addr>\ncircle block header-list --base-height 0\ncircle miner mine --address <your-miner-address>"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: circle-chain-js-sdk\ndescription: JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth,\n  wallet, block, miner, transfers, contacts, HTTP config. Global CLI binary `circle`. Use when\n  working in js-circle-chain-sdk, integrating Circle Chain from Node/browser, or\n  when the user mentions circle-chain SDK, @lidh04/circle-chain-sdk, local mining,\n  or the circle CLI.\n---\n\n# Circle Chain JavaScript SDK\n\n## Package and layout\n\n- **npm**: `@lidh04/circle-chain-sdk` — local dependency: `npm i @lidh04/circle-chain-sdk`\n- **Default export**: an object with namespaces `user`, `wallet`, `block`, `node`, `miner`, `common` — e.g. `import sdk from '@lidh04/circle-chain-sdk'` then `const { user, wallet, miner } = sdk`. README snippets use bare names like `login`, `createWallet`; bind them from the matching namespace (`user.login`, `wallet.createWallet`, etc.).\n- **Source repo**: `src/` — `circle-user.js`, `circle-wallet.js`, `circle-block.js`, `circle-node.js`, `circle-miner.js`, `circle-common.js`; CLI under `src/cli/`.\n\n## Development workflow\n\n1. **Build**: `npm run build` — outputs `dist/cjs` and `dist/mjs` (TypeScript + fixup).\n2. **Tests**: Run `npm run build` before `npm test` when suites need fresh `dist/`. CLI-only: `npm run test:cli` (builds, then Jest matches `dist/cjs/cli`).\n3. **CLI from a clone**: after build, `npm run cli -- <args>` or `node ./dist/mjs/cli/main.js <args>`.\n\n## CLI (Commander.js)\n\nPublished executable name: **`circle`** (see `package.json` `\"bin\"` → `dist/mjs/cli/main.js`).\n\n### Install globally\n\n```bash\nnpm install -g @lidh04/circle-chain-sdk\ncircle --help\n```\n\n### Using `circle`\n\n- **`-d` / `--dev`** — use `http://localhost:8888` instead of production (e.g. `circle --dev user login-send-code --email you@example.com`).\n- Subcommand groups: **user**, **wallet**, **block**, **miner**, **config**. Discover flags with `circle <group> --help`.\n\n```bash\ncircle --help\ncircle user --help\ncircle user login-send-code --email you@example.com\ncircle wallet query public-balance --address <addr>\ncircle block header-list --base-height 0\ncircle miner mine --address <your-miner-address>\ncircle config show\ncircle config set --host your.api.example --timeout-read 8000\n```\n\n### `circle config` (HTTP settings)\n\nUser overrides are stored under **`~/.ccl/`** (or `%USERPROFILE%\\.ccl\\` on Windows) and apply to the Node.js SDK and CLI.\n\n| Command | Purpose |\n| -------- | -------- |\n| `circle config show` | Print **effective** HTTP settings (bundled defaults + `http.config` + Geo hint when applicable). |\n| `circle config set …` | Merge options into **`~/.ccl/http.config`** (JSON). At least one flag required. |\n\nSupported flags for `config set`:\n\n- `--host`, `--protocol` (`http` \\| `https`)\n- `--timeout-read`, `--timeout-write` (milliseconds, non‑negative integers as strings in config)\n- `--retry-count`, `--retry-wait-time`\n- `--ssl-support` (`true` \\| `false`)\n\nExample:\n\n```bash\ncircle config set --host api.example.com --"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71y801nzhazxtj1t2ymyqamn82nd7g\",\n  \"slug\": \"circle-chain\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1782266640658\n}"},{"path":"skill-card.md","content":"## Description:\n\nJavaScript SDK and CLI guidance for Circle Chain, covering user authentication, wallet operations, blocks, mining, transfers, contacts, and HTTP configuration.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[lidh04](https://clawhub.ai/user/lidh04)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill when integrating Circle Chain from Node.js or browser code, using the circle CLI, or maintaining the @lidh04/circle-chain-sdk package.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill relies on an external npm package for wallet, account, transfer, and payment-password workflows.\n\nMitigation: Use a reviewed pinned package version and avoid entering account, wallet, or payment-password data until package provenance and behavior are acceptable.\n\nRisk: The SDK may contact a GeoIP service to choose the gateway host.\n\nMitigation: Set an explicit gateway host or set CIRCLE_SKIP_GEO=1 when automatic GeoIP-based host selection is not desired.\n\nRisk: Global installation exposes the circle command from the trusted package on the local system.\n\nMitigation: Avoid global installation unless the circle command is required; prefer local project installation for scoped use.\n\n## Reference(s):\n\n- [Circle Chain Skill on ClawHub](https://clawhub.ai/lidh04/skills/circle-chain)\n- [Publisher Profile](https://clawhub.ai/user/lidh04)\n- [ipwho.is GeoIP Service](https://ipwho.is/)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline JavaScript and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include CLI commands, SDK usage patterns, and HTTP configuration guidance.]\n\n## Skill Version(s):\n\n1.1.2 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth, wallet, block, miner, transfers, contacts. Global CLI binary `circle`. Skill: circle chain skill Owner: lidh04 Summary: JavaScript SDK and CLI for Circle Chain (@lidh04/circle-chain-sdk): user auth, wallet, block, miner, transfers, contacts. Global CLI binary circle. Tags: latest:1.1.2 Version history: v1.1.2 | 2026-06-24T02:04:00.658Z | user 1.1.2 - Adds persistent HTTP config overrides in ~/.ccl/http.config with merging behavior. - New CLI group: circle config show / circle config set","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1188,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:51:21.143Z","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-10-11T16:51:21.143Z","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-10-11T20:58:07.988Z","emptyReason":null},"items":[{"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-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"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":"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/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}