{
  "data": {
    "a": {
      "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-10T02:07:19.161241064Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 135,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 124,
          "p95ms24h": 218,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "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-10T02:07:19.161241064Z"
      }
    },
    "answer": "Openfort and Privy Wallets (server wallets, agent wallets, policy engine) score within a point of each other on agent readiness, 70.1 (BB) and 69.9 (B). Privy Wallets (server wallets, agent wallets, policy engine) leads on agent ergonomics and security \u0026 auth.",
    "b": {
      "slug": "privy",
      "name": "Privy Wallets (server wallets, agent wallets, policy engine)",
      "vendor": "Privy (Stripe)",
      "vendorUrl": "https://www.privy.io",
      "kind": "http-api",
      "category": "agent-wallets",
      "summary": "Wallet infrastructure owned by Stripe since June 2025.",
      "url": "https://www.anchorterminal.com/tools/privy",
      "markdownUrl": "https://www.anchorterminal.com/tools/privy.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/privy.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/privy.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.privy.io/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@privy-io/node"
        },
        {
          "registry": "npm",
          "name": "@privy-io/agent-wallet-cli"
        },
        {
          "registry": "pypi",
          "name": "privy-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST API uses Basic auth with app ID and app secret plus a privy-app-id header. Wallets owned by an authorisation key (or a key quorum) also need a signature from that key on each request. The Agent CLI uses a device authorisation flow approved in a browser, then short-lived signing keys; sessions last up to 30 days.",
      "pricing": "freemium",
      "pricingNotes": "Developer plan free up to 499 monthly active users, with 50,000 signatures and $1M transaction volume a month included. Core $299 a month (500 to 2,499 MAU) and Scale $499 a month (2,500 to 9,999 MAU). Past 10,000 MAU or 50,000 signatures, a $2,000 base plus $0.05 per MAU and $0.01 per signature. Enterprise is custom, from $0.001 per signature, with premium SLAs (https://www.privy.io/pricing).",
      "priceSummary": "$299 / mo",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "Privy ships x402 and MPP payer clients (createX402Client in Node, useX402Fetch in React) that sign 402 payment authorisations with a Privy wallet and retry, with a per-request maxValue cap; x402 works with gas-sponsored wallets. Privy's own API isn't paid via x402 (https://docs.privy.io/wallets/overview/solutions/agent-wallets; https://docs.privy.io/changelogs/product-updates).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 296371,
        "pypiWeekly": 12798,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.privy.io/wallets/overview/solutions/agent-wallets",
      "llmsTxt": "https://docs.privy.io/llms.txt",
      "openapi": "https://api.privy.io/v1/openapi.json",
      "capabilities": [
        "wallet.onchain",
        "wallet.custody",
        "wallet.spend-limits",
        "payments.x402"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "wallet",
        "stablecoin",
        "x402",
        "closed-source",
        "webhooks"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.9,
        "grade": "B",
        "agentReady": false,
        "rank": 166,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 80,
          "payments": 55,
          "reliability": 48,
          "schema": 83,
          "security": 85,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Default-deny policies with DENY precedence on recipients, values, contracts, calldata, typed data and time windows, enforced in AWS Nitro Enclaves. Database problems took API endpoints down for 71 minutes on 18 September 2026, one of 13 incidents since July.",
        "bestFor": "Builders who need fine-grained, enclave-enforced spending rules on programmatic wallets, or who want an agent to sign for a person's wallet with a revocable scoped signer.",
        "strengths": [
          "Default-deny policies with DENY precedence on recipients, values, contracts, calldata, typed data and time windows, enforced in AWS Nitro Enclaves",
          "Agent-owned wallets or revocable scoped signers on a person's wallet, plus key quorums for m-of-n approval",
          "Idempotency keys on every state-changing wallet route, honoured for 24 hours",
          "SOC 2 Type I and II, audits by Cure53, Zellic and Doyensec, and a HackerOne bug bounty",
          "x402 and MPP payer clients with a per-request `maxValue` cap"
        ],
        "weaknesses": [
          "Database problems took API endpoints down for 71 minutes on 18 September 2026, one of 13 incidents since July",
          "Rate limits aren't published as numbers",
          "Rolling caps are EVM only and update after signing, so parallel requests can exceed them",
          "The app secret can do anything in the app; the limits come from authorisation keys and policies",
          "No MCP server, and the Agent CLI needs a person to approve its login in a browser"
        ],
        "agentNotes": [
          "Add a rule for every RPC method the agent needs; a wallet with a policy denies anything unlisted",
          "Pair a rolling cap with a lower per-transaction cap, since aggregations update only after signing",
          "Send an idempotency key on `/rpc`, `/transfer` and `/wallets` calls; reusing one with a changed body returns 400",
          "Set `maxValue` on the x402 or MPP client for every request",
          "Retry a `transaction_broadcast_failure`; don't retry a `policy_violation`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.9
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 80,
          "payments": 55,
          "reliability": 48,
          "schema": 83,
          "security": 85,
          "transparency": 60
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "npm install -g @privy-io/agent-wallet-cli",
        "http": "curl https://api.privy.io/v1/wallets --user \"$PRIVY_APP_ID:$PRIVY_APP_SECRET\" -H \"privy-app-id: $PRIVY_APP_ID\""
      },
      "letme": {
        "capability": "https://letme.dev/wallet.onchain",
        "tool": "https://letme.dev/privy"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Core plan",
          "unit": "month",
          "usd": 299,
          "note": "500 to 2,499 MAU"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 499,
          "note": "2,500 to 9,999 MAU"
        },
        {
          "item": "Signature overage",
          "unit": "call",
          "usd": 0.01,
          "note": "per signature above 50,000 a month"
        }
      ],
      "provenance": {
        "legalEntity": "Horkos, LLC",
        "domain": "privy.io",
        "domainRegistered": "2018-10-07",
        "domainNote": "Privy trades as Horkos, LLC d/b/a Privy, a Stripe subsidiary since June 2025.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.privy.io/developer-terms-of-service",
        "privacy": "https://www.privy.io/privacy-policy",
        "statusPage": "https://status.privy.io",
        "changelog": "https://docs.privy.io/changelogs/product-updates",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/privy.json",
      "live": {
        "slug": "privy",
        "probe": {
          "target": "https://api.privy.io/v1",
          "method": "get",
          "lastAt": "2026-10-10T02:07:21.381352186Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 48,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 39,
          "p95ms24h": 106,
          "samples24h": 250,
          "samples30d": 2458,
          "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": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.privy.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:10.757035383Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@privy-io/agent-wallet-cli",
            "version": "0.3.7",
            "seenAt": "2026-10-09T17:14:57.73175546Z"
          },
          {
            "registry": "npm",
            "name": "@privy-io/node",
            "version": "0.35.0",
            "seenAt": "2026-10-09T17:14:56.79252986Z"
          },
          {
            "registry": "pypi",
            "name": "privy-client",
            "version": "0.7.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-09T17:14:59.127916328Z"
          }
        ],
        "npmWeekly": 195942,
        "pypiWeekly": 13323,
        "securityTxt": {
          "url": "https://privy.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:29.716273987Z"
        },
        "llmsTxt": {
          "url": "https://docs.privy.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:38.087639963Z"
        },
        "domain": {
          "domain": "privy.io",
          "checkedAt": "2026-10-04T13:06:04.948039908Z"
        },
        "pages": [
          {
            "url": "https://docs.privy.io/changelogs/product-updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:38:05.315515464Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b7efc61130a2"
          },
          {
            "url": "https://www.privy.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:18.858652672Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3fafdab3dba6"
          },
          {
            "url": "https://www.privy.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:20.866265868Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3dc0c2d903e9"
          },
          {
            "url": "https://www.privy.io/developer-terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:16.732244585Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b057defa15d5"
          }
        ],
        "updatedAt": "2026-10-10T02:07:21.381352186Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Openfort (Alamas Labs Inc.)",
        "b": "Privy (Stripe)",
        "name": "Vendor"
      },
      {
        "a": "https://api.openfort.io",
        "b": "https://api.privy.io/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "payer tooling only",
        "b": "payer tooling only",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Openfort Developer Terms of Service. The Node SDK and OpenSigner are MIT. The CLI repository and package state no licence",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-28",
        "b": "2026-09-28",
        "name": "Last release"
      },
      {
        "a": "2026-01-16",
        "b": "2025-12-16",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-04",
        "b": "no date given",
        "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": "not found in the text",
        "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": "10 stars, 7.6k npm/wk",
        "b": "296k npm/wk, 13k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Openfort and Privy Wallets (server wallets, agent wallets, policy engine) score within a point of each other on agent readiness, 70.1 (BB) and 69.9 (B). Privy Wallets (server wallets, agent wallets, policy engine) leads on agent ergonomics and security \u0026 auth.",
        "question": "Which is better for AI agents, Openfort or Privy Wallets (server wallets, agent wallets, policy engine)?"
      },
      {
        "answer": "Openfort needs an API key. Privy Wallets (server wallets, agent wallets, policy engine) takes an API key or an OAuth sign-in.",
        "question": "Do Openfort and Privy Wallets (server wallets, agent wallets, policy engine) need an API key?"
      },
      {
        "answer": "Yes. Openfort has a hosted endpoint at https://api.openfort.io and Privy Wallets (server wallets, agent wallets, policy engine) at https://api.privy.io/v1.",
        "question": "Can an agent call Openfort and Privy Wallets (server wallets, agent wallets, policy engine) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 88 against 48",
          "Schema \u0026 documentation, 89 against 83",
          "Payments \u0026 pricing, 60 against 55",
          "Maintenance \u0026 community, 87 against 80"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "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"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 73 against 65",
          "Security \u0026 auth, 85 against 65"
        ],
        "also": [
          "No incidents deducted, where Openfort loses 5 points for them"
        ],
        "goodFor": "Builders who need fine-grained, enclave-enforced spending rules on programmatic wallets, or who want an agent to sign for a person's wallet with a revocable scoped signer.",
        "slug": "privy",
        "watchFor": "Database problems took API endpoints down for 71 minutes on 18 September 2026, one of 13 incidents since July"
      }
    ],
    "job": {
      "capability": "wallet.onchain",
      "name": "Onchain wallets"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/circle-wallets-vs-openfort.json",
        "title": "Circle Wallets (Agent Wallets, Programmable Wallets) vs Openfort",
        "url": "https://www.anchorterminal.com/compare/circle-wallets-vs-openfort"
      },
      {
        "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/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/coinbase-cdp-agentkit-vs-privy.json",
        "title": "Coinbase Developer Platform (Agentic Wallet, AgentKit, CDP MCP) vs Privy Wallets (server wallets, agent wallets, policy engine)",
        "url": "https://www.anchorterminal.com/compare/coinbase-cdp-agentkit-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/privy-vs-sponge-wallet.json",
        "title": "Privy Wallets (server wallets, agent wallets, policy engine) vs Sponge Wallet",
        "url": "https://www.anchorterminal.com/compare/privy-vs-sponge-wallet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/privy-vs-turnkey-agentic-wallets.json",
        "title": "Privy Wallets (server wallets, agent wallets, policy engine) vs Turnkey Agentic Wallets",
        "url": "https://www.anchorterminal.com/compare/privy-vs-turnkey-agentic-wallets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcard-vs-openfort.json",
        "title": "Agentcard vs Openfort",
        "url": "https://www.anchorterminal.com/compare/agentcard-vs-openfort"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcard-vs-privy.json",
        "title": "Agentcard vs Privy Wallets (server wallets, agent wallets, policy engine)",
        "url": "https://www.anchorterminal.com/compare/agentcard-vs-privy"
      }
    ],
    "scores": [
      {
        "by": 40,
        "edge": "openfort",
        "key": "reliability",
        "name": "Reliability",
        "openfort": 88,
        "privy": 48,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "openfort",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openfort": 89,
        "privy": 83,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "privy",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openfort": 65,
        "privy": 73,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "privy",
        "key": "security",
        "name": "Security \u0026 auth",
        "openfort": 65,
        "privy": 85,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "openfort",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openfort": 60,
        "privy": 55,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "openfort",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openfort": 87,
        "privy": 80,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "privy",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openfort": 69,
        "privy": 71,
        "weight": 7
      }
    ],
    "summary": "Openfort and Privy Wallets (server wallets, agent wallets, policy engine) score within a point of each other on agent readiness, 70.1 (BB) and 69.9 (B). Privy Wallets (server wallets, agent wallets, policy engine) leads on agent ergonomics and security \u0026 auth. Both do onchain wallets.",
    "verdicts": {
      "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.",
      "privy": "Default-deny policies with DENY precedence on recipients, values, contracts, calldata, typed data and time windows, enforced in AWS Nitro Enclaves. Database problems took API endpoints down for 71 minutes on 18 September 2026, one of 13 incidents since July."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openfort-vs-privy",
    "json": "https://www.anchorterminal.com/compare/openfort-vs-privy.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openfort-vs-privy.md",
    "slim": "https://www.anchorterminal.com/compare/openfort-vs-privy.min.md"
  },
  "markdown": "Openfort and Privy Wallets (server wallets, agent wallets, policy engine) score within a point of each other on agent readiness, 70.1 (BB) and 69.9 (B). Privy Wallets (server wallets, agent wallets, policy engine) leads on agent ergonomics and security \u0026 auth. Both do onchain wallets.\n\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- Privy Wallets (server wallets, agent wallets, policy engine): grade B, 69.9/100, rank #166 of 950. Markdown https://www.anchorterminal.com/tools/privy.md · JSON https://www.anchorterminal.com/api/v1/tools/privy.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### 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 48\n- Schema \u0026 documentation, 89 against 83\n- Payments \u0026 pricing, 60 against 55\n- Maintenance \u0026 community, 87 against 80\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\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### Privy Wallets (server wallets, agent wallets, policy engine) (B)\n\nGood for: Builders who need fine-grained, enclave-enforced spending rules on programmatic wallets, or who want an agent to sign for a person's wallet with a revocable scoped signer.\n\nAhead on:\n- Agent ergonomics, 73 against 65\n- Security \u0026 auth, 85 against 65\n\nAlso in its favour:\n- No incidents deducted, where Openfort loses 5 points for them\n\nWatch for: Database problems took API endpoints down for 71 minutes on 18 September 2026, one of 13 incidents since July\n\n\n## Score by category\n\n| Category | Weight | Openfort | Privy Wallets (server wallets, agent wallets, policy engine) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 88 | 48 | Openfort +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 83 | Openfort +6 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 73 | Privy Wallets (server wallets, agent wallets, policy engine) +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 85 | Privy Wallets (server wallets, agent wallets, policy engine) +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 55 | Openfort +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 80 | Openfort +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 71 | Privy Wallets (server wallets, agent wallets, policy engine) +2 |\n| Negative events | ≤15 | -5 | 0 | |\n| **Total** | | **70.1 · BB** | **69.9 · B** | |\n\n## Facts side by side\n\n| Fact | Openfort | Privy Wallets (server wallets, agent wallets, policy engine) |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Openfort (Alamas Labs Inc.) | Privy (Stripe) |\n| Hosted endpoint | `https://api.openfort.io` | `https://api.privy.io/v1` |\n| Transports | HTTP, stdio | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | payer tooling only | payer tooling only |\n| Licence | Proprietary service under the Openfort Developer Terms of Service. The Node SDK and OpenSigner are MIT. The CLI repository and package state no licence | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-28 | 2026-09-28 |\n| Terms last updated | 2026-01-16 | 2025-12-16 |\n| Privacy policy last updated | 2026-09-04 | no date given |\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 | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 10 stars, 7.6k npm/wk | 296k npm/wk, 13k PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## Verdicts\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**Privy Wallets (server wallets, agent wallets, policy engine).** Default-deny policies with DENY precedence on recipients, values, contracts, calldata, typed data and time windows, enforced in AWS Nitro Enclaves. Database problems took API endpoints down for 71 minutes on 18 September 2026, one of 13 incidents since July.\n\n## Before you call either\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### Privy Wallets (server wallets, agent wallets, policy engine)\n\n1. Add a rule for every RPC method the agent needs; a wallet with a policy denies anything unlisted\n2. Pair a rolling cap with a lower per-transaction cap, since aggregations update only after signing\n3. Send an idempotency key on `/rpc`, `/transfer` and `/wallets` calls; reusing one with a changed body returns 400\n4. Set `maxValue` on the x402 or MPP client for every request\n5. Retry a `transaction_broadcast_failure`; don't retry a `policy_violation`\n\n## Questions\n\n### Which is better for AI agents, Openfort or Privy Wallets (server wallets, agent wallets, policy engine)?\n\nOpenfort and Privy Wallets (server wallets, agent wallets, policy engine) score within a point of each other on agent readiness, 70.1 (BB) and 69.9 (B). Privy Wallets (server wallets, agent wallets, policy engine) leads on agent ergonomics and security \u0026 auth.\n\n### Do Openfort and Privy Wallets (server wallets, agent wallets, policy engine) need an API key?\n\nOpenfort needs an API key. Privy Wallets (server wallets, agent wallets, policy engine) takes an API key or an OAuth sign-in.\n\n### Can an agent call Openfort and Privy Wallets (server wallets, agent wallets, policy engine) without installing anything?\n\nYes. Openfort has a hosted endpoint at https://api.openfort.io and Privy Wallets (server wallets, agent wallets, policy engine) at https://api.privy.io/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openfort-vs-privy.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openfort-vs-privy.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openfort\", \"b\": \"privy\"}`. From a terminal: `anchor compare openfort privy`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openfort.json and https://www.anchorterminal.com/api/v1/tools/privy.json\n\n## Other comparisons with Openfort or Privy Wallets (server wallets, agent wallets, policy engine)\n\n- [Circle Wallets (Agent Wallets, Programmable Wallets) vs Openfort](https://www.anchorterminal.com/compare/circle-wallets-vs-openfort.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- [Coinbase Developer Platform (Agentic Wallet, AgentKit, CDP MCP) vs Openfort](https://www.anchorterminal.com/compare/coinbase-cdp-agentkit-vs-openfort.md)\n- [Coinbase Developer Platform (Agentic Wallet, AgentKit, CDP MCP) vs Privy Wallets (server wallets, agent wallets, policy engine)](https://www.anchorterminal.com/compare/coinbase-cdp-agentkit-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- [Privy Wallets (server wallets, agent wallets, policy engine) vs Sponge Wallet](https://www.anchorterminal.com/compare/privy-vs-sponge-wallet.md)\n- [Privy Wallets (server wallets, agent wallets, policy engine) vs Turnkey Agentic Wallets](https://www.anchorterminal.com/compare/privy-vs-turnkey-agentic-wallets.md)\n- [Agentcard vs Openfort](https://www.anchorterminal.com/compare/agentcard-vs-openfort.md)\n- [Agentcard vs Privy Wallets (server wallets, agent wallets, policy engine)](https://www.anchorterminal.com/compare/agentcard-vs-privy.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": "Openfort vs Privy Wallets (server wallets, agent wallets, policy engine)",
        "url": ""
      }
    ],
    "description": "Openfort and Privy Wallets score within a point of each other for onchain wallets, 70.1 and 69.9 out of 100. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Openfort BB 70.1",
      "Privy Wallets (server wallets, agent wallets, policy engine) B 69.9",
      "scores"
    ],
    "h1": "Openfort vs Privy Wallets (server wallets, agent wallets, policy engine)",
    "image": "https://www.anchorterminal.com/assets/og/compare-openfort-vs-privy.png",
    "path": "/compare/openfort-vs-privy",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Openfort vs Privy Wallets for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/openfort-vs-privy"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 730
  },
  "version": 1
}
