Mission: test anything, spend nothing

A working twin of any API.

On your machine, in one command. Your app and your agents use it like the real thing. No keys, no sandbox sign-up, no bill.

$ npx mockanything stripe
Launch
Sun 1 Nov · midnight
APIs by name
2,500+
Built-in packs
5
Keys needed
0

01 The problem

Agents write code that moves money.
Then they test it.

Payments, SMS, email, auth. Every integration an agent writes needs something to talk to, and every option today costs you something.

Real keys

Real consequences.

The agent can charge cards, text real people, burn credits and hit rate limits. One loop away from a bill.

Sandboxes

Accounts everywhere.

Sign-up and keys per provider, each set up differently. Many regional providers barely offer one.

Hand-written mocks

Lies that pass.

Canned JSON that breaks the moment the code does something new, or passes against an API that behaves nothing like the real one.

02 The twin

Not a mock.
A twin.

A small working backend that acts like the provider: it remembers, it follows the rules, it sends the webhooks. Watch an agent build a checkout against one.

Live Stripe twin · localhost:4010 T+00:00
Agent
  1. › Build a checkout and test it against Stripe
  2. ● twin_start stripe → localhost:4010
  3. ● Writing checkout.ts
  4. ● Customer created
  5. ● Payment confirmed: succeeded
  6. ● Webhook signature verified
  7. ● twin_chaos on
  8. ● 503 from twin → retried with backoff
  9. ● Declined card → shows “Card declined”
  10. ● All checks pass. Shipping.
Twin traffic
  1. POST/v1/customers200
  2. POST/v1/payment_intents200
  3. HOOKpayment_intent.succeeded signed200
  4. POST/v1/payment_intents chaos503
  5. POST/v1/payment_intents200
  6. POST…/confirm card_declined402
Requests
0
Webhooks
0
Spent
$0.00

None of it was real. No keys. $0.

Remembers

Create it, then get it back.

Customers, payments, messages and issues persist. Refunds change what's left to refund. Deleted things are gone.

Behaves

Real shapes, real lifecycles.

Provider-style IDs, pagination and errors. Flows like queued → sent → delivered. Webhooks signed the way the provider signs them, so your verification code runs unchanged.

Breaks on purpose

Failure, on demand.

Declined cards, 3-D Secure, bounced email, unreachable phones. Force any of them from the dashboard or your agent.

03 Any API

Name it. Point at it.
Or let your agent read the docs.

Mock Anything reads an API's description and builds the twin itself: resources, IDs, state changes, pagination, errors and webhooks. Paths the spec misses still work.

  1. Built-in packnpx mockanything paystack

    Hand-tuned, with documented test values.

  2. Any API by namenpx mockanything slack

    2,500+ APIs from the public APIs.guru directory.

  3. Your specnpx mockanything api.yaml

    OpenAPI 3 or Swagger 2, file or URL. Inspect and override every guess.

  4. Just the docstwin_from_docs(url)

    Your agent reads the page and writes the twin, checked before it runs.

20/20official SDK steps pass on twins built straight from the public Stripe, Twilio, GitHub and Resend specs, no hand-tuning
<0.3sto turn GitHub's 1,254-operation spec into a working twin

04 Packs

Ready on day one.

Each pack covers the flow people actually build, checked against the provider's official SDK.

Stripe

Customers, PaymentIntents, manual capture, refunds, Checkout Sessions, webhook endpoints, events.

pm_card_chargeDeclined
Paystack

Initialize, local test checkout, verify, charge saved cards, customers, refunds.

charge.success
Twilio

Send SMS with status callbacks from queued to delivered; fetch, list, delete.

+15005550001
Resend

Send, schedule and cancel email; delivered, bounced and complained events.

bounced@resend.dev
GitHub

Issues, comments and pull requests per repository, with signed webhooks.

issues.opened
Next

Regional payment, messaging and identity providers. Packs are plain YAML, and contributions are welcome.

05 Agents

Your agent launches the twin.
No keys required.

Mock Anything ships as an MCP server. Claude Code, Cursor and other agents start a twin mid-task, force a decline, turn on chaos and read back exactly what happened.

$ claude mcp add mockanything -- npx -y mockanything mcp

“Start a Stripe twin, build the checkout, then force a declined card and make sure we handle it.”

06 Chaos

Find the failure
before your users do.

Turn on chaos and the twin misbehaves like a real provider on a bad day. Seeded, so the failure your agent found can be replayed exactly.

$ npx mockanything stripe --chaos --seed 42

07 Safe by default

Nothing real leaves your machine.

A twin is only as good as its facts. Packs cover each API's main flow, not every endpoint, and inferred twins make guesses you can see and override. Build fast against a twin; run final checks against the provider's sandbox. A fidelity report comparing a twin with the real sandbox is on the way.

08 Questions

FAQ

Is Mock Anything affiliated with Stripe, Twilio or the other providers?

No. Mock Anything is an independent, free, non-commercial project. Provider names are used only to say which API a twin is compatible with. Twins are built from public API facts, not from any provider's code or documentation text.

Do I need an account or API key?

No. Any placeholder key works, for example sk_test_mockanything. Live keys are refused.

Does anything I send leave my machine?

No. The twin runs locally and answers from memory. The only outbound traffic is the webhooks you point at your own app, and fetching an API description when you ask for one by name or URL.

Which APIs work?

Anything with an OpenAPI or Swagger description, more than 2,500 APIs by name from the public APIs.guru directory, the built-in packs, and APIs your agent describes from their documentation.

Can I use it in CI?

Yes. Start a twin before your tests and point your SDK's base URL at it. Use --seed to make chaos runs repeatable.

How do I add a provider?

Packs are plain YAML. The contributing guide in the repository explains the rules: facts only, no branding, and a test with the official SDK.

Launching Sunday, 1 November · midnight

Stop testing on real money.

$ npx mockanything stripe

Open source under Apache-2.0. The package and source go live at launch.