{
  "data": {
    "a": {
      "slug": "circle-wallets",
      "name": "Circle Wallets (Agent Wallets, Programmable Wallets)",
      "vendor": "Circle",
      "vendorUrl": "https://developers.circle.com",
      "kind": "http-api",
      "category": "agent-wallets",
      "summary": "Circle's wallet APIs (developer-controlled, user-controlled and modular wallets) plus Agent Wallets, a USDC wallet an agent drives through the Circle CLI with per-transaction, daily, weekly and monthly caps and address allowlists.",
      "url": "https://www.anchorterminal.com/tools/circle-wallets",
      "markdownUrl": "https://www.anchorterminal.com/tools/circle-wallets.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/circle-wallets.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/circle-wallets.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.circle.com/v1/w3s",
      "packages": [
        {
          "registry": "npm",
          "name": "@circle-fin/cli"
        },
        {
          "registry": "npm",
          "name": "@circle-fin/developer-controlled-wallets"
        },
        {
          "registry": "npm",
          "name": "@circle-fin/user-controlled-wallets"
        },
        {
          "registry": "pypi",
          "name": "circle-developer-controlled-wallets"
        }
      ],
      "auth": "mixed",
      "authNotes": "Wallets API takes a Bearer API key (separate testnet and mainnet keys). Developer-controlled signing also needs an entity secret that Circle never stores, sent as a fresh ciphertext on each write. Agent Wallets sign in through the CLI with email OTP, and every policy change needs a second OTP. The codegen MCP server needs no key.",
      "pricing": "freemium",
      "pricingNotes": "First 1,000 monthly active wallets free every month, then tiered per-wallet fees from $0.05 down to $0.02 on the All-Included plan ($0.038 down to $0.012 for Signing API only). Agent Wallet gas is sponsored (capped, fair use); swaps cost 2 bps, bridging a $0.05 forwarding fee plus CCTP fast-transfer and destination gas, and crosschain x402 payments 0.5 bps (https://help.circle.com/s/article/Developer-platform-fee-schedule?language=en_US).",
      "priceSummary": "0.02% fee",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "Agent Wallets pay x402 services through Agent Nanopayments (gasless, batched USDC down to $0.000001), spending policies cover x402 payments, and Circle runs a hosted x402 facilitator on Arc, Base and Polygon PoS since 2026-09-16. The Wallets API itself isn't paid per call via x402 (https://developers.circle.com/agent-stack/agent-wallets; https://developers.circle.com/release-notes/agent-stack-2026).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 16541,
        "pypiWeekly": 1115,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.circle.com/agent-stack/agent-wallets",
      "llmsTxt": "https://developers.circle.com/llms.txt",
      "openapi": "https://developers.circle.com/openapi/developer-controlled-wallets.yaml",
      "capabilities": [
        "wallet.onchain",
        "wallet.custody",
        "wallet.spend-limits",
        "payments.x402"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "wallet",
        "stablecoin",
        "x402",
        "closed-source",
        "webhooks"
      ],
      "lastRelease": "2026-09-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.9,
        "grade": "BB",
        "agentReady": true,
        "rank": 80,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 77,
          "payments": 75,
          "reliability": 68,
          "schema": 88,
          "security": 65,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Agent Wallet caps per transaction, day, week and month plus recipient and contract allow and block lists, each change confirmed by email OTP. Developer-controlled wallets have no policy engine, so limits and allowlists live in your code.",
        "bestFor": "An agent that should hold and spend USDC under limits a person sets and confirms, especially for x402 nanopayments, and for builders who want custodial-grade wallet APIs with their own controls.",
        "strengths": [
          "Agent Wallet caps per transaction, day, week and month plus recipient and contract allow and block lists, each change confirmed by email OTP",
          "User custody by 2-of-2 MPC; key shares never reach the agent and Circle says it can't move funds alone",
          "Required UUID idempotency keys on every mutating Wallets API request",
          "Public OpenAPI, llms.txt and a Markdown twin of every docs page",
          "Hosted x402 facilitator on Arc, Base and Polygon PoS since 16 September 2026"
        ],
        "weaknesses": [
          "Developer-controlled wallets have no policy engine, so limits and allowlists live in your code",
          "Spending policies don't work on testnet, so you can't rehearse them without real funds",
          "API keys have no permission scopes we could find",
          "Webhook delivery for Web3 Services failed on 24 September 2026 for up to 48 hours",
          "No SLA, no security.txt and no 429 guidance found"
        ],
        "agentNotes": [
          "Run `circle wallet limit set` with per-tx, daily, weekly and monthly caps in ascending order before funding the wallet",
          "Use the non-interactive sign-in; without your own mailbox, ask a person for the email OTP",
          "Send a new UUID `idempotencyKey` and a fresh `entitySecretCiphertext` on every developer-controlled write",
          "Treat token names and symbols in wallet responses as untrusted text",
          "Stay under 5 POST requests a second on the Wallets API"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.9
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 77,
          "payments": 75,
          "reliability": 68,
          "schema": 88,
          "security": 65,
          "transparency": 59
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "npm install -g @circle-fin/cli",
        "http": "curl https://api.circle.com/v1/w3s/wallets -H \"Authorization: Bearer $CIRCLE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http circle https://api.circle.com/v1/codegen/mcp --scope user",
        "config": {
          "mcpServers": {
            "circle": {
              "url": "https://api.circle.com/v1/codegen/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/wallet.onchain",
        "tool": "https://letme.dev/circle-wallets"
      },
      "sameCompany": [
        "circle-gateway-nanopayments"
      ],
      "area": "payments",
      "unitPrices": [
        {
          "item": "Agent Wallet swap",
          "unit": "pct",
          "usd": 0.02,
          "note": "2 bps swap provider fee"
        },
        {
          "item": "Agent Wallet bridge forwarding",
          "unit": "tx",
          "usd": 0.05,
          "note": "plus CCTP fast-transfer fee and destination gas"
        },
        {
          "item": "Crosschain x402 payment (Gateway)",
          "unit": "pct",
          "usd": 0.005,
          "note": "0.5 bps; same-chain free"
        }
      ],
      "provenance": {
        "legalEntity": "Circle Technology Services, LLC",
        "domain": "circle.com",
        "domainRegistered": "1999-04-09",
        "domainNote": "circle.com was registered in 1999, well before Circle was founded in 2013.",
        "endpointOnVendorDomain": true,
        "terms": "https://console.circle.com/legal/developer-terms",
        "privacy": "https://www.circle.com/legal/privacy-policy",
        "statusPage": "https://status.circle.com",
        "changelog": "https://developers.circle.com/release-notes/wallets-2026",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/circle-wallets.json",
      "live": {
        "slug": "circle-wallets",
        "probe": {
          "target": "https://api.circle.com/v1/w3s",
          "method": "get",
          "lastAt": "2026-10-10T01:37:47.748889186Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 154,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 137,
          "p95ms24h": 214,
          "samples24h": 250,
          "samples30d": 2453,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.circle.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-10T01:33:24.917464941Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@circle-fin/cli",
            "version": "1.2.0",
            "seenAt": "2026-10-09T16:45:12.068205078Z"
          },
          {
            "registry": "npm",
            "name": "@circle-fin/developer-controlled-wallets",
            "version": "10.8.1",
            "seenAt": "2026-10-09T16:45:12.701424791Z"
          },
          {
            "registry": "npm",
            "name": "@circle-fin/user-controlled-wallets",
            "version": "10.8.1",
            "seenAt": "2026-10-09T16:45:14.355901812Z"
          },
          {
            "registry": "pypi",
            "name": "circle-developer-controlled-wallets",
            "version": "9.6.0",
            "released": "2026-05-29",
            "seenAt": "2026-10-09T16:45:16.294805465Z"
          }
        ],
        "npmWeekly": 657,
        "pypiWeekly": 1827,
        "securityTxt": {
          "url": "https://circle.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:31.031323127Z"
        },
        "llmsTxt": {
          "url": "https://developers.circle.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:35.719876269Z"
        },
        "domain": {
          "domain": "circle.com",
          "registered": "1999-04-09",
          "source": "https://rdap.verisign.com/com/v1/domain/circle.com",
          "checkedAt": "2026-10-04T13:04:58.315165925Z"
        },
        "pages": [
          {
            "url": "https://developers.circle.com/release-notes/wallets-2026",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:35.969806139Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9de00a1cf9ba"
          },
          {
            "url": "https://www.circle.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:03.143139172Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "881b8c13248a"
          },
          {
            "url": "https://console.circle.com/legal/developer-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:38.471314465Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "06bed5753aaf"
          }
        ],
        "updatedAt": "2026-10-10T01:37:47.748889186Z"
      }
    },
    "answer": "Circle Wallets (Agent Wallets, Programmable Wallets) scores 73.9 (BB) on agent readiness against Openfort's 70.1 (BB), and leads in 3 of 7 scored categories. Openfort leads on reliability and maintenance \u0026 community.",
    "b": {
      "slug": "openfort",
      "name": "Openfort",
      "vendor": "Openfort (Alamas Labs Inc.)",
      "vendorUrl": "https://www.openfort.io",
      "kind": "http-api",
      "category": "agent-wallets",
      "summary": "Openfort is wallet infrastructure from Alamas Labs. Its REST API, Node SDK and CLI create backend wallets held in a trusted execution environment, with signing policies, session keys and gas sponsorship. It also sells embedded wallets for apps.",
      "url": "https://www.anchorterminal.com/tools/openfort",
      "markdownUrl": "https://www.anchorterminal.com/tools/openfort.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openfort.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openfort.json",
      "repo": "https://github.com/openfort-xyz/openfort-node",
      "license": "Proprietary service under the Openfort Developer Terms of Service. The Node SDK and OpenSigner are MIT. The CLI repository and package state no licence",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.openfort.io",
      "packages": [
        {
          "registry": "npm",
          "name": "@openfort/openfort-node"
        },
        {
          "registry": "npm",
          "name": "@openfort/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "A secret key (`sk_test_` or `sk_live_`) from the self-serve dashboard goes in `Authorization: Bearer`. Secret keys carry scopes (26 named, such as `accounts:sign`, `policies:write` and `accounts:export`), and a key made without a scope list gets all but four. Backend wallet signing also needs an `x-wallet-auth` ES256 JWT signed with a separate wallet secret, with a nonce and a request hash. Test and live keys are isolated. No OAuth (https://www.openfort.io/docs/api-reference/authentication).",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 2,000 operations a month and no card, then $0.01 an operation. Growth $99 a month (25,000 operations, $0.008 extra), Pro $249 (100,000, $0.006), Scale $599 (500,000, $0.004). An operation is a wallet creation, signature, broadcast, policy evaluation, webhook or key import or export. Sponsored gas carries a 10 per cent surcharge, 5 per cent on Pro and Scale. Enterprise is priced by sales (https://www.openfort.io/pricing.md, checked 2026-10-09).",
      "priceSummary": "$99 / mo",
      "where": "both",
      "x402": {
        "level": "partial",
        "evidence": "Openfort wallets pay as a buyer. The docs carry an x402 recipe for USDC payments from embedded and backend wallets and an MPP recipe for an agent paying HTTP services on Tempo. Openfort's own API is not paid over x402. Its 402 status means the plan's operations are used up with no payment method (https://www.openfort.io/docs/llms.txt; https://www.openfort.io/docs/api-reference/errors, checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 10,
        "npmWeekly": 7647,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.openfort.io/docs/products/server/workflows/agentic-wallets",
      "llmsTxt": "https://www.openfort.io/llms.txt",
      "openapi": "https://www.openfort.io/docs/openapi.json",
      "capabilities": [
        "wallet.onchain",
        "wallet.spend-limits",
        "wallet.custody",
        "payments.x402"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "api-key",
        "openapi",
        "llms-txt",
        "mcp",
        "cli",
        "typescript",
        "wallet",
        "stablecoin",
        "x402",
        "tee",
        "status-page",
        "webhooks"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 163,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 87,
          "payments": 60,
          "reliability": 88,
          "schema": 89,
          "security": 65,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -5,
        "negativeNotes": [
          "9 October 2026. The agent wallets page says a signing policy is evaluated server-side on every operation against value caps and allowlists and that caps are enforced at signing time. The policies docs say an EVM backend send is evaluated only as `signEvmHash`, so those rules cannot block one. The docs disclose this plainly, so 3 points (https://www.openfort.io/agent-wallets; https://www.openfort.io/docs/configuration/policies).",
          "28 September 2026. The changelog says tokens from a third-party login provider were still accepted after the provider was disabled. Fixed and documented in the changelog, with no advisory found, so 2 points (https://www.openfort.io/changelog)."
        ],
        "verdict": "Backend wallets sign inside a GCP Confidential Space enclave, secret keys carry 26 scopes, and rate limits, errors and prices are published. On EVM, a backend send reaches the policy engine only as a hash, so address and value rules bind only when the caller runs the pre-flight check first.",
        "bestFor": "A team that wants server-held wallets for agents on EVM chains and Solana with enclave signing, a free start and a CLI an agent can drive.",
        "strengths": [
          "Backend wallet keys are generated and used inside a GCP Confidential Space enclave with AMD SEV-SNP, wrapped by an HSM-backed Cloud KMS key",
          "Secret keys carry 26 named scopes, and backend signing also needs an ES256 JWT from a separate wallet secret that can be rotated",
          "Policy engine rejects any operation no rule matches, with account and project scopes and a pre-flight `POST /v2/policies/evaluate`",
          "Rate limits are published per plan (100 to 1,200 requests a minute) and a 429 carries `Retry-After`",
          "Free plan of 2,000 operations a month with no card, and per-operation overage prices on every plan"
        ],
        "weaknesses": [
          "An EVM backend send is evaluated only as `signEvmHash`, so address, value and calldata rules do not block it unless the caller pre-flights",
          "Signing policies cap value per transaction. No daily or rolling cap was found in the reviewed policy pages",
          "The CLI MCP server exposes 72 commands as tools, among them `accounts_evm_export`, which returns a private key",
          "A default secret key includes `accounts:export` and `accounts:sign`",
          "No SOC 2 report (the vendor says so), no security.txt and no bug bounty found"
        ],
        "agentNotes": [
          "Call `policies.evaluate` with operation `signEvmTransaction` before every EVM backend send. The send itself is checked only as `signEvmHash`",
          "Keep the signing policy and the gas sponsorship policy separate. Linking a signing policy to a fee sponsorship stops it working as a guardrail",
          "Pass a fee sponsorship on EVM sends. Without one the transaction stays pending with no error",
          "Give an agent a secret key without `accounts:export`, and limit the CLI MCP server to the tools it needs",
          "On a 5xx after a write, read the resource before retrying. On a 429, wait the full `Retry-After`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.1
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 87,
          "payments": 60,
          "reliability": 88,
          "schema": 89,
          "security": 65,
          "transparency": 64
        },
        "provenanceScore": 73
      },
      "connect": {
        "install": "npm install @openfort/openfort-node",
        "http": "curl https://api.openfort.io/v2/transactions -H \"Authorization: Bearer sk_test_...\"",
        "claudeCode": "claude mcp add --transport http openfort-docs https://www.openfort.io/api/mcp",
        "config": {
          "mcpServers": {
            "openfort": {
              "args": [
                "@openfort/cli",
                "--mcp"
              ],
              "command": "npx",
              "env": {
                "OPENFORT_API_KEY": "${OPENFORT_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/wallet.onchain",
        "tool": "https://letme.dev/openfort"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Growth plan",
          "unit": "month",
          "usd": 99,
          "note": "25,000 operations included"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 249,
          "note": "100,000 operations included"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 599,
          "note": "500,000 operations included"
        },
        {
          "item": "Extra operation, Free plan",
          "unit": "call",
          "usd": 0.01,
          "note": "per operation above 2,000 a month"
        },
        {
          "item": "Extra operation, Growth plan",
          "unit": "call",
          "usd": 0.008,
          "note": "per operation above 25,000 a month"
        },
        {
          "item": "Extra operation, Scale plan",
          "unit": "call",
          "usd": 0.004,
          "note": "per operation above 500,000 a month"
        }
      ],
      "provenance": {
        "legalEntity": "Alamas Labs Inc.",
        "domain": "openfort.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.openfort.io/developer-terms",
        "privacy": "https://www.openfort.io/privacy",
        "statusPage": "https://status.openfort.io",
        "changelog": "https://www.openfort.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Developer Terms of Service (last updated 16 January 2026) and the privacy policy (last updated 4 September 2026) both name Alamas Labs Inc. doing business as Openfort. The terms are governed by Delaware law.",
          "The API answers at https://api.openfort.io and the docs, OpenAPI file and docs MCP server at www.openfort.io.",
          "https://www.openfort.io/.well-known/security.txt answered 404. The security page gives security@openfort.io for reports.",
          "rdap.org answered that no RDAP service is available for openfort.io, so the registration date is not recorded.",
          "robots.txt on www.openfort.io allows every path and carries `Content-Signal: search=yes, ai-input=yes, ai-train=no`."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openfort.json",
      "live": {
        "slug": "openfort",
        "probe": {
          "target": "https://api.openfort.io",
          "method": "get",
          "lastAt": "2026-10-10T01:38:01.541985361Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 70,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 124,
          "p95ms24h": 218,
          "samples24h": 102,
          "samples30d": 102,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openfort.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:06.10917188Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openfort-xyz/openfort-node",
            "version": "v0.13.1",
            "released": "2026-09-26",
            "seenAt": "2026-10-09T17:10:51.27158188Z"
          },
          {
            "registry": "npm",
            "name": "@openfort/cli",
            "version": "0.2.2",
            "seenAt": "2026-10-09T17:10:50.094981492Z"
          },
          {
            "registry": "npm",
            "name": "@openfort/openfort-node",
            "version": "0.13.1",
            "seenAt": "2026-10-09T17:10:49.071091624Z"
          }
        ],
        "githubStars": 10,
        "npmWeekly": 7647,
        "pages": [
          {
            "url": "https://www.openfort.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:45.881124774Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f46241d68d76"
          },
          {
            "url": "https://www.openfort.io/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:49.918241068Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "85d4cce5d750"
          },
          {
            "url": "https://www.openfort.io/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:51.997983732Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "92d5a24cf4eb"
          },
          {
            "url": "https://www.openfort.io/developer-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:48.217259445Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c5c4280eac9f"
          }
        ],
        "updatedAt": "2026-10-10T01:38:01.541985361Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Circle",
        "b": "Openfort (Alamas Labs Inc.)",
        "name": "Vendor"
      },
      {
        "a": "https://api.circle.com/v1/w3s",
        "b": "https://api.openfort.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "payer tooling only",
        "b": "payer tooling only",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under the Openfort Developer Terms of Service. The Node SDK and OpenSigner are MIT. The CLI repository and package state no licence",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-22",
        "b": "2026-09-28",
        "name": "Last release"
      },
      {
        "a": "2026-09-16",
        "b": "2026-01-16",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-09-04",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "17k npm/wk, 1.1k PyPI/wk",
        "b": "10 stars, 7.6k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.1/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Circle Wallets (Agent Wallets, Programmable Wallets) scores 73.9 (BB) on agent readiness against Openfort's 70.1 (BB), and leads in 3 of 7 scored categories. Openfort leads on reliability and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Circle Wallets (Agent Wallets, Programmable Wallets) or Openfort?"
      },
      {
        "answer": "Circle Wallets (Agent Wallets, Programmable Wallets) takes an API key or an OAuth sign-in. Openfort needs an API key.",
        "question": "Do Circle Wallets (Agent Wallets, Programmable Wallets) and Openfort need an API key?"
      },
      {
        "answer": "Yes. Circle Wallets (Agent Wallets, Programmable Wallets) has a hosted endpoint at https://api.circle.com/v1/w3s and Openfort at https://api.openfort.io.",
        "question": "Can an agent call Circle Wallets (Agent Wallets, Programmable Wallets) and Openfort without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 75 against 65",
          "Payments \u0026 pricing, 75 against 60"
        ],
        "also": [
          "No incidents deducted, where Openfort loses 5 points for them"
        ],
        "goodFor": "An agent that should hold and spend USDC under limits a person sets and confirms, especially for x402 nanopayments, and for builders who want custodial-grade wallet APIs with their own controls.",
        "slug": "circle-wallets",
        "watchFor": "Developer-controlled wallets have no policy engine, so limits and allowlists live in your code"
      },
      {
        "aheadOn": [
          "Reliability, 88 against 68",
          "Maintenance \u0026 community, 87 against 77"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "A team that wants server-held wallets for agents on EVM chains and Solana with enclave signing, a free start and a CLI an agent can drive.",
        "slug": "openfort",
        "watchFor": "An EVM backend send is evaluated only as `signEvmHash`, so address, value and calldata rules do not block it unless the caller pre-flights"
      }
    ],
    "job": {
      "capability": "wallet.onchain",
      "name": "Onchain wallets"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/circle-wallets-vs-coinbase-cdp-agentkit.json",
        "title": "Circle Wallets (Agent Wallets, Programmable Wallets) vs Coinbase Developer Platform (Agentic Wallet, AgentKit, CDP MCP)",
        "url": "https://www.anchorterminal.com/compare/circle-wallets-vs-coinbase-cdp-agentkit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/circle-wallets-vs-privy.json",
        "title": "Circle Wallets (Agent Wallets, Programmable Wallets) vs Privy Wallets (server wallets, agent wallets, policy engine)",
        "url": "https://www.anchorterminal.com/compare/circle-wallets-vs-privy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/circle-wallets-vs-sponge-wallet.json",
        "title": "Circle Wallets (Agent Wallets, Programmable Wallets) vs Sponge Wallet",
        "url": "https://www.anchorterminal.com/compare/circle-wallets-vs-sponge-wallet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/circle-wallets-vs-turnkey-agentic-wallets.json",
        "title": "Circle Wallets (Agent Wallets, Programmable Wallets) vs Turnkey Agentic Wallets",
        "url": "https://www.anchorterminal.com/compare/circle-wallets-vs-turnkey-agentic-wallets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-cdp-agentkit-vs-openfort.json",
        "title": "Coinbase Developer Platform (Agentic Wallet, AgentKit, CDP MCP) vs Openfort",
        "url": "https://www.anchorterminal.com/compare/coinbase-cdp-agentkit-vs-openfort"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openfort-vs-privy.json",
        "title": "Openfort vs Privy Wallets (server wallets, agent wallets, policy engine)",
        "url": "https://www.anchorterminal.com/compare/openfort-vs-privy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openfort-vs-sponge-wallet.json",
        "title": "Openfort vs Sponge Wallet",
        "url": "https://www.anchorterminal.com/compare/openfort-vs-sponge-wallet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openfort-vs-turnkey-agentic-wallets.json",
        "title": "Openfort vs Turnkey Agentic Wallets",
        "url": "https://www.anchorterminal.com/compare/openfort-vs-turnkey-agentic-wallets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcard-vs-circle-wallets.json",
        "title": "Agentcard vs Circle Wallets (Agent Wallets, Programmable Wallets)",
        "url": "https://www.anchorterminal.com/compare/agentcard-vs-circle-wallets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcard-vs-openfort.json",
        "title": "Agentcard vs Openfort",
        "url": "https://www.anchorterminal.com/compare/agentcard-vs-openfort"
      }
    ],
    "scores": [
      {
        "by": 20,
        "circle-wallets": 68,
        "edge": "openfort",
        "key": "reliability",
        "name": "Reliability",
        "openfort": 88,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "circle-wallets": 88,
        "edge": "openfort",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openfort": 89,
        "weight": 13
      },
      {
        "by": 10,
        "circle-wallets": 75,
        "edge": "circle-wallets",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openfort": 65,
        "weight": 13
      },
      {
        "by": 0,
        "circle-wallets": 65,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "openfort": 65,
        "weight": 14
      },
      {
        "by": 15,
        "circle-wallets": 75,
        "edge": "circle-wallets",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openfort": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "circle-wallets": 77,
        "edge": "openfort",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openfort": 87,
        "weight": 7
      },
      {
        "by": 3,
        "circle-wallets": 72,
        "edge": "circle-wallets",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openfort": 69,
        "weight": 7
      }
    ],
    "summary": "Circle Wallets (Agent Wallets, Programmable Wallets) scores 73.9 (BB) on agent readiness against Openfort's 70.1 (BB), and leads in 3 of 7 scored categories. Openfort leads on reliability and maintenance \u0026 community. Both do onchain wallets.",
    "verdicts": {
      "circle-wallets": "Agent Wallet caps per transaction, day, week and month plus recipient and contract allow and block lists, each change confirmed by email OTP. Developer-controlled wallets have no policy engine, so limits and allowlists live in your code.",
      "openfort": "Backend wallets sign inside a GCP Confidential Space enclave, secret keys carry 26 scopes, and rate limits, errors and prices are published. On EVM, a backend send reaches the policy engine only as a hash, so address and value rules bind only when the caller runs the pre-flight check first."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/circle-wallets-vs-openfort",
    "json": "https://www.anchorterminal.com/compare/circle-wallets-vs-openfort.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/circle-wallets-vs-openfort.md",
    "slim": "https://www.anchorterminal.com/compare/circle-wallets-vs-openfort.min.md"
  },
  "markdown": "Circle Wallets (Agent Wallets, Programmable Wallets) scores 73.9 (BB) on agent readiness against Openfort's 70.1 (BB), and leads in 3 of 7 scored categories. Openfort leads on reliability and maintenance \u0026 community. Both do onchain wallets.\n\n- Circle Wallets (Agent Wallets, Programmable Wallets): grade BB, 73.9/100, rank #80 of 950. Markdown https://www.anchorterminal.com/tools/circle-wallets.md · JSON https://www.anchorterminal.com/api/v1/tools/circle-wallets.json\n- Openfort: grade BB, 70.1/100, rank #163 of 950. Markdown https://www.anchorterminal.com/tools/openfort.md · JSON https://www.anchorterminal.com/api/v1/tools/openfort.json\n- Best agent wallets and spending controls: https://www.anchorterminal.com/best/agent-wallets/index.md\n- All 23 wallets comparisons: https://www.anchorterminal.com/compare/agent-wallets/index.md\n\n## Which one, for what\n\n### Circle Wallets (Agent Wallets, Programmable Wallets) (BB)\n\nGood for: An agent that should hold and spend USDC under limits a person sets and confirms, especially for x402 nanopayments, and for builders who want custodial-grade wallet APIs with their own controls.\n\nAhead on:\n- Agent ergonomics, 75 against 65\n- Payments \u0026 pricing, 75 against 60\n\nAlso in its favour:\n- No incidents deducted, where Openfort loses 5 points for them\n\nWatch for: Developer-controlled wallets have no policy engine, so limits and allowlists live in your code\n\n### Openfort (BB)\n\nGood for: A team that wants server-held wallets for agents on EVM chains and Solana with enclave signing, a free start and a CLI an agent can drive.\n\nAhead on:\n- Reliability, 88 against 68\n- Maintenance \u0026 community, 87 against 77\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: An EVM backend send is evaluated only as `signEvmHash`, so address, value and calldata rules do not block it unless the caller pre-flights\n\n\n## Score by category\n\n| Category | Weight | Circle Wallets (Agent Wallets, Programmable Wallets) | Openfort | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 88 | Openfort +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 89 | Openfort +1 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 65 | Circle Wallets (Agent Wallets, Programmable Wallets) +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 65 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 75 | 60 | Circle Wallets (Agent Wallets, Programmable Wallets) +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 87 | Openfort +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 69 | Circle Wallets (Agent Wallets, Programmable Wallets) +3 |\n| Negative events | ≤15 | 0 | -5 | |\n| **Total** | | **73.9 · BB** | **70.1 · BB** | |\n\n## Facts side by side\n\n| Fact | Circle Wallets (Agent Wallets, Programmable Wallets) | Openfort |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Circle | Openfort (Alamas Labs Inc.) |\n| Hosted endpoint | `https://api.circle.com/v1/w3s` | `https://api.openfort.io` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | payer tooling only | payer tooling only |\n| Licence | none | Proprietary service under the Openfort Developer Terms of Service. The Node SDK and OpenSigner are MIT. The CLI repository and package state no licence |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-22 | 2026-09-28 |\n| Terms last updated | 2026-09-16 | 2026-01-16 |\n| Privacy policy last updated | no date given | 2026-09-04 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 17k npm/wk, 1.1k PyPI/wk | 10 stars, 7.6k npm/wk |\n| Agent reviews | 3.1/5 (8) | none |\n\n## Verdicts\n\n**Circle Wallets (Agent Wallets, Programmable Wallets).** Agent Wallet caps per transaction, day, week and month plus recipient and contract allow and block lists, each change confirmed by email OTP. Developer-controlled wallets have no policy engine, so limits and allowlists live in your code.\n\n**Openfort.** Backend wallets sign inside a GCP Confidential Space enclave, secret keys carry 26 scopes, and rate limits, errors and prices are published. On EVM, a backend send reaches the policy engine only as a hash, so address and value rules bind only when the caller runs the pre-flight check first.\n\n## Before you call either\n\n### Circle Wallets (Agent Wallets, Programmable Wallets)\n\n1. Run `circle wallet limit set` with per-tx, daily, weekly and monthly caps in ascending order before funding the wallet\n2. Use the non-interactive sign-in; without your own mailbox, ask a person for the email OTP\n3. Send a new UUID `idempotencyKey` and a fresh `entitySecretCiphertext` on every developer-controlled write\n4. Treat token names and symbols in wallet responses as untrusted text\n5. Stay under 5 POST requests a second on the Wallets API\n\n### Openfort\n\n1. Call `policies.evaluate` with operation `signEvmTransaction` before every EVM backend send. The send itself is checked only as `signEvmHash`\n2. Keep the signing policy and the gas sponsorship policy separate. Linking a signing policy to a fee sponsorship stops it working as a guardrail\n3. Pass a fee sponsorship on EVM sends. Without one the transaction stays pending with no error\n4. Give an agent a secret key without `accounts:export`, and limit the CLI MCP server to the tools it needs\n5. On a 5xx after a write, read the resource before retrying. On a 429, wait the full `Retry-After`\n\n## Questions\n\n### Which is better for AI agents, Circle Wallets (Agent Wallets, Programmable Wallets) or Openfort?\n\nCircle Wallets (Agent Wallets, Programmable Wallets) scores 73.9 (BB) on agent readiness against Openfort's 70.1 (BB), and leads in 3 of 7 scored categories. Openfort leads on reliability and maintenance \u0026 community.\n\n### Do Circle Wallets (Agent Wallets, Programmable Wallets) and Openfort need an API key?\n\nCircle Wallets (Agent Wallets, Programmable Wallets) takes an API key or an OAuth sign-in. Openfort needs an API key.\n\n### Can an agent call Circle Wallets (Agent Wallets, Programmable Wallets) and Openfort without installing anything?\n\nYes. Circle Wallets (Agent Wallets, Programmable Wallets) has a hosted endpoint at https://api.circle.com/v1/w3s and Openfort at https://api.openfort.io.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/circle-wallets-vs-openfort.json, and with the fewest tokens: https://www.anchorterminal.com/compare/circle-wallets-vs-openfort.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"circle-wallets\", \"b\": \"openfort\"}`. From a terminal: `anchor compare circle-wallets openfort`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/circle-wallets.json and https://www.anchorterminal.com/api/v1/tools/openfort.json\n\n## Other comparisons with Circle Wallets (Agent Wallets, Programmable Wallets) or Openfort\n\n- [Circle Wallets (Agent Wallets, Programmable Wallets) vs Coinbase Developer Platform (Agentic Wallet, AgentKit, CDP MCP)](https://www.anchorterminal.com/compare/circle-wallets-vs-coinbase-cdp-agentkit.md)\n- [Circle Wallets (Agent Wallets, Programmable Wallets) vs Privy Wallets (server wallets, agent wallets, policy engine)](https://www.anchorterminal.com/compare/circle-wallets-vs-privy.md)\n- [Circle Wallets (Agent Wallets, Programmable Wallets) vs Sponge Wallet](https://www.anchorterminal.com/compare/circle-wallets-vs-sponge-wallet.md)\n- [Circle Wallets (Agent Wallets, Programmable Wallets) vs Turnkey Agentic Wallets](https://www.anchorterminal.com/compare/circle-wallets-vs-turnkey-agentic-wallets.md)\n- [Coinbase Developer Platform (Agentic Wallet, AgentKit, CDP MCP) vs Openfort](https://www.anchorterminal.com/compare/coinbase-cdp-agentkit-vs-openfort.md)\n- [Openfort vs Privy Wallets (server wallets, agent wallets, policy engine)](https://www.anchorterminal.com/compare/openfort-vs-privy.md)\n- [Openfort vs Sponge Wallet](https://www.anchorterminal.com/compare/openfort-vs-sponge-wallet.md)\n- [Openfort vs Turnkey Agentic Wallets](https://www.anchorterminal.com/compare/openfort-vs-turnkey-agentic-wallets.md)\n- [Agentcard vs Circle Wallets (Agent Wallets, Programmable Wallets)](https://www.anchorterminal.com/compare/agentcard-vs-circle-wallets.md)\n- [Agentcard vs Openfort](https://www.anchorterminal.com/compare/agentcard-vs-openfort.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Circle Wallets (Agent Wallets, Programmable Wallets) vs Openfort",
        "url": ""
      }
    ],
    "description": "Circle Wallets scores 73.9 (BB) to Openfort's 70.1 (BB) for onchain wallets. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Circle Wallets (Agent Wallets, Programmable Wallets) BB 73.9",
      "Openfort BB 70.1",
      "scores"
    ],
    "h1": "Circle Wallets (Agent Wallets, Programmable Wallets) vs Openfort",
    "image": "https://www.anchorterminal.com/assets/og/compare-circle-wallets-vs-openfort.png",
    "path": "/compare/circle-wallets-vs-openfort",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Circle Wallets vs Openfort for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/circle-wallets-vs-openfort"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
