Changelog
What's new
Agent registration with auth.md
AgentSIM now publishes auth.md discovery and supports user-approved service_auth registration, so agents can create scoped credentials without copying API keys by hand.
AgentSIM is now agent-ready via auth.md. Agents can discover how to register, ask the user to approve access, and receive short-lived credentials for the API.
What's new
- Published
https://agentsim.dev/auth.mdand OAuth protected-resource metadata on the API host. - Added
service_authregistration for agents acting on behalf of a user by email. - Added a dashboard claim page where the signed-in user enters the code shown by their agent.
- Issued short-lived
agt_…bearer tokens that map back to normal AgentSIM accounts and API keys. - Added JWT-bearer refresh so agents can renew access without asking the user to approve every hour.
- Agent-created credentials now appear in the API keys dashboard and can be revoked like any other key.
Existing asm_live_… API keys continue to work. anonymous registration and agent-verified ID-JAG flows are still roadmap items.
Dedicated-number checkout and playground fixes
Teams can now start a dedicated-number checkout from the product, while playground demo sessions were decoupled from the live number pool and free-session quota.
This release focused on making paid evaluation cleaner and making the dashboard playground safer to use during onboarding.
What's new
- Added a $9/month dedicated-number checkout flow with an isolated webhook path.
- Added a post-demo call-to-action in the playground for teams that need a dedicated number.
- Decoupled the playground demo from the live number pool so demo usage does not consume scarce pool capacity.
- Ensured playground demo sessions do not count against the free-session quota.
- Hardened Stripe metered billing so meter-event failures surface loudly instead of being silently swallowed.
- Updated dashboard copy to describe the substrate honestly as programmable numbers, not physical SIM or mobile-class numbers.
- Corrected carrier-audit classification and recorded substrate audit results more accurately.
Fraud-testing use case and onboarding improvements
A new fraud and security-testing use case page explains how teams can safely red-team their own SMS OTP defenses. New signups now receive welcome email onboarding.
This release sharpened the public product story around authorized fraud and security testing, while smoothing first-run onboarding.
What's new
- Added a dedicated fraud and security-testing use case page for trust, safety, and risk teams testing systems they own or are authorized to assess.
- Added welcome emails for new dashboard signups.
- Added first-touch attribution capture on signup so acquisition source is easier to understand.
- Polished the homepage hero with a subtle dot-grid texture.
- Fixed MCP deployment reliability by pinning the
uvversion and running from the project virtual environment. - Corrected SDK snippets in public content so examples match the current client API.
Public changelog and OTP accounting fix
The marketing site gained a public changelog page, and OTP success accounting was corrected for agents that retrieve codes through the messages API.
AgentSIM now has a public changelog at /changelog, giving customers and agent builders a single place to track product changes.
What's new
- Added the public changelog timeline on the marketing site.
- Corrected OTP success recording when codes are consumed through the
get_messagespath, improving usage and delivery reporting accuracy. - Continued cleanup of public documentation infrastructure so customer-facing docs stay separate from internal planning materials.
Site-wide OG images and docs clean-up
A shared OpenGraph image worker now covers every route on the marketing site. Docs were scrubbed of internal artifacts and rewritten to be end-user facing.
The marketing site received a new shared OG image layer — a single worker renders on-brand 1200×630 cards for every route instead of each page carrying its own bespoke image logic. The design uses the AgentSIM keypad mark with a cyan/green radial glow on a dark canvas.
Alongside that, the public docs were overhauled:
- Removed research and internal planning documents that had leaked into the published Mintlify site.
- Rewrote copy that overstated the substrate (removed "real SIM" language — these are Telnyx programmable numbers, not physical SIMs).
- Added an
/aboutpage on the marketing site. - Blog posts were rewritten to match the accurate
@agentsim/sdkAPI surface.
Security hardening, billing fixes, and phone pool reliability
Sensitive request headers are now redacted from API logs. Tainted phone numbers are retired immediately to prevent cross-tenant SMS leaks. Metered billing and Stripe checkout flows were stabilised.
Several reliability and security issues were addressed across the API, dashboard, and MCP server.
Security
- API logs no longer emit sensitive request headers (authorization tokens, etc.).
- Tainted phone numbers — numbers that received SMS intended for another session — are now retired immediately and removed from the pool, preventing cross-tenant message exposure.
Billing
- Metered billing fallback path was hardened; existing Stripe customers are now redirected to the customer portal instead of a new checkout session.
- Plan tier is now queried from the database rather than an environment variable, fixing cases where the wrong quota was applied.
- Replenish retries no longer loop on provider ordering failures.
Dashboard
- Playground diagnostic endpoint added for verifying Stripe environment connectivity.
- Server Actions now log database errors instead of silently swallowing them.
- Upstream playground API calls include retry logic with diagnostics.
MCP server
- Railway start command was corrected to use the uv project venv Python binary.
Playground improvements and onboarding flow
New users are redirected to the playground on first login, where they can now reveal their full API key, see a welcome banner, and simulate an OTP without setting anything up.
A cluster of onboarding and playground improvements shipped across the 0.11–0.15 window.
Playground
- Full API key is now revealed in the playground (previously shown as a hint only).
- A welcome banner greets new users and explains what to do next.
- Simulate OTP button lets you test the full flow without provisioning a real number first.
- A countdown timer adds urgency cues during live sessions.
- Post-OTP CTAs guide users toward integrating the SDK.
Auth and onboarding
- New users are automatically redirected to the playground via an
onboarded_atcheck on first login. - Google OAuth state is now stored in a cookie, fixing
state_mismatcherrors on callback. - Inbound SMS is now associated with recently-expired sessions (catches messages that arrive a few seconds after the TTL).
Sign-up
- Phone number field added to the sign-up form (used for account contact, not OTP).
Initial public release
AgentSIM is now publicly available. Provision a temporary US phone number, wait for an OTP, and release — from Python, TypeScript, or directly through the MCP server.
AgentSIM is live. The core product: temporary, programmable US phone numbers that AI agents can use to receive SMS OTPs, with a blocking waitForOtp / wait_for_otp call that returns the parsed code as soon as it arrives.
What ships today
- REST API at
api.agentsim.dev— provision, wait, release endpoints with API key auth. - TypeScript SDK (
@agentsim/sdk) — zero runtime dependencies, typed responses,Symbol.asyncDisposesupport forawait usingpatterns. - Python SDK (
agentsim-sdk, import asagentsim) — async-first with httpx and Pydantic v2 models. - Hosted MCP server at
mcp.agentsim.dev/mcp— connect any MCP-capable agent with a single line of config; tools:provision_number,wait_for_otp,get_messages,release_number. - Console at
console.agentsim.dev— dashboard for API keys and usage.
Known scope
Numbers are Telnyx programmable numbers, US-only. They work well for services that accept standard US numbers. Strict consumer platforms (Stripe Identity, WhatsApp, Google Account) have anti-VoIP gates and are not reliably supported — check the support matrix before building.