NewInfinite storage: a box whose storage grows as you write.Infinite storage is here.Read the post

Agent sign-up check

Can an agent sign up here?

Seven checks for whether an AI agent can sign up for a developer platform, pay for it and use it on its own. Each one reads what the platform publishes, with plain GET requests, and cites the spec it checks against. Run them on any domain, or read the results for 100 platforms below.

At most 24 GET requests, redirects included, to the domain’s public files and the APIs and servers they name. Nothing is posted and no account is made. The checker on this page runs at most 12 checks per visitor, 30 of one domain and 300 in all in any 10 minutes (answers from its cache are not counted); past that it answers 429 and says when to try again. The script has no such limit on your own machine.

None of the 100 platforms passes all seven. See the results

100 platforms,
November 12, 2026.

Ranked by checks passed. Ties share a rank and are listed by name. Pick a platform for the reason behind each mark.

  • 0of 100 pass all seven checks
  • 6/7the best score, Telnyx alone
  • 0of 100 publish a spend cap in a machine-readable form
  • 5/7Prized, on the same script: fails spend limits and only partly passes payment handoff

None passes all seven. The highest score is 6 of 7 (Telnyx). 0 of 100 publish a spend cap in a machine-readable form the check accepts (the draft Prized wrote, or the AAuth budgets Internet-Draft, an individual submission); 6 more only mention limits or budgets in their docs. No platform passes that check, so none can pass all seven. 2 of 100 publish a machine-readable way for an agent to pay. 20 of 95 APIs answer a signed-out call with a challenge an agent can parse (a 401 with WWW-Authenticate, or a 402 payment requirement); most send a 401 with no WWW-Authenticate header. 8 checks on 3 platforms could not be read on the day of the run (the file gave no answer: a bot wall, a server error, a 429, a failed connection, or the script’s own request cap); they are shown as not read, not as fails. Prized scores 5 of 7 on the same script, tied with 3 others for rank 2 of 100. It fails spend limits and only partly passes payment handoff.

  • Pass
  • Partly
  • Fail
  • Not run, or not read
Every reason, quote and request (JSON)
100 platforms ranked by checks passed, November 12, 2026
RankPlatformScore1auth.md2Metadata3Sign-up API4401 challenge5Spend limits6Payment7Markdown
1Telnyx, show the reasons Email, phone and messaging6/7passpasspasspassfailpasspass
2Firecrawl, show the reasons Browsers and scraping5/7passpasspasspassfailfailpass
2Kernel, show the reasons Browsers and scraping5/7passpasspasspassfailfailpass
2Polar, show the reasons Payments and billing5/7passpasspasspassfailfailpass
2Prized, show the reasons Sandboxes and compute5/7 +1 partlypasspasspasspassfailpartlypass
6Boat, show the reasons Sandboxes and compute4/7 +2 partlypasspartlypasspassfailpartlypass
6Bright Data, show the reasons Browsers and scraping4/7 +1 partlypasspasspasspartlyfailfailpass
6Neon, show the reasons Databases and backend4/7 +1 partlypartlypasspasspassfailfailpass
9AgentMail, show the reasons Email, phone and messaging3/7 +2 partlypasspartlypartlypassfailfailpass
9Autumn, show the reasons Payments and billing3/7 +2 partlypasspasspartlypartlyfailfailpass
9Cloudinary, show the reasons Dev tools3/7 +1 partlypassfailpartlypassfailfailpass
9Context.dev, show the reasons Search and data3/7 +2 partlypasspartlypasspartlyfailfailpass
9Financial Datasets, show the reasons Search and data3/7 +1 partlyfailfailpartlypassfailpasspass
9PostHog, show the reasons Dev tools3/7 +2 partlypartlypasspartlypassfailfailpass
9Sentry, show the reasons Dev tools3/7failpassfailpassfailfailpass
9WorkOS, show the reasons Dev tools3/7 +1 partlypassfailpasspartlyfailfailpass
17Beam, show the reasons Sandboxes and compute2/7failfailfailpassfailfailpass
17Browserless, show the reasons Browsers and scraping2/7 +1 partlyfailpassfailpartlyfailfailpass
17Clerk, show the reasons Dev tools2/7 +3 partlypasspartlypartlypartlyfailfailpass
17Exa, show the reasons Search and data2/7 +3 partlypartlypassfailpartlyfailpartlypass
17Fly.io, show the reasons Sandboxes and compute2/7 +2 partlypartlypartlyfailpassfailfailpass
17Hugging Face, show the reasons LLM APIs2/7 +1 partlyfailpartlyfailpassfailfailpass
17Loops, show the reasons Email, phone and messaging2/7 +2 partlypartlypassfailpartlyfailfailpass
17Mailgun, show the reasons Email, phone and messaging2/7 +1 partlyfailpartlyfailpassfailfailpass
17MongoDB Atlas, show the reasons Databases and backend2/7failfailfailpassfailfailpass
17OpenAI, show the reasons LLM APIs2/7failfailfailpassfailfailpass
17Perplexity, 1 not read, show the reasons LLM APIs2/7 +1 partly 1 not readnot readpassfailpartlyfailfailpass
17PlanetScale, show the reasons Databases and backend2/7 +1 partlyfailpassfailpartlyfailfailpass
17Railway, show the reasons Sandboxes and compute2/6 +1 partlypartlypassfailnot runfailfailpass
17Resend, show the reasons Email, phone and messaging2/7 +2 partlypartlypassfailpartlyfailfailpass
17Supabase, show the reasons Databases and backend2/7 +1 partlyfailpassfailpartlyfailfailpass
17Twilio, show the reasons Email, phone and messaging2/7failfailfailpassfailfailpass
33AgentPhone, show the reasons Email, phone and messaging1/7 +2 partlyfailfailpartlypartlyfailfailpass
33Anthropic, show the reasons LLM APIs1/7 +2 partlyfailfailfailpartlypartlyfailpass
33Apify, show the reasons Browsers and scraping1/7 +5 partlypartlypartlyfailpartlypartlypartlypass
33AssemblyAI, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33AWS, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33Blaxel, show the reasons Sandboxes and compute1/7 +3 partlypartlypartlyfailpartlyfailfailpass
33Brave Search API, show the reasons Search and data1/7 +1 partlyfailfailfailpartlyfailfailpass
33Browser Use, show the reasons Browsers and scraping1/7 +4 partlypartlypartlyfailpartlyfailpartlypass
33Browserbase, show the reasons Browsers and scraping1/7 +1 partlyfailfailfailpartlyfailfailpass
33Cerebras, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Cloudflare, show the reasons Sandboxes and compute1/7 +2 partlypartlyfailfailpartlyfailfailpass
33Cohere, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Coinbase Developer Platform, show the reasons Payments and billing1/7 +1 partlyfailfailfailpartlyfailfailpass
33Convex, show the reasons Databases and backend1/7 +1 partlyfailfailfailpartlyfailfailpass
33Daytona, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33Deepgram, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33DigitalOcean, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33E2B, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33ElevenLabs, show the reasons LLM APIs1/7 +2 partlyfailpartlyfailpartlyfailfailpass
33fal, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Fireworks AI, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Freestyle, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33GitHub, show the reasons Dev tools1/7 +1 partlyfailfailfailpartlyfailfailpass
33GitLab, show the reasons Dev tools1/7 +2 partlyfailpartlyfailpartlyfailfailpass
33Google Cloud, show the reasons Sandboxes and compute1/7failfailfailpassfailfailfail
33Google Gemini API, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Groq, show the reasons LLM APIs1/7 +2 partlyfailfailfailpartlypartlyfailpass
33Heroku, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33Hetzner Cloud, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33Hyperbrowser, show the reasons Browsers and scraping1/7 +1 partlyfailfailfailpartlyfailfailpass
33Inkbox, show the reasons Email, phone and messaging1/7 +3 partlyfailpartlypartlypartlyfailfailpass
33Linear, show the reasons Dev tools1/6failfailfailnot runfailfailpass
33Mistral, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Modal, show the reasons Sandboxes and compute1/6 +1 partlyfailfailfailnot runpartlyfailpass
33Morph Cloud, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33NanoGPT, show the reasons LLM APIs1/7 +5 partlypartlypartlyfailpartlypartlypartlypass
33Netlify, show the reasons Sandboxes and compute1/7 +2 partlypartlyfailfailpartlyfailfailpass
33Northflank, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33OpenRouter, show the reasons LLM APIs1/7 +2 partlyfailfailfailpartlypartlyfailpass
33Orthogonal, show the reasons Search and data1/7 +3 partlyfailfailpartlypartlyfailpartlypass
33Paddle, show the reasons Payments and billing1/7 +1 partlyfailfailfailpartlyfailfailpass
33Parallel, show the reasons Search and data1/7 +4 partlypartlyfailpartlypartlyfailpartlypass
33Pinecone, show the reasons Databases and backend1/7 +1 partlyfailfailfailpartlyfailfailpass
33Postmark, show the reasons Email, phone and messaging1/7 +2 partlypartlyfailfailpartlyfailfailpass
33Render, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33Replicate, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Replit, show the reasons Sandboxes and compute1/6failfailfailnot runfailfailpass
33Runloop, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33RunPod, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33ScrapingBee, show the reasons Browsers and scraping1/7 +1 partlyfailfailfailpartlyfailfailpass
33SerpApi, show the reasons Search and data1/7 +1 partlyfailfailfailpartlyfailfailpass
33Steel, show the reasons Browsers and scraping1/7 +1 partlyfailfailfailpartlyfailfailpass
33Stripe, show the reasons Payments and billing1/6failfailfailnot runfailfailpass
33Tavily, show the reasons Search and data1/7 +2 partlyfailfailfailpartlyfailpartlypass
33Together AI, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
33Turso, show the reasons Databases and backend1/7 +2 partlyfailpartlyfailpartlyfailfailpass
33Upstash, show the reasons Databases and backend1/7 +1 partlyfailfailfailpartlyfailfailpass
33Vapi, show the reasons Email, phone and messaging1/7 +1 partlyfailfailfailpartlyfailfailpass
33Vercel, show the reasons Sandboxes and compute1/7 +1 partlyfailfailfailpartlyfailfailpass
33xAI, show the reasons LLM APIs1/7 +1 partlyfailfailfailpartlyfailfailpass
93CodeSandbox, 6 not read, show the reasons Sandboxes and compute0/7 +1 partly 6 not readnot readnot readnot readpartlynot readnot readnot read
93DeepSeek, show the reasons LLM APIs0/7 +1 partlyfailfailfailpartlyfailfailfail
93Deno Deploy, 1 not read, show the reasons Sandboxes and compute0/7 +1 partly 1 not readfailfailfailpartlyfailfailnot read
93Jina AI, show the reasons Search and data0/7 +2 partlyfailfailfailpartlyfailfailpartly
93Koyeb, show the reasons Sandboxes and compute0/7 +1 partlyfailfailfailpartlyfailfailfail
93Lemon Squeezy, show the reasons Payments and billing0/7 +1 partlyfailfailfailpartlyfailfailfail
93SendGrid, show the reasons Email, phone and messaging0/7 +1 partlyfailfailfailpartlyfailfailfail
93Sprites, show the reasons Sandboxes and compute0/7 +1 partlyfailfailfailpartlyfailfailfail

