{
  "data": {
    "a": {
      "slug": "fluxa-agentmarket",
      "name": "FluxA AgentMarket",
      "vendor": "FluxA Technology Pte. Ltd.",
      "vendorUrl": "https://agentmarket.fluxapay.xyz",
      "kind": "http-api",
      "category": "payment-platforms",
      "summary": "FluxA AgentMarket is a marketplace where AI agents find and pay for APIs, installable skills and LLM models, per call over x402 in Base USDC or from a prepaid Balance, with listings from FluxA and third-party creators.",
      "url": "https://www.anchorterminal.com/tools/fluxa-agentmarket",
      "markdownUrl": "https://www.anchorterminal.com/tools/fluxa-agentmarket.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/fluxa-agentmarket.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/fluxa-agentmarket.json",
      "dns": "fluxa-agentmarket.grade.anchorterminal.com",
      "repo": "https://github.com/FluxA-Agent-Payment/FluxA-AI-Wallet-MCP",
      "license": "Proprietary hosted service under the AgentMarket Terms of Service (effective 14 January 2026). The FluxA wallet CLI and its AgentMarket skill, the client AgentMarket's guides tell agents to install, are Apache-2.0 on GitHub",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://router.fluxapay.xyz",
      "packages": [
        {
          "registry": "npm",
          "name": "@fluxa-pay/fluxa-wallet"
        },
        {
          "registry": "npm",
          "name": "@fluxa-pay/fluxa-connect-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Discovery at `/api/discover` needs no credential. Paid APIs on router.fluxapay.xyz take an x402 payment per call, or a Bearer `fxa_live_` API key or FluxA Agent VC to charge the AgentMarket Balance. A person creates `fxa_live_` keys at agentmarket.fluxapay.xyz/keys (shown once), and each key carries a spending limit in Units that can change at any time. An Agent VC is a 5-minute token from FluxA AgentID, minted by the wallet CLI. Keys can also be listed, created, updated and revoked over `/llm/keys` with an Agent VC, and creation can be set to need a person's approval. Revocation is immediate.",
      "pricing": "usage",
      "pricingNotes": "Pay per call for listed APIs and per token for models, with no subscription except monthly Token Plans. Each API listing sets its own price, shown as a USD range in the catalogue (from $0.001 to $30 a call across the first 50). Model prices are published per 1M tokens. The Balance is bought in bundles of $1, $5, $10 and $25 by card (Stripe), from the FluxA wallet or with USDC from another wallet. Token Plans cost $18, $56 or $131.50 a month. Unused top-ups are refundable within 14 days; failed tasks from technical errors are credited back to the Balance. No free credit was found. The creator page states a 0 per cent platform fee (checked 2026-11-07).",
      "priceSummary": "$18 / mo",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "Paid API listings are proxied at `https://router.fluxapay.xyz/api/\u003cslug\u003e` and answer HTTP 402 with an `accepts` array; the agent pays and retries with `X-Payment` (x402 v1) or `PAYMENT-SIGNATURE` (v2). Balance top-ups at `/llm/topup/initiate` answer 402 too. The pricing page says USDC from another wallet works over x402 on Base for paid APIs, top-ups and Token Plans, and the FluxA wallet CLI signs the standard `exact` EIP-3009 scheme on Base. LLM calls charge the Balance with a key or Agent VC rather than per call. Not exercised (https://agentmarket.fluxapay.xyz/marketplace/apis/skills.md; https://agentmarket.fluxapay.xyz/pricing; https://agentmarket.fluxapay.xyz/llms.txt, checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://docs.fluxapay.xyz/",
      "llmsTxt": "https://agentmarket.fluxapay.xyz/llms.txt",
      "capabilities": [
        "payments.x402",
        "payments.stablecoin",
        "payments.metering",
        "payments.card",
        "inference.router",
        "agent.tools"
      ],
      "tags": [
        "hosted",
        "usage-based",
        "marketplace",
        "x402",
        "stablecoins",
        "usdc",
        "base",
        "llm-gateway",
        "llms-txt",
        "skills",
        "closed-source",
        "beta"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.4,
        "grade": "D",
        "agentReady": false,
        "rank": 1127,
        "ranked": true,
        "rankOf": 1513,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 64,
          "payments": 75,
          "reliability": 12,
          "schema": 53,
          "security": 51,
          "transparency": 32
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "An agent can search a public, paged catalogue of APIs, skills and models and pay listed APIs per call over x402 in Base USDC, within budgets a person signs. Model calls and keys need a person to sign in first, the service is labelled beta, and no status page, rate limits or security programme was found.",
        "bestFor": "An agent that needs many third-party APIs and models from one balance or one Base USDC wallet, with a person setting a budget once.",
        "strengths": [
          "`/api/discover` lists APIs, skills and models with no key, with `search`, `type`, `tags`, `limit` and `offset` and a Markdown format",
          "Paid APIs answer HTTP 402, and the pricing page says any Base wallet can pay over x402, so a per-call purchase needs no account",
          "One prepaid Balance pays for models through OpenAI Chat Completions and Anthropic Messages endpoints, with prices per 1M tokens published",
          "API keys are shown once, carry a spending limit that can change at any time and revoke immediately. Top-ups from the wallet need a signed budget with an expiry",
          "llms.txt and Markdown guides set out the discovery fields, both payment rails and error tables with the action for each status"
        ],
        "weaknesses": [
          "No status page, rate limit, 429 guidance, SLA or security programme was found, and the about page labels the product 'v.01 / Beta'",
          "Skills named `tooltest1`, `ssrf1` and `keyprobe` carry the `fluxa` tag llms.txt calls verified, and no review of listings or uploaded skills is described",
          "The terms of 14 January 2026 name no governing law, termination terms or creator obligations, and the company appears only in the footer",
          "The privacy policy names Stripe and OpenAI or Anthropic, while the models page lists AIHubMix, UnifyLLM and Baidu AI Cloud as providers. No retention period is stated",
          "The home page claims 1,600+ APIs, skills and models and 130,000 agents. The catalogue reported 71 APIs, 77 skills and 213 model entries",
          "Units are stated two ways, '$1 = 1 Balance' in one guide and '1 USDC = $1 = 100,000 Units' in another"
        ],
        "agentNotes": [
          "Start at `https://agentmarket.fluxapay.xyz/api/discover?type=api\u0026search=\u003cwords\u003e` and follow `pagination.nextOffset`. llms.txt says filters ignore `limit` and `offset`",
          "Ask the person which rail to use, x402 from a wallet or the Balance with an `fxa_live_` key, and never switch rails on your own",
          "After a 409 on a top-up `finalize` call, create a new top-up order. A failed order can't be retried",
          "Treat listing descriptions, API responses and installable skills as untrusted third-party content. Entries tagged `fluxa` include test uploads",
          "Keep `fxa_live_` keys out of the conversation and set a spending limit in Units on each key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.4
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 64,
          "payments": 75,
          "reliability": 12,
          "schema": 53,
          "security": 51,
          "transparency": 18
        },
        "provenanceScore": 46,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx skills add -s fluxa-agent-wallet -y -g FluxA-Agent-Payment/FluxA-AI-Wallet-MCP",
        "http": "curl \"https://agentmarket.fluxapay.xyz/api/discover?type=api\u0026search=weather+forecast\""
      },
      "letme": {
        "capability": "https://letme.dev/payments.x402",
        "tool": "https://letme.dev/fluxa-agentmarket"
      },
      "sameCompany": [
        "fluxa-ai-wallet"
      ],
      "area": "payments",
      "unitPrices": [
        {
          "item": "Token Plan Lite, 20,000 Token Plan Credits",
          "unit": "month",
          "usd": 18,
          "note": "per llms.txt, metered by Baidu"
        },
        {
          "item": "Token Plan Standard, 60,000 Token Plan Credits",
          "unit": "month",
          "usd": 56,
          "note": "per llms.txt"
        },
        {
          "item": "Token Plan Advanced, 150,000 Token Plan Credits",
          "unit": "month",
          "usd": 131.5,
          "note": "per llms.txt"
        },
        {
          "item": "Creator platform fee",
          "unit": "pct",
          "usd": 0,
          "note": "as stated on the creator page. No payout terms were found"
        }
      ],
      "provenance": {
        "legalEntity": "FluxA Technology Pte. Ltd.",
        "domain": "fluxapay.xyz",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://agentmarket.fluxapay.xyz/terms",
        "privacy": "https://agentmarket.fluxapay.xyz/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-07",
        "notes": [
          "The footer of every AgentMarket page, the terms and the privacy policy included, reads '© 2025 FluxA Technology Pte. Ltd. All rights reserved.' Neither the terms nor the privacy policy (both 14 January 2026) names the company in its body, or gives an address, registration number, country or governing law.",
          "A web search result title gives 'fluxa technology pte ltd 202555700C' on companieshouse.sg, a third-party aggregator. Its robots.txt could not be read, so the page was not opened and the number is unconfirmed.",
          "The discovery gateway is on agentmarket.fluxapay.xyz and the proxy and LLM endpoints on router.fluxapay.xyz. The wallet CLI also calls agentid, agentwallet, walletapi and wallet subdomains of fluxapay.xyz.",
          "agentmarket.fluxapay.xyz/robots.txt allows /, /marketplace/apis/, /api/discover and /api/llm/skills.md and disallows the rest of /api/ and /console/, with one sitemap. Nothing else under those paths was fetched.",
          "No status page or changelog is linked from the site or llms.txt. agentmarket.fluxapay.xyz/.well-known/security.txt could not be read. robots.txt for docs.fluxapay.xyz, fluxapay.xyz and fluxapay.substack.com could not be read, so the documentation site, the company site and the blog were not opened.",
          "firstReleased is 2026-01-14, the date of the terms and privacy policy, the earliest dated AgentMarket page found. `@fluxa-pay/fluxa-connect-mcp`, which connects MCP clients to FluxA's x402 proxy, was first published on 18 November 2025. lastRelease is 2026-11-06, `@fluxa-pay/fluxa-wallet` 0.6.0, the CLI that carries the market commands.",
          "RDAP for fluxapay.xyz and the Wayback Machine were not read."
        ],
        "score": 46
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/fluxa-agentmarket.json",
      "live": {
        "slug": "fluxa-agentmarket",
        "probe": {
          "target": "https://router.fluxapay.xyz",
          "method": "get",
          "lastAt": "2026-11-08T14:47:50.694179528Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 176,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 183,
          "p95ms24h": 248,
          "samples24h": 90,
          "samples30d": 90,
          "days": [
            {
              "date": "2026-11-08",
              "probes": 90,
              "ok": 90
            }
          ],
          "since": "2026-11-08T00:00:00Z"
        },
        "pages": [
          {
            "url": "https://agentmarket.fluxapay.xyz/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-08T14:50:00.242020458Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c26788b1c334"
          },
          {
            "url": "https://agentmarket.fluxapay.xyz/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-08T14:50:02.39776054Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ddffb5a7f4f6"
          }
        ],
        "updatedAt": "2026-11-08T14:50:02.39776054Z"
      },
      "streak": {
        "days": 0,
        "from": "2026-11-08",
        "sinceWatching": true,
        "best": 0
      }
    },
    "answer": "Tempo scores 77.3 (BB) on agent readiness against FluxA AgentMarket's 48.4 (D), and leads in every scored category.",
    "b": {
      "slug": "tempo",
      "name": "Tempo",
      "vendor": "Tempo",
      "vendorUrl": "https://tempo.xyz",
      "kind": "http-api",
      "category": "payment-platforms",
      "summary": "A payments-first Layer 1 chain incubated by Stripe and Paradigm, live on mainnet since 2026-03-18.",
      "url": "https://www.anchorterminal.com/tools/tempo",
      "markdownUrl": "https://www.anchorterminal.com/tools/tempo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tempo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tempo.json",
      "dns": "tempo.grade.anchorterminal.com",
      "repo": "https://github.com/tempoxyz/tempo",
      "license": "MIT OR Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.tempo.xyz/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "viem"
        },
        {
          "registry": "npm",
          "name": "mppx"
        },
        {
          "registry": "pypi",
          "name": "pympp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Public RPC (rpc.tempo.xyz) and most read endpoints of api.tempo.xyz answer without a key, within a per-IP limit. Those same endpoints accept MPP payment credentials (`Authorization: Payment`) instead of a key. Project-scoped API keys (`tempo:sk:` for production, `tempo_sandbox:sk:` for non-mainnet) go in the `tempo-api-key` header, or as a Bearer token, carry scopes such as `data:read` and optional IP allowlists, and are required for endpoints such as webhook management. The OpenAPI also accepts a `key` query parameter, which Tempo advises against. Payments are signed by the paying wallet.",
      "pricing": "usage",
      "pricingNotes": "No platform fee for using the chain. Transaction fees are paid in any supported USD stablecoin, with a dynamic base fee capped at about $0.0006 for a 50,000-gas transfer and a floor around $0.00003. Fees can be sponsored by a fee payer, billed through the Tempo API Console. API calls are free within quota; over quota, anonymous endpoints answer 402 and can be paid per request over MPP, with the amount given in the challenge, and keyed usage is billed in the console, with no published price for either. Stripe charges its own fees when it settles MPP payments on Tempo (https://tempo.xyz/developers/docs/protocol/fees).",
      "priceSummary": "$0.0006 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Tempo's own API takes MPP, not x402, on its anonymous endpoints (https://tempo.xyz/developers/docs/api/rate-limits). MPP itself added acceptance of x402 exact payments on EVM chains in June 2026 (https://mpp.dev/blog/evm-x402-support).",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 1029,
        "npmWeekly": 209447,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://tempo.xyz/developers/docs",
      "llmsTxt": "https://tempo.xyz/developers/llms.txt",
      "openapi": "https://api.tempo.xyz/openapi.json",
      "capabilities": [
        "payments.stablecoin",
        "payments.metering"
      ],
      "tags": [
        "hosted",
        "open-source",
        "mcp",
        "llms-txt",
        "openapi",
        "stablecoin",
        "typescript",
        "free-tier"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 33,
        "ranked": true,
        "rankOf": 1513,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 94,
          "maintenance": 88,
          "payments": 80,
          "reliability": 66,
          "schema": 90,
          "security": 60,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account. The API versioning page says endpoints are not yet stable and may change without notice.",
        "bestFor": "Builders who want to settle MPP payments in stablecoins at fractions of a cent, or agents that need chain data and can pay per request without an account.",
        "strengths": [
          "api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account",
          "Transaction fees capped around $0.0006 for a transfer and payable in any supported USD stablecoin, with sponsorship",
          "The API MCP server loads 92 tools on demand through four annotated meta-tools, with reads and writes kept apart",
          "`RateLimit-*` and `Retry-After` headers, one error envelope, cursor pagination and `Idempotency-Key` on five write operations",
          "Open-source node under MIT or Apache-2.0 with ten releases since 3 August and a dated changelog"
        ],
        "weaknesses": [
          "The API versioning page says endpoints are not yet stable and may change without notice",
          "The OpenAPI accepts an API key in a `key` query parameter",
          "No terms of service found for the API, console, CLI or MCP server, and no active bug bounty while audits continue",
          "The rate-limits page gives no quota numbers, only headers and 100 a minute for anonymous MCP calls",
          "No published price for API usage or per-request MPP payments"
        ],
        "agentNotes": [
          "Send `Authorization: Payment` up front to pay per request; a 402 after quota carries the challenge in `WWW-Authenticate`",
          "Read `RateLimit-Limit` and `RateLimit-Reset` on each response, since the docs don't publish the quotas",
          "Send keys in the `tempo-api-key` header, never the `key` query parameter, which can end up in logs",
          "On api.tempo.xyz/mcp, call `search_tools` and `get_tool_details` before `call_read_tool`; use `call_write_tool` only for writes",
          "Read the fee token from the receipt's `feeToken` after T13 (mainnet 3 November 2026), since fees can fall back from pathUSD to OUSD"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.3
          }
        ],
        "editorialScores": {
          "ergonomics": 94,
          "maintenance": 88,
          "payments": 80,
          "reliability": 66,
          "schema": 90,
          "security": 60,
          "transparency": 57
        },
        "provenanceScore": 79,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.tempo.xyz/v1/blocks",
        "claudeCode": "claude mcp add --transport http tempo https://mcp.tempo.xyz",
        "config": {
          "mcpServers": {
            "tempo": {
              "url": "https://mcp.tempo.xyz"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/payments.stablecoin",
        "tool": "https://letme.dev/tempo"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Transfer fee cap",
          "unit": "tx",
          "usd": 0.0006,
          "note": "base-fee cap for a 50,000-gas transfer; floor around $0.00003"
        }
      ],
      "provenance": {
        "legalEntity": "Tempo Labs Inc.",
        "domain": "tempo.xyz",
        "domainRegistered": "2017-11-09",
        "domainNote": "tempo.xyz was registered in 2017, before Tempo was founded in 2025, and transferred in September 2025. The privacy policy, last updated 31 July 2026, names Tempo Labs Inc. dba Tempo; tempo.xyz/terms and tempo.xyz/terms-of-service returned 404 and security.txt returned 404 on 1 November 2026. The status page at status.tempo.xyz now runs on incident.io, with history from 12 October 2026.",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://tempo.xyz/privacy-policy/",
        "statusPage": "https://status.tempo.xyz",
        "changelog": "https://tempo.xyz/developers/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "score": 79
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "agentAlone": true,
        "card": "no",
        "freeTier": true,
        "credential": "none",
        "euResidency": "unknown",
        "trainsOnData": "unknown",
        "zeroRetention": "unknown",
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tempo.json",
      "live": {
        "slug": "tempo",
        "probe": {
          "target": "https://api.tempo.xyz/v1",
          "method": "get",
          "lastAt": "2026-11-08T14:48:15.081025921Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 157,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 146,
          "p95ms24h": 281,
          "samples24h": 242,
          "samples30d": 7844,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-08",
              "probes": 150,
              "ok": 150
            }
          ],
          "since": "2026-10-08T00:00:00Z"
        },
        "vendorStatus": {
          "page": "https://status.tempo.xyz",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-08T14:51:51.439845469Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "tempoxyz/tempo",
            "version": "tempo/v1.18.2",
            "released": "2026-11-06",
            "seenAt": "2026-11-08T01:43:27.891972475Z"
          },
          {
            "registry": "npm",
            "name": "mppx",
            "version": "0.17.5",
            "seenAt": "2026-11-08T01:43:25.727971881Z"
          },
          {
            "registry": "npm",
            "name": "viem",
            "version": "2.57.16",
            "seenAt": "2026-11-08T01:43:25.514192466Z"
          },
          {
            "registry": "pypi",
            "name": "pympp",
            "version": "0.20.0",
            "released": "2026-11-03",
            "seenAt": "2026-11-08T01:43:27.707089772Z"
          }
        ],
        "githubStars": 1041,
        "npmWeekly": 9711995,
        "pypiWeekly": 589906,
        "securityTxt": {
          "url": "https://tempo.xyz/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-04T00:00:00Z",
          "checkedAt": "2026-11-07T15:59:54.744622685Z"
        },
        "llmsTxt": {
          "url": "https://tempo.xyz/developers/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:06.695005679Z"
        },
        "domain": {
          "domain": "tempo.xyz",
          "registered": "2017-11-09",
          "source": "https://rdap.centralnic.com/xyz/domain/tempo.xyz",
          "checkedAt": "2026-11-08T14:30:44.673460045Z"
        },
        "pages": [
          {
            "url": "https://tempo.xyz/developers/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:00.394260296Z",
            "changedAt": "2026-11-07T14:22:00.394260296Z",
            "fingerprint": "bcbfa2e109f0"
          },
          {
            "url": "https://tempo.xyz/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:02.623405838Z",
            "changedAt": "2026-10-31T06:22:30.925904907Z",
            "fingerprint": "2b4ba3c6317e"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.tempo.xyz",
          "checkedAt": "2026-11-08T02:02:28.473588404Z",
          "status": "ok",
          "note": "answered without the initialize handshake",
          "tools": [
            {
              "name": "search",
              "description": "Search Tempo, viem, wagmi, MPP, Vocs, and Regen docs.",
              "inputSchema": {
                "properties": {
                  "max_chars_per_chunk": {
                    "description": "Chars/chunk. Default 1200.",
                    "maximum": 12000,
                    "minimum": 300,
                    "type": "number"
                  },
                  "max_results": {
                    "description": "Chunks. Default 5.",
                    "maximum": 50,
                    "minimum": 1,
                    "type": "number"
                  },
                  "max_total_chars": {
                    "description": "Total text chars. Default 2400.",
                    "maximum": 50000,
                    "minimum": 300,
                    "type": "number"
                  },
                  "query": {
                    "description": "Question or task.",
                    "maxLength": 4096,
                    "type": "string"
                  },
                  "response_format": {
                    "description": "structured returns structuredContent.",
                    "enum": [
                      "text",
                      "structured"
                    ],
                    "type": "string"
                  },
                  "source": {
                    "description": "One source.",
                    "enum": [
                      "tempo",
                      "viem",
                      "wagmi",
                      "vocs",
                      "mpp",
                      "accounts",
                      "tips",
                      "regen"
                    ],
                    "type": "string"
                  },
                  "sources": {
                    "description": "Source filters.",
                    "items": {
                      "enum": [
                        "tempo",
                        "viem",
                        "wagmi",
                        "vocs",
                        "mpp",
                        "accounts",
                        "tips",
                        "regen"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "query"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "find_pages",
              "description": "Find page URLs from a source index, including docs navigation sections when available.",
              "inputSchema": {
                "properties": {
                  "max_results": {
                    "description": "Pages. Default 5.",
                    "maximum": 25,
                    "minimum": 1,
                    "type": "number"
                  },
                  "query": {
                    "description": "Page topic.",
                    "maxLength": 4096,
                    "type": "string"
                  },
                  "response_format": {
                    "description": "structured returns structuredContent.",
                    "enum": [
                      "text",
                      "structured"
                    ],
                    "type": "string"
                  },
                  "source": {
                    "description": "Source id.",
                    "enum": [
                      "tempo",
                      "viem",
                      "wagmi",
                      "vocs",
                      "mpp",
                      "accounts",
                      "tips",
                      "regen"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "source",
                  "query"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "read_page",
              "description": "Read one cleaned docs page.",
              "inputSchema": {
                "properties": {
                  "max_chars": {
                    "description": "Chars. Default 12000.",
                    "maximum": 50000,
                    "minimum": 300,
                    "type": "number"
                  },
                  "path": {
                    "description": "Page path.",
                    "type": "string"
                  },
                  "query": {
                    "description": "Focus excerpt when truncating.",
                    "maxLength": 4096,
                    "type": "string"
                  },
                  "response_format": {
                    "description": "structured returns structuredContent.",
                    "enum": [
                      "text",
                      "structured"
                    ],
                    "type": "string"
                  },
                  "source": {
                    "description": "Source id.",
                    "enum": [
                      "tempo",
                      "viem",
                      "wagmi",
                      "vocs",
                      "mpp",
                      "accounts",
                      "tips",
                      "regen"
                    ],
                    "type": "string"
                  },
                  "url": {
                    "description": "Same-origin page URL.",
                    "type": "string"
                  }
                },
                "required": [
                  "source"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "code",
              "description": "Execute JavaScript to perform multi-step Tempo docs lookups.\n\nAvailable read-only docs tools:\ntype SearchInput = {\n    /** Question or task. */\n    query: string;\n    /** One source. */\n    source?: \"tempo\" | \"viem\" | \"wagmi\" | \"vocs\" | \"mpp\" | \"accounts\" | \"tips\" | \"regen\";\n    /** Source filters. One of: tempo, viem, wagmi, vocs, mpp, accounts, tips, regen. */\n    sources?: string[];\n    /** Chunks. Default 5. */\n    max_results?: number;\n    /** Chars/chunk. Default 1200. */\n    max_chars_per_chunk?: number;\n    /** Total text chars. Default 2400. */\n    max_total_chars?: number;\n    /** structured returns structuredContent. */\n    response_format?: \"text\" | \"structured\";\n}\ntype SearchOutput = unknown\ntype FindPagesInput = {\n    /** Source id. */\n    source: \"tempo\" | \"viem\" | \"wagmi\" | \"vocs\" | \"mpp\" | \"accounts\" | \"tips\" | \"regen\";\n    /** Page topic. */\n    query: string;\n    /** Pages. Default 5. */\n    max_results?: number;\n    /** structured returns structuredContent. */\n    response_format?: \"text\" | \"structured\";\n}\ntype FindPagesOutput = unknown\ntype ReadPageInput = {\n    /** Source id. */\n    source: \"tempo\" | \"viem\" | \"wagmi\" | \"vocs\" | \"mpp\" | \"accounts\" | \"tips\" | \"regen\";\n    /** Page path. */\n    path?: string;\n    /** Same-origin page URL. */\n    url?: string;\n    /** Chars. Default 12000. */\n    max_chars?: number;\n    /** Focus excerpt when truncating. */\n    query?: string;\n    /** structured returns structuredContent. */\n    response_format?: \"text\" | \"structured\";\n}\ntype ReadPageOutput = unknown\n\ndeclare const codemode: {\n\t/**\n\t * Search Tempo, viem, wagmi, MPP, Vocs, and Regen docs.\n\t * @param input.query - Question or task.\n\t * @param input.source - One source.\n\t * @param input.sources - Source filters. One of: tempo, viem, wagmi, vocs, mpp, accounts, tips, regen.\n\t * @param input.max_results - Chunks. Default 5.\n\t * @param input.max_chars_per_chunk - Chars/chunk. Default 1200.\n\t * @param input.max_total_chars - Total text chars. Default 2400.\n\t * @param input.response_format - structured returns structuredContent.\n\t */\n\tsearch: (input: SearchInput) =\u003e Promise\u003cSearchOutput\u003e;\n\n\t/**\n\t * Find page URLs from a source index, including docs navigation sections when available.\n\t * @param input.source - Source id.\n\t * @param input.query - Page topic.\n\t * @param input.max_results - Pages. Default 5.\n\t * @param input.response_format - structured returns structuredContent.\n\t */\n\tfind_pages: (input: FindPagesInput) =\u003e Promise\u003cFindPagesOutput\u003e;\n\n\t/**\n\t * Read one cleaned docs page.\n\t * @param input.source - Source id.\n\t * @param input.path - Page path.\n\t * @param input.url - Same-origin page URL.\n\t * @param input.max_chars - Chars. Default 12000.\n\t * @param input.query - Focus excerpt when truncating.\n\t * @param input.response_format - structured returns structuredContent.\n\t */\n\tread_page: (input: ReadPageInput) =\u003e Promise\u003cReadPageOutput\u003e;\n}\n\nEach execution may call at most 10 docs tools total, including parallel calls and retries.\nWrite an async arrow function in JavaScript that returns the result.\nDo not use TypeScript syntax, type annotations, interfaces, or generics.\nDo not define a named function and then call it.\n\nExample: async () =\u003e { const found = await codemode.find_pages({ source: \"viem\", query: \"sendTransaction\" }); const page = await codemode.read_page({ source: \"viem\", url: found.result.pages[0].url, max_chars: 2000 }); return page.result.text; }",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "code": {
                    "description": "JavaScript async arrow function to execute",
                    "type": "string"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 1665,
          "changedAt": "2026-11-07T01:48:35.631360338Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 1665,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 1
            },
            "findings": [
              {
                "rule": "TC07",
                "severity": "warn",
                "tool": "code",
                "message": "the description is about 859 tokens",
                "fix": "Keep the description to what a model needs to choose and call the tool; move the manual to a resource or the docs."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "4 of 4 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "github": {
          "repo": "tempoxyz/tempo",
          "checkedAt": "2026-11-02T09:30:59.907291185Z",
          "stars": 1038,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T09:17:02Z",
          "openIssues": 66,
          "openPRs": 136,
          "issuesOpened90d": 41,
          "issuesClosed90d": 17,
          "prsMerged90d": 852,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 47,
            "failure": 0,
            "other": 3,
            "latest": "success",
            "latestAt": "2026-11-01T09:00:21Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 19,
            "medianDays": 1.9
          }
        },
        "updatedAt": "2026-11-08T14:51:51.439845469Z"
      },
      "streak": {
        "days": 5,
        "from": "2026-11-03",
        "last": {
          "kind": "breaking",
          "date": "2026-11-03",
          "what": "The T13 mainnet upgrade lets fees fall back to OUSD. Nodes must run v1.17.0, and integrations that pin pathUSD must accept OUSD",
          "source": "https://tempo.xyz/developers/docs/changelog"
        },
        "best": 21
      }
    },
    "edges": [
      {
        "by": 54,
        "category": "reliability",
        "leads": "tempo",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service, the discovery gateway on agentmarket.fluxapay.xyz and the proxy and LLM endpoints on router.fluxapay.xyz, from the vendor's pages. Nothing was called. No status page is linked from the site, the footer, llms.txt or the guides, and no status host was checked (0). With no readable incident history the record takes the default (5). Listing pages show a health count with no history, such as '10/10 endpoints healthy' on Minifetch. No rate limit with numbers was found in llms.txt, the guides or the CLI help. The only cap is a per-key spending limit (0). The Balance guide says to retry a 503 shortly without minting a new credential, replays of a settled top-up `finalize` call are idempotent, a failed order answers 409, and the card flow says 'a retry is a new order'. No 429 or Retry-After guidance was found. Termix earned 8 for the same kind of guidance with idempotency keys on writes (7 of 15). No SLA was found, and the terms supply the service 'as is' (0). The about page labels the product 'v.01 / Beta' (0). Total 12.",
          "b": "Status page at status.tempo.xyz with nine components across mainnet, testnet and the Tempo API (20). The page moved from Better Stack to incident.io, and on 1 November its history starts on 12 October 2026, with every component at 100% and no incidents listed since then. For 3 August to 12 October we rely on the old Better Stack feed as read on 17 October, which showed only short public RPC outages in the window, mainnet on 28 September (09:15 to 09:19 UTC) and 6 October (00:47 to 00:51 UTC), and testnet on 5 August, 23 September and 12 October (00:08 to 00:15 UTC), each under 15 minutes, so minor only (20). The rate-limits page, unchanged since 9 October, says \"Limits depend on the endpoint, key configuration, and billing state\" and asks callers to read `RateLimit-Limit`, and the OpenAPI still gives 100 requests a minute for anonymous MCP calls. Quota structure, `RateLimit-*` headers and one published number, short of the checklist's limits documented with numbers (10 of 15). 429s carry `Retry-After`, and the docs ask for backoff with jitter and give a five-attempt helper; we found no idempotency guidance for the fee-payer relay (13 of 15). No SLA (0). Mainnet has run since 18 March 2026, but the versioning policy still says \"Endpoints are not yet stable and may change without notice\" on 1 November (3 of 10). 20+20+10+13+0+3 = 66."
        },
        "scores": {
          "a": 12,
          "b": 66
        }
      },
      {
        "by": 37,
        "category": "schema",
        "leads": "tempo",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI file was found. llms.txt names none and the documentation site, docs.fluxapay.xyz, couldn't be read because its robots.txt couldn't be. The discovery response has documented fields (`apiServers`, `skills`, `models`, `pagination`), a GET on each listing's `urls.access` returns its endpoints and prices as JSON per the skill-creation guide, and the LLM endpoints follow the OpenAI and Anthropic formats (8 of 25). llms.txt and Markdown guides (getting-started.md, currency.md, create-skill.md, the APIs and Balance guides) written for agents (10). The guides say when to use `search` against `query`, that the external catalogues are a last resort and which rail fits which job. Listing descriptions come from creators and 17 of the first 50 skills have none (12 of 20). `type` is an enum that answers 400 to unknown values, `limit` is bounded at 1,000, and the chat and messages bodies follow published formats. Listing endpoints are described by each creator (9 of 15). curl examples for discovery, models and payment, a status table in the Balance guide with the action for 401, 503, 404, 402 and 409, and seven named mandate errors in the APIs guide (11 of 15). Paths carry `/llm/v1/` and llms.txt names minimum CLI versions, but no changelog was found (3 of 15). Total 53.",
          "b": "Public OpenAPI 3.1.0 at api.tempo.xyz/openapi.json, read on 1 November, with 136 paths and 159 operations (129 paths on 17 October), plus OpenRPC for JSON-RPC (25). llms.txt with 339 links and Markdown twins (10). Per-domain API guides, and the two MCP servers are told apart, mcp.tempo.xyz for documentation and api.tempo.xyz/mcp for the API, whose meta-tools say when to inspect a tool before calling it (16). Typed parameters such as `chainId` (mainnet, testnet or a number) and `limit` bounded to 5 to 200 (12). A single error envelope with stable `error.code`, field paths on validation errors and a request ID, plus a full code catalogue (14). `/v1` paths, a versioning policy with `Deprecation` and `Sunset` headers that applies once the API stabilises, and a dated node changelog (13)."
        },
        "scores": {
          "a": 53,
          "b": 90
        }
      },
      {
        "by": 36,
        "category": "transparency",
        "leads": "tempo",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. The marketplace, proxy and gateway are closed. The terms (effective 14 January 2026) cover pricing, refunds and acceptable use but name no governing law, termination terms, liability for third-party listings or creator obligations, and the company appears only in the footer. The CLI is Apache-2.0 (8 of 30). The privacy policy (14 January 2026) lists account, payment and usage data and says identity isn't shared with model providers. It says nothing on prompts, API payloads, retention, training or data location (6 of 30). No deprecation policy or dated notice was found, and the terms may change 'at any time' (0 of 20). The policy names Stripe and 'OpenAI/Anthropic API' as a non-exhaustive list, while the models page lists AIHubMix, UnifyLLM and Baidu AI Cloud as providers. No locations are given (4 of 20). Total 18. The provenance half is computed from the provenance block.",
          "b": "The node is MIT or Apache-2.0, but the API, console, CLI and MCP server have no terms of service we could find; tempo.xyz/terms and tempo.xyz/terms-of-service both returned 404 on 1 November (20). The privacy policy, still last updated 31 July 2026, names Tempo Labs Inc. dba Tempo, keeps data \"as long as necessary\" with no periods, notes that on-chain data can't be deleted, and covers transfers to the United States under Standard Contractual Clauses; the docs say API tokens are hashed at rest and redacted from logs. No DPA found (15). A written versioning and sunset policy, and every network upgrade in the changelog carries testnet and mainnet activation dates. T12 shipped in v1.16.0 on 6 October for testnet on 8 October and mainnet on 13 October. T13's page went up on 16 October, its dates were added on 22 October, and it activated on testnet on 29 October with mainnet set for 3 November, so 7 and 12 days' notice. Notice has been as short as three days (16). Stripe is named for console billing and PostHog for web analytics, and the policy says data may be processed in the United States; no subprocessor list found (6)."
        },
        "scores": {
          "a": 32,
          "b": 68
        }
      },
      {
        "by": 28,
        "category": "ergonomics",
        "leads": "tempo",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Graded on the HTTP API. Discovery takes `limit` up to 1,000, `type` and `tags` filters and a Markdown format, with no field selection, and listing responses vary by creator (15 of 25). `limit`, `offset` and `nextOffset` on discovery, `search` and `query` modes, and the ledger takes `kind`, `limit` (maximum 100) and `offset`. llms.txt says filters ignore `limit` and `offset` (16 of 20). The Balance guide's status table gives an action for each status, the APIs guide names `insufficient_balance`, `mandate_budget_exceeded`, `agent_not_registered` and others, and a model served only on Messages answers 400 on chat (15 of 20). `finalize` replays are idempotent and a dead order answers 409 with the instruction to start a new one. No idempotency key on paid calls was found (10 of 20). The LLM endpoints accept any OpenAI or Anthropic client, discovery needs no parameters, and the only official client is the TypeScript wallet CLI (10 of 15). Total 66.",
          "b": "api.tempo.xyz/mcp lists four compact meta-tools (`search_tools`, `get_tool_details`, `call_read_tool`, `call_write_tool`, about 2.3 KB in all) that page through 92 API and docs tools on 1 November (87 on 17 October) and load a schema only on request, and mcp.tempo.xyz lists four documentation tools (25). Cursor pagination on every list endpoint, optional page pagination, and `limit` from 5 to 200 (18). Errors tell the agent to branch on `error.code` and point at the offending field, and the 402 for payment is protocol-native (18). Every MCP tool on both servers carries `readOnlyHint` and `destructiveHint`, writes go through a separate `call_write_tool`, and the OpenAPI takes an `Idempotency-Key` on five write operations on 1 November (route transfers, vault and zone transfers, V2 deposit addresses and MPP broadcast; the separate universal deposit address operation listed on 17 October is no longer in the file), with a 24-hour replay window on route writes, though not on webhook writes (18). Public reads need no key and default to mainnet, with clients for TypeScript (viem/tempo, mppx), Python (pympp) and Rust (15)."
        },
        "scores": {
          "a": 66,
          "b": 94
        }
      },
      {
        "by": 24,
        "category": "maintenance",
        "leads": "tempo",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read for a closed service. No changelog or dated release notes were found. The models page says the catalogue was 'last updated November 5, 2026', and `@fluxa-pay/fluxa-wallet` 0.6.0, the CLI that carries the `market` commands llms.txt relies on, was published on 6 November 2026 (30). The CLI had eight releases between 10 August and 6 November 2026, 0.4.12 to 0.6.0 (20). Support is a Discord server and support.fluxapay@fluxapay.xyz, neither tested, and GitHub issues couldn't be read because the GitHub API refused us (3 of 15). No AgentMarket SDK. The TypeScript CLI is the official client and the LLM endpoints take OpenAI and Anthropic SDKs. Not an MCP server, so the registry line reads as SDKs (7 of 15). The CLI repository has 7 test files and no CI workflow, and the npm package declares no repository. `@fluxa-pay/fluxa-connect-mcp` points to a repository that isn't public (4 of 10). Total 64.",
          "b": "Node v1.17.0 (T13) published in the changelog on 26 October 2026, tagged `tempo/v1.17.0` on 23 October (30). Ten releases from v1.12.0 on 3 August to v1.17.0 (20). 175 commits to the node repo's default branch since 17 October and a dated public changelog; we didn't read the issue queue (18 of 25). Current TypeScript, Python and Rust clients, with pytempo and tempo-go 0.6.1 listed for T12; we didn't check the MCP registry (10). CI workflows for tests, lint, semver checks, dependency scans and reproducible builds, re-read in the repository on 1 November (10)."
        },
        "scores": {
          "a": 64,
          "b": 88
        }
      },
      {
        "by": 9,
        "category": "security",
        "leads": "tempo",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "`fxa_live_` keys are created by a person at /keys and shown once, each with a spending limit in Units that changes within seconds, and are revoked immediately over `DELETE /llm/keys/\u003cid\u003e`, with written rotation steps. Key management needs a 5-minute Agent VC, never a key, and creation can be set to need a person's approval. No permission scopes beyond the spending limit were found, and no secret in a URL (24 of 30). Wallet payments need a mandate a person signs with a USDC budget and an expiry, and the Balance guide says to confirm every top-up with the user. The APIs guide tells agents not to ask before paying within a signed mandate, and no read-only key was found (14 of 20). The marketplace returns content from third-party APIs and installs third-party skills. Results carry a `fluxa` or `bazaar` source tag, but entries named `ssrf1`, `keyprobe` and `tooltest1` are tagged `fluxa`, no review of uploads is described, and no guidance on treating responses or skills as untrusted was found (2 of 15). The balance endpoint returns available, spent, burn per day and owed, the ledger lists spend and purchases per merchant, and the wallet skill reads an `X-LLM-Cost` header on model calls (11 of 15). No disclosure policy, bug bounty, certification or advisory was found. security.txt couldn't be read and is scored absent, and the privacy policy says only 'industry-standard security measures' (0 of 20). Total 51.",
          "b": "Project-scoped API keys with named scopes such as `data:read`, documented rotation and revocation, optional IP allowlists, environment prefixes (`tempo:sk:` and `tempo_sandbox:sk:`), and only a hash stored at rest. MPP payment credentials are kept separate from keys (30). The OpenAPI still lists a `key` query parameter as a \"Supported query-string alternative for API keys\" on 1 November, with a warning that URLs may be logged, so a secret can travel in a URL (minus 10). Sandbox keys can't touch mainnet, most endpoints are read-only, the API MCP server splits read and write calls, and the console sets monthly spend and fee-sponsorship limits. Payments are signed by the agent's own wallet with no approval step on Tempo's side (16). Chain data such as token names and memos is attacker-controlled and we found no prompt-injection guidance (6). Console usage reports, `Payment-Receipt` headers and a public ledger (10). The organisation-wide SECURITY.md (in tempoxyz/.github, shown on the node repo) asks for reports to security@tempo.xyz with an acknowledgement within 5 days, and it and the node README still say Tempo \"is still undergoing audit and does not have an active bug bounty\". tempo.xyz/.well-known/security.txt returned 404 on 1 November. A security release (v1.13.1, 20 August 2026) was announced in the public changelog, the node patched rustls advisories in its dependencies on 14 October and RUSTSEC-2026-0385 (ctutils) before v1.17.0, and bumped tokio for RUSTSEC-2026-0386 on 23 October, a dependency fix in no tagged release on 1 November (8). Tempo doesn't hold user funds; wallets are self-custodied and stablecoins are issued by third parties."
        },
        "scores": {
          "a": 51,
          "b": 60
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "FluxA Technology Pte. Ltd.",
        "b": "Tempo",
        "name": "Vendor"
      },
      {
        "a": "https://router.fluxapay.xyz",
        "b": "https://api.tempo.xyz/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "payer tooling only",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under the AgentMarket Terms of Service (effective 14 January 2026). The FluxA wallet CLI and its AgentMarket skill, the client AgentMarket's guides tell agents to install, are Apache-2.0 on GitHub",
        "b": "MIT OR Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "4",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-06",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "not read yet",
        "b": "2026-07-31",
        "name": "Privacy policy last updated"
      },
      {
        "a": "none",
        "b": "1k stars, 209k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.1/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Tempo scores 77.3 (BB) on agent readiness against FluxA AgentMarket's 48.4 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, FluxA AgentMarket or Tempo?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do FluxA AgentMarket and Tempo need an API key?"
      },
      {
        "answer": "Yes. FluxA AgentMarket has a hosted endpoint at https://router.fluxapay.xyz and Tempo at https://api.tempo.xyz/v1.",
        "question": "Can an agent call FluxA AgentMarket and Tempo without installing anything?"
      },
      {
        "answer": "No open-source release is listed for FluxA AgentMarket. Tempo is open source (MIT OR Apache-2.0).",
        "question": "Are FluxA AgentMarket and Tempo open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An agent that needs many third-party APIs and models from one balance or one Base USDC wallet, with a person setting a budget once.",
        "slug": "fluxa-agentmarket",
        "watchFor": "No status page, rate limit, 429 guidance, SLA or security programme was found, and the about page labels the product 'v.01 / Beta'"
      },
      {
        "aheadOn": [
          "Reliability, 66 against 12",
          "Schema \u0026 documentation, 90 against 53",
          "Agent ergonomics, 94 against 66",
          "Security \u0026 auth, 60 against 51",
          "Payments \u0026 pricing, 80 against 75",
          "Maintenance \u0026 community, 88 against 64",
          "Transparency \u0026 trust, 68 against 32"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Open source"
        ],
        "goodFor": "Builders who want to settle MPP payments in stablecoins at fractions of a cent, or agents that need chain data and can pay per request without an account.",
        "slug": "tempo",
        "watchFor": "The API versioning page says endpoints are not yet stable and may change without notice"
      }
    ],
    "history": {
      "fluxa-agentmarket": null,
      "tempo": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 77.2,
          "fromGrade": "BB",
          "to": 77.3,
          "toGrade": "BB"
        },
        {
          "causes": [
            "product",
            "evidence"
          ],
          "date": "2026-10-17",
          "delta": 0.6,
          "from": 76.6,
          "fromGrade": "BB",
          "to": 77.2,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "payments.stablecoin",
      "name": "Stablecoin payments"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-lago.json",
        "title": "FluxA AgentMarket vs Lago",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-lago"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-metronome.json",
        "title": "FluxA AgentMarket vs Metronome",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-metronome"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-orb.json",
        "title": "FluxA AgentMarket vs Orb",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-orb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-paid.json",
        "title": "FluxA AgentMarket vs Paid",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-paid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lago-vs-tempo.json",
        "title": "Lago vs Tempo",
        "url": "https://www.anchorterminal.com/compare/lago-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metronome-vs-tempo.json",
        "title": "Metronome vs Tempo",
        "url": "https://www.anchorterminal.com/compare/metronome-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orb-vs-tempo.json",
        "title": "Orb vs Tempo",
        "url": "https://www.anchorterminal.com/compare/orb-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paid-vs-tempo.json",
        "title": "Paid vs Tempo",
        "url": "https://www.anchorterminal.com/compare/paid-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adyen-mcp-server-vs-fluxa-agentmarket.json",
        "title": "Adyen MCP server vs FluxA AgentMarket",
        "url": "https://www.anchorterminal.com/compare/adyen-mcp-server-vs-fluxa-agentmarket"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crossmint-vs-fluxa-agentmarket.json",
        "title": "Crossmint API + Docs MCP vs FluxA AgentMarket",
        "url": "https://www.anchorterminal.com/compare/crossmint-vs-fluxa-agentmarket"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atxp-vs-fluxa-agentmarket.json",
        "title": "ATXP vs FluxA AgentMarket",
        "url": "https://www.anchorterminal.com/compare/atxp-vs-fluxa-agentmarket"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atxp-vs-tempo.json",
        "title": "ATXP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/atxp-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-tempo.json",
        "title": "Circle Gateway Nanopayments vs Tempo",
        "url": "https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crossmint-vs-tempo.json",
        "title": "Crossmint API + Docs MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/crossmint-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-skyfire.json",
        "title": "FluxA AgentMarket vs Skyfire API + MCP",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-skyfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-termix.json",
        "title": "FluxA AgentMarket vs TermiX AACP",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-termix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nevermined-vs-tempo.json",
        "title": "Nevermined API + MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/nevermined-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/skyfire-vs-tempo.json",
        "title": "Skyfire API + MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/skyfire-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stripe-mcp-vs-tempo.json",
        "title": "Stripe API + MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/stripe-mcp-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tempo-vs-termix.json",
        "title": "Tempo vs TermiX AACP",
        "url": "https://www.anchorterminal.com/compare/tempo-vs-termix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-fluxa-agentmarket.json",
        "title": "Circle Gateway Nanopayments vs FluxA AgentMarket",
        "url": "https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-fluxa-agentmarket"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-fluxa-ai-wallet.json",
        "title": "FluxA AgentMarket vs FluxA AI Wallet",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-fluxa-ai-wallet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-nevermined.json",
        "title": "FluxA AgentMarket vs Nevermined API + MCP",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-nevermined"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-payman.json",
        "title": "FluxA AgentMarket vs Payman Genie MCP",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-payman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-stripe-mcp.json",
        "title": "FluxA AgentMarket vs Stripe API + MCP",
        "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-stripe-mcp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 54,
        "edge": "tempo",
        "fluxa-agentmarket": 12,
        "key": "reliability",
        "name": "Reliability",
        "tempo": 66,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "tempo",
        "fluxa-agentmarket": 53,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tempo": 90,
        "weight": 13
      },
      {
        "by": 28,
        "edge": "tempo",
        "fluxa-agentmarket": 66,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tempo": 94,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "tempo",
        "fluxa-agentmarket": 51,
        "key": "security",
        "name": "Security \u0026 auth",
        "tempo": 60,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "tempo",
        "fluxa-agentmarket": 75,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tempo": 80,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "tempo",
        "fluxa-agentmarket": 64,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tempo": 88,
        "weight": 7
      },
      {
        "by": 36,
        "edge": "tempo",
        "fluxa-agentmarket": 32,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tempo": 68,
        "weight": 7
      }
    ],
    "summary": "Tempo scores 77.3 (BB) on agent readiness against FluxA AgentMarket's 48.4 (D), and leads in every scored category. Both do stablecoin payments.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "fluxa-agentmarket": "An agent can search a public, paged catalogue of APIs, skills and models and pay listed APIs per call over x402 in Base USDC, within budgets a person signs. Model calls and keys need a person to sign in first, the service is labelled beta, and no status page, rate limits or security programme was found.",
      "tempo": "api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account. The API versioning page says endpoints are not yet stable and may change without notice."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-tempo",
    "json": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-tempo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-tempo.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-tempo.min.md"
  },
  "markdown": "Tempo scores 77.3 (BB) on agent readiness against FluxA AgentMarket's 48.4 (D), and leads in every scored category. Both do stablecoin payments.\n\n- FluxA AgentMarket: grade D, 48.4/100, rank #1127 of 1513. Markdown https://www.anchorterminal.com/tools/fluxa-agentmarket.md · JSON https://www.anchorterminal.com/api/v1/tools/fluxa-agentmarket.json\n- Tempo: grade BB, 77.3/100, rank #33 of 1513. Markdown https://www.anchorterminal.com/tools/tempo.md · JSON https://www.anchorterminal.com/api/v1/tools/tempo.json\n- Best payment and monetisation platforms for AI agents: https://www.anchorterminal.com/best/payment-platforms/index.md\n- All 104 platforms comparisons: https://www.anchorterminal.com/compare/payment-platforms/index.md\n\n## Which one, for what\n\n### FluxA AgentMarket (D)\n\nGood for: An agent that needs many third-party APIs and models from one balance or one Base USDC wallet, with a person setting a budget once.\n\nWatch for: No status page, rate limit, 429 guidance, SLA or security programme was found, and the about page labels the product 'v.01 / Beta'\n\n### Tempo (BB)\n\nGood for: Builders who want to settle MPP payments in stablecoins at fractions of a cent, or agents that need chain data and can pay per request without an account.\n\nAhead on:\n- Reliability, 66 against 12\n- Schema \u0026 documentation, 90 against 53\n- Agent ergonomics, 94 against 66\n- Security \u0026 auth, 60 against 51\n- Payments \u0026 pricing, 80 against 75\n- Maintenance \u0026 community, 88 against 64\n- Transparency \u0026 trust, 68 against 32\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Open source\n\nWatch for: The API versioning page says endpoints are not yet stable and may change without notice\n\n\n## Why the edge\n\n### Reliability: Tempo +54\n\n- FluxA AgentMarket (12): Graded as a hosted service, the discovery gateway on agentmarket.fluxapay.xyz and the proxy and LLM endpoints on router.fluxapay.xyz, from the vendor's pages. Nothing was called. No status page is linked from the site, the footer, llms.txt or the guides, and no status host was checked (0). With no readable incident history the record takes the default (5). Listing pages show a health count with no history, such as '10/10 endpoints healthy' on Minifetch. No rate limit with numbers was found in llms.txt, the guides or the CLI help. The only cap is a per-key spending limit (0). The Balance guide says to retry a 503 shortly without minting a new credential, replays of a settled top-up `finalize` call are idempotent, a failed order answers 409, and the card flow says 'a retry is a new order'. No 429 or Retry-After guidance was found. Termix earned 8 for the same kind of guidance with idempotency keys on writes (7 of 15). No SLA was found, and the terms supply the service 'as is' (0). The about page labels the product 'v.01 / Beta' (0). Total 12.\n- Tempo (66): Status page at status.tempo.xyz with nine components across mainnet, testnet and the Tempo API (20). The page moved from Better Stack to incident.io, and on 1 November its history starts on 12 October 2026, with every component at 100% and no incidents listed since then. For 3 August to 12 October we rely on the old Better Stack feed as read on 17 October, which showed only short public RPC outages in the window, mainnet on 28 September (09:15 to 09:19 UTC) and 6 October (00:47 to 00:51 UTC), and testnet on 5 August, 23 September and 12 October (00:08 to 00:15 UTC), each under 15 minutes, so minor only (20). The rate-limits page, unchanged since 9 October, says \"Limits depend on the endpoint, key configuration, and billing state\" and asks callers to read `RateLimit-Limit`, and the OpenAPI still gives 100 requests a minute for anonymous MCP calls. Quota structure, `RateLimit-*` headers and one published number, short of the checklist's limits documented with numbers (10 of 15). 429s carry `Retry-After`, and the docs ask for backoff with jitter and give a five-attempt helper; we found no idempotency guidance for the fee-payer relay (13 of 15). No SLA (0). Mainnet has run since 18 March 2026, but the versioning policy still says \"Endpoints are not yet stable and may change without notice\" on 1 November (3 of 10). 20+20+10+13+0+3 = 66.\n\n### Schema \u0026 documentation: Tempo +37\n\n- FluxA AgentMarket (53): No OpenAPI file was found. llms.txt names none and the documentation site, docs.fluxapay.xyz, couldn't be read because its robots.txt couldn't be. The discovery response has documented fields (`apiServers`, `skills`, `models`, `pagination`), a GET on each listing's `urls.access` returns its endpoints and prices as JSON per the skill-creation guide, and the LLM endpoints follow the OpenAI and Anthropic formats (8 of 25). llms.txt and Markdown guides (getting-started.md, currency.md, create-skill.md, the APIs and Balance guides) written for agents (10). The guides say when to use `search` against `query`, that the external catalogues are a last resort and which rail fits which job. Listing descriptions come from creators and 17 of the first 50 skills have none (12 of 20). `type` is an enum that answers 400 to unknown values, `limit` is bounded at 1,000, and the chat and messages bodies follow published formats. Listing endpoints are described by each creator (9 of 15). curl examples for discovery, models and payment, a status table in the Balance guide with the action for 401, 503, 404, 402 and 409, and seven named mandate errors in the APIs guide (11 of 15). Paths carry `/llm/v1/` and llms.txt names minimum CLI versions, but no changelog was found (3 of 15). Total 53.\n- Tempo (90): Public OpenAPI 3.1.0 at api.tempo.xyz/openapi.json, read on 1 November, with 136 paths and 159 operations (129 paths on 17 October), plus OpenRPC for JSON-RPC (25). llms.txt with 339 links and Markdown twins (10). Per-domain API guides, and the two MCP servers are told apart, mcp.tempo.xyz for documentation and api.tempo.xyz/mcp for the API, whose meta-tools say when to inspect a tool before calling it (16). Typed parameters such as `chainId` (mainnet, testnet or a number) and `limit` bounded to 5 to 200 (12). A single error envelope with stable `error.code`, field paths on validation errors and a request ID, plus a full code catalogue (14). `/v1` paths, a versioning policy with `Deprecation` and `Sunset` headers that applies once the API stabilises, and a dated node changelog (13).\n\n### Transparency \u0026 trust: Tempo +36\n\n- FluxA AgentMarket (32): The editorial half. The marketplace, proxy and gateway are closed. The terms (effective 14 January 2026) cover pricing, refunds and acceptable use but name no governing law, termination terms, liability for third-party listings or creator obligations, and the company appears only in the footer. The CLI is Apache-2.0 (8 of 30). The privacy policy (14 January 2026) lists account, payment and usage data and says identity isn't shared with model providers. It says nothing on prompts, API payloads, retention, training or data location (6 of 30). No deprecation policy or dated notice was found, and the terms may change 'at any time' (0 of 20). The policy names Stripe and 'OpenAI/Anthropic API' as a non-exhaustive list, while the models page lists AIHubMix, UnifyLLM and Baidu AI Cloud as providers. No locations are given (4 of 20). Total 18. The provenance half is computed from the provenance block.\n- Tempo (68): The node is MIT or Apache-2.0, but the API, console, CLI and MCP server have no terms of service we could find; tempo.xyz/terms and tempo.xyz/terms-of-service both returned 404 on 1 November (20). The privacy policy, still last updated 31 July 2026, names Tempo Labs Inc. dba Tempo, keeps data \"as long as necessary\" with no periods, notes that on-chain data can't be deleted, and covers transfers to the United States under Standard Contractual Clauses; the docs say API tokens are hashed at rest and redacted from logs. No DPA found (15). A written versioning and sunset policy, and every network upgrade in the changelog carries testnet and mainnet activation dates. T12 shipped in v1.16.0 on 6 October for testnet on 8 October and mainnet on 13 October. T13's page went up on 16 October, its dates were added on 22 October, and it activated on testnet on 29 October with mainnet set for 3 November, so 7 and 12 days' notice. Notice has been as short as three days (16). Stripe is named for console billing and PostHog for web analytics, and the policy says data may be processed in the United States; no subprocessor list found (6).\n\n### Agent ergonomics: Tempo +28\n\n- FluxA AgentMarket (66): Graded on the HTTP API. Discovery takes `limit` up to 1,000, `type` and `tags` filters and a Markdown format, with no field selection, and listing responses vary by creator (15 of 25). `limit`, `offset` and `nextOffset` on discovery, `search` and `query` modes, and the ledger takes `kind`, `limit` (maximum 100) and `offset`. llms.txt says filters ignore `limit` and `offset` (16 of 20). The Balance guide's status table gives an action for each status, the APIs guide names `insufficient_balance`, `mandate_budget_exceeded`, `agent_not_registered` and others, and a model served only on Messages answers 400 on chat (15 of 20). `finalize` replays are idempotent and a dead order answers 409 with the instruction to start a new one. No idempotency key on paid calls was found (10 of 20). The LLM endpoints accept any OpenAI or Anthropic client, discovery needs no parameters, and the only official client is the TypeScript wallet CLI (10 of 15). Total 66.\n- Tempo (94): api.tempo.xyz/mcp lists four compact meta-tools (`search_tools`, `get_tool_details`, `call_read_tool`, `call_write_tool`, about 2.3 KB in all) that page through 92 API and docs tools on 1 November (87 on 17 October) and load a schema only on request, and mcp.tempo.xyz lists four documentation tools (25). Cursor pagination on every list endpoint, optional page pagination, and `limit` from 5 to 200 (18). Errors tell the agent to branch on `error.code` and point at the offending field, and the 402 for payment is protocol-native (18). Every MCP tool on both servers carries `readOnlyHint` and `destructiveHint`, writes go through a separate `call_write_tool`, and the OpenAPI takes an `Idempotency-Key` on five write operations on 1 November (route transfers, vault and zone transfers, V2 deposit addresses and MPP broadcast; the separate universal deposit address operation listed on 17 October is no longer in the file), with a 24-hour replay window on route writes, though not on webhook writes (18). Public reads need no key and default to mainnet, with clients for TypeScript (viem/tempo, mppx), Python (pympp) and Rust (15).\n\n### Maintenance \u0026 community: Tempo +24\n\n- FluxA AgentMarket (64): Read for a closed service. No changelog or dated release notes were found. The models page says the catalogue was 'last updated November 5, 2026', and `@fluxa-pay/fluxa-wallet` 0.6.0, the CLI that carries the `market` commands llms.txt relies on, was published on 6 November 2026 (30). The CLI had eight releases between 10 August and 6 November 2026, 0.4.12 to 0.6.0 (20). Support is a Discord server and support.fluxapay@fluxapay.xyz, neither tested, and GitHub issues couldn't be read because the GitHub API refused us (3 of 15). No AgentMarket SDK. The TypeScript CLI is the official client and the LLM endpoints take OpenAI and Anthropic SDKs. Not an MCP server, so the registry line reads as SDKs (7 of 15). The CLI repository has 7 test files and no CI workflow, and the npm package declares no repository. `@fluxa-pay/fluxa-connect-mcp` points to a repository that isn't public (4 of 10). Total 64.\n- Tempo (88): Node v1.17.0 (T13) published in the changelog on 26 October 2026, tagged `tempo/v1.17.0` on 23 October (30). Ten releases from v1.12.0 on 3 August to v1.17.0 (20). 175 commits to the node repo's default branch since 17 October and a dated public changelog; we didn't read the issue queue (18 of 25). Current TypeScript, Python and Rust clients, with pytempo and tempo-go 0.6.1 listed for T12; we didn't check the MCP registry (10). CI workflows for tests, lint, semver checks, dependency scans and reproducible builds, re-read in the repository on 1 November (10).\n\n### Security \u0026 auth: Tempo +9\n\n- FluxA AgentMarket (51): `fxa_live_` keys are created by a person at /keys and shown once, each with a spending limit in Units that changes within seconds, and are revoked immediately over `DELETE /llm/keys/\u003cid\u003e`, with written rotation steps. Key management needs a 5-minute Agent VC, never a key, and creation can be set to need a person's approval. No permission scopes beyond the spending limit were found, and no secret in a URL (24 of 30). Wallet payments need a mandate a person signs with a USDC budget and an expiry, and the Balance guide says to confirm every top-up with the user. The APIs guide tells agents not to ask before paying within a signed mandate, and no read-only key was found (14 of 20). The marketplace returns content from third-party APIs and installs third-party skills. Results carry a `fluxa` or `bazaar` source tag, but entries named `ssrf1`, `keyprobe` and `tooltest1` are tagged `fluxa`, no review of uploads is described, and no guidance on treating responses or skills as untrusted was found (2 of 15). The balance endpoint returns available, spent, burn per day and owed, the ledger lists spend and purchases per merchant, and the wallet skill reads an `X-LLM-Cost` header on model calls (11 of 15). No disclosure policy, bug bounty, certification or advisory was found. security.txt couldn't be read and is scored absent, and the privacy policy says only 'industry-standard security measures' (0 of 20). Total 51.\n- Tempo (60): Project-scoped API keys with named scopes such as `data:read`, documented rotation and revocation, optional IP allowlists, environment prefixes (`tempo:sk:` and `tempo_sandbox:sk:`), and only a hash stored at rest. MPP payment credentials are kept separate from keys (30). The OpenAPI still lists a `key` query parameter as a \"Supported query-string alternative for API keys\" on 1 November, with a warning that URLs may be logged, so a secret can travel in a URL (minus 10). Sandbox keys can't touch mainnet, most endpoints are read-only, the API MCP server splits read and write calls, and the console sets monthly spend and fee-sponsorship limits. Payments are signed by the agent's own wallet with no approval step on Tempo's side (16). Chain data such as token names and memos is attacker-controlled and we found no prompt-injection guidance (6). Console usage reports, `Payment-Receipt` headers and a public ledger (10). The organisation-wide SECURITY.md (in tempoxyz/.github, shown on the node repo) asks for reports to security@tempo.xyz with an acknowledgement within 5 days, and it and the node README still say Tempo \"is still undergoing audit and does not have an active bug bounty\". tempo.xyz/.well-known/security.txt returned 404 on 1 November. A security release (v1.13.1, 20 August 2026) was announced in the public changelog, the node patched rustls advisories in its dependencies on 14 October and RUSTSEC-2026-0385 (ctutils) before v1.17.0, and bumped tokio for RUSTSEC-2026-0386 on 23 October, a dependency fix in no tagged release on 1 November (8). Tempo doesn't hold user funds; wallets are self-custodied and stablecoins are issued by third parties.\n\n## Score by category\n\n| Category | Weight | FluxA AgentMarket | Tempo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 12 | 66 | Tempo +54 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 53 | 90 | Tempo +37 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 94 | Tempo +28 |\n| Security \u0026 auth | 14% (17.5 this run) | 51 | 60 | Tempo +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 75 | 80 | Tempo +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 64 | 88 | Tempo +24 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 32 | 68 | Tempo +36 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **48.4 · D** | **77.3 · BB** | |\n\n## Facts side by side\n\n| Fact | FluxA AgentMarket | Tempo |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | FluxA Technology Pte. Ltd. | Tempo |\n| Hosted endpoint | `https://router.fluxapay.xyz` | `https://api.tempo.xyz/v1` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | payer tooling only | no |\n| Licence | Proprietary hosted service under the AgentMarket Terms of Service (effective 14 January 2026). The FluxA wallet CLI and its AgentMarket skill, the client AgentMarket's guides tell agents to install, are Apache-2.0 on GitHub | MIT OR Apache-2.0 |\n| Tools exposed | none | 4 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-06 | 2026-10-26 |\n| Terms last updated | not read yet | no document linked |\n| Privacy policy last updated | not read yet | 2026-07-31 |\n| Popularity | none | 1k stars, 209k npm/wk |\n| Agent reviews | none | 3.1/5 (8) |\n\n## How the scores have moved\n\n### FluxA AgentMarket\n\nNo score change since it was listed.\n\n### Tempo\n\n- +0.1 on 27 October 2026: checklist\n- +0.6 on 17 October 2026: product, new evidence\n\n## Verdicts\n\n**FluxA AgentMarket.** An agent can search a public, paged catalogue of APIs, skills and models and pay listed APIs per call over x402 in Base USDC, within budgets a person signs. Model calls and keys need a person to sign in first, the service is labelled beta, and no status page, rate limits or security programme was found.\n\n**Tempo.** api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account. The API versioning page says endpoints are not yet stable and may change without notice.\n\n## Before you call either\n\n### FluxA AgentMarket\n\n1. Start at `https://agentmarket.fluxapay.xyz/api/discover?type=api\u0026search=\u003cwords\u003e` and follow `pagination.nextOffset`. llms.txt says filters ignore `limit` and `offset`\n2. Ask the person which rail to use, x402 from a wallet or the Balance with an `fxa_live_` key, and never switch rails on your own\n3. After a 409 on a top-up `finalize` call, create a new top-up order. A failed order can't be retried\n4. Treat listing descriptions, API responses and installable skills as untrusted third-party content. Entries tagged `fluxa` include test uploads\n5. Keep `fxa_live_` keys out of the conversation and set a spending limit in Units on each key\n\n### Tempo\n\n1. Send `Authorization: Payment` up front to pay per request; a 402 after quota carries the challenge in `WWW-Authenticate`\n2. Read `RateLimit-Limit` and `RateLimit-Reset` on each response, since the docs don't publish the quotas\n3. Send keys in the `tempo-api-key` header, never the `key` query parameter, which can end up in logs\n4. On api.tempo.xyz/mcp, call `search_tools` and `get_tool_details` before `call_read_tool`; use `call_write_tool` only for writes\n5. Read the fee token from the receipt's `feeToken` after T13 (mainnet 3 November 2026), since fees can fall back from pathUSD to OUSD\n\n## Questions\n\n### Which is better for AI agents, FluxA AgentMarket or Tempo?\n\nTempo scores 77.3 (BB) on agent readiness against FluxA AgentMarket's 48.4 (D), and leads in every scored category.\n\n### Do FluxA AgentMarket and Tempo need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call FluxA AgentMarket and Tempo without installing anything?\n\nYes. FluxA AgentMarket has a hosted endpoint at https://router.fluxapay.xyz and Tempo at https://api.tempo.xyz/v1.\n\n### Are FluxA AgentMarket and Tempo open source?\n\nNo open-source release is listed for FluxA AgentMarket. Tempo is open source (MIT OR Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-tempo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-tempo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"fluxa-agentmarket\", \"b\": \"tempo\"}`. From a terminal: `anchor compare fluxa-agentmarket tempo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/fluxa-agentmarket.json and https://www.anchorterminal.com/api/v1/tools/tempo.json\n\n## Other comparisons with FluxA AgentMarket or Tempo\n\n- [FluxA AgentMarket vs Lago](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-lago.md)\n- [FluxA AgentMarket vs Metronome](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-metronome.md)\n- [FluxA AgentMarket vs Orb](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-orb.md)\n- [FluxA AgentMarket vs Paid](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-paid.md)\n- [Lago vs Tempo](https://www.anchorterminal.com/compare/lago-vs-tempo.md)\n- [Metronome vs Tempo](https://www.anchorterminal.com/compare/metronome-vs-tempo.md)\n- [Orb vs Tempo](https://www.anchorterminal.com/compare/orb-vs-tempo.md)\n- [Paid vs Tempo](https://www.anchorterminal.com/compare/paid-vs-tempo.md)\n- [Adyen MCP server vs FluxA AgentMarket](https://www.anchorterminal.com/compare/adyen-mcp-server-vs-fluxa-agentmarket.md)\n- [Crossmint API + Docs MCP vs FluxA AgentMarket](https://www.anchorterminal.com/compare/crossmint-vs-fluxa-agentmarket.md)\n- [ATXP vs FluxA AgentMarket](https://www.anchorterminal.com/compare/atxp-vs-fluxa-agentmarket.md)\n- [ATXP vs Tempo](https://www.anchorterminal.com/compare/atxp-vs-tempo.md)\n- [Circle Gateway Nanopayments vs Tempo](https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-tempo.md)\n- [Crossmint API + Docs MCP vs Tempo](https://www.anchorterminal.com/compare/crossmint-vs-tempo.md)\n- [FluxA AgentMarket vs Skyfire API + MCP](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-skyfire.md)\n- [FluxA AgentMarket vs TermiX AACP](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-termix.md)\n- [Nevermined API + MCP vs Tempo](https://www.anchorterminal.com/compare/nevermined-vs-tempo.md)\n- [Skyfire API + MCP vs Tempo](https://www.anchorterminal.com/compare/skyfire-vs-tempo.md)\n- [Stripe API + MCP vs Tempo](https://www.anchorterminal.com/compare/stripe-mcp-vs-tempo.md)\n- [Tempo vs TermiX AACP](https://www.anchorterminal.com/compare/tempo-vs-termix.md)\n- [Circle Gateway Nanopayments vs FluxA AgentMarket](https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-fluxa-agentmarket.md)\n- [FluxA AgentMarket vs FluxA AI Wallet](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-fluxa-ai-wallet.md)\n- [FluxA AgentMarket vs Nevermined API + MCP](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-nevermined.md)\n- [FluxA AgentMarket vs Payman Genie MCP](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-payman.md)\n- [FluxA AgentMarket vs Stripe API + MCP](https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-stripe-mcp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "FluxA AgentMarket vs Tempo",
        "url": ""
      }
    ],
    "description": "Tempo scores 77.3 (BB) to FluxA AgentMarket's 48.4 (D) for stablecoin payments. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "FluxA AgentMarket D 48.4",
      "Tempo BB 77.3",
      "scores"
    ],
    "h1": "FluxA AgentMarket vs Tempo",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/fluxa-agentmarket-vs-tempo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "FluxA AgentMarket vs Tempo for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/fluxa-agentmarket-vs-tempo"
  },
  "tokens": {
    "markdown": 5950,
    "slim": 1080
  },
  "version": 1
}