The seven checks.

Each is checked against a public spec or draft. Each passes, passes partly, or fails.

  1. 1

    auth.md

    Does /auth.md tell an agent how to register, in the shape of the auth.md spec?

    Checked against WorkOS auth.md, AUTH.md v0.6.0

    13 of 100 pass

    13 pass · 15 partly · 70 fail · 2 not read

  2. 2

    Protected resource metadata

    Is there RFC 9728 metadata that names the authorization server?

    Checked against RFC 9728, sections 2, 3 and 3.3

    18 of 100 pass

    18 pass · 15 partly · 66 fail · 1 not read

  3. 3

    Sign-up by API

    Can an agent find an API endpoint that creates an account, with no web form or CAPTCHA?

    Checked against auth.md Step 1b (agent_auth in RFC 8414 metadata)

    10 of 100 pass

    10 pass · 10 partly · 79 fail · 1 not read

  4. 4

    Key works without a browser

    Does a signed-out API call get a 401 with a WWW-Authenticate challenge, not a login page or a bot wall?

    Checked against RFC 9110 section 15.5.2; RFC 6750 section 3; RFC 9728 section 5.1

    20 of 95 pass

    20 pass · 75 partly · 0 fail · not run on 5

  5. 5

    Spend limits

    Can an agent read the spend cap its key will have?

    Checked against auth-md-spend-limits 0.1 (draft, Prized); draft-hardt-aauth-budgets-00

    0 of 100 pass

    0 pass · 6 partly · 93 fail · 1 not read

  6. 6

    Payment handoff

    When money is needed, is there a machine-readable way for the agent to say so and hand over?

    Checked against RFC 9110 section 15.5.3 (402); x402 v2 HTTP transport; draft-httpauth-payment; auth-md-spend-limits section 4

    2 of 100 pass

    2 pass · 9 partly · 88 fail · 1 not read

  7. 7

    Docs in Markdown

    Is there an llms.txt an agent can read?

    Checked against llms.txt (llmstxt.org)

    91 of 100 pass

    91 pass · 1 partly · 6 fail · 2 not read

Each check passes, passes partly, or fails. Partly means the platform publishes something the check looks for, but short of the spec: it says it only in prose an agent can read, its file departs from the spec’s shape (a heading, a field, or a resource clients must not use), or the file stops short, such as an auth.md that says agents cannot register yet or metadata that names no authorization server. For the key check, partly is an API that refuses the signed-out call, usually with a 401, but without the WWW-Authenticate header the spec requires. That check sends no key. A check is not read when it would be a fail and one of its own files gave no answer: a server error, a 429, a bot wall, a failed connection, or a request the script’s own cap stopped (the dated run asks twice before it says so). That is not a fail: the reason says what happened at the URL and on which date, and the check still counts in the platform’s total. Sign-up by API, spend limits and payment handoff also read auth.md and llms.txt for prose; when only those went unread, the check stays a fail and its reason names the file.

Show your result.

A platform in the table can show its result from November 12, 2026 with this badge. It says the date, and it links back to the platform’s row. It changes only when a new run is published.

Fixed something since? Check your domain for your live score beside your row, what changed, and a link to re-run it after each fix.

Agent sign-up check: 5/7 on Nov 12, 2026

Markdown

[![Agent sign-up check result for prized.dev](https://prized.dev/agent-signup-check/badge/prized.dev.svg)](https://prized.dev/agent-signup-check?utm_source=badge&utm_campaign=prized.dev#prized.dev)

HTML

<a href="https://prized.dev/agent-signup-check?utm_source=badge&amp;utm_campaign=prized.dev#prized.dev"><img src="https://prized.dev/agent-signup-check/badge/prized.dev.svg" alt="Agent sign-up check result for prized.dev"></a>

How it checks.

Read-only, from public files, with one script for every platform.

Think a result is wrong? or open an issue.

  • GET requests only, to files published for agents, to one documented API URL without a key, and sometimes to one made-up path that tells a real auth.md from a page a site serves at every path. Nothing is posted, no account is made, and no credential is sent. At most 24 requests per check of a platform, redirects included; a run checks a platform a second time when a request got no answer (a network failure, a server error, a 429 or a bot wall).
  • https on port 443 only, public addresses only, 1 MB and 8 seconds per response. The script names itself in its User-Agent (PrizedAgentSignupCheck/0.2.5, with a link to this page).
  • For 95 of the 100 platforms we picked one documented API endpoint that needs a key; the results file lists it. GraphQL-only APIs and platforms with no public REST API were not probed, and neither was Stripe, whose API the tooling that makes the run does not call. Those rows count six checks, so six is the most they can pass.
  • Protected resource metadata is looked for at the URL the probed API’s 401 names, then on the site’s own host, then on the API’s host (also for a GraphQL API that is not probed). Authorization server metadata is read from the first server named in protected resource metadata that a client may use, or else from the site’s own host, then the API’s host. For protected resource metadata, a separate MCP server host is read only when the site’s or the API host’s well-known path redirects there, or the API’s 401 points there; the check does not go to a host for it because auth.md or llms.txt names that host. Netlify, Cloudinary and Render, among others, publish protected resource metadata for their MCP servers on separate hosts, so they fail that check.
  • A check sees what a platform publishes, not what happens after a sign-up form is sent. A platform that lets agents in through a CLI or SDK it never describes in a public file scores lower here than it would in use. A check that would fail while one of its own files gave no answer (a bot wall, a server error, a 429, a failed connection, or a request the script’s own cap stopped) is shown as not read, with what happened at the file’s URL and the date; it is not counted as a fail, and it is not a pass. A bot wall in front of the API itself still fails the key check.
  • Three verdicts were corrected by hand after review, where the script matched text about something else: Coinbase Developer Platform (payment handoff), Stripe (payment handoff) and xAI (spend limits). Each reason in the results says so and gives the script’s own verdict.
  • Prized wrote this checker, picked the platforms, and wrote the spend-limits draft that two of the checks accept. Prized is one of the platforms listed under sandboxes and compute and competes with others in that group. The payment check’s prose patterns for billing_url and billing_required were added after reading Prized’s and Boat’s auth.md; they apply to every platform. Prized is scored by the same code as everyone else and sorted with them.
  • This is one dated run. Platforms change their files; run the script again for today’s answer.

Run it on your own domain.

One Node file, Node 18 or later, no dependencies. It runs the same seven checks this page does.

curl -fsSLO https://prized.dev/agent-signup-check.mjs
node agent-signup-check.mjs example.com --api https://api.example.com/v1/me