Notify-Sim sandbox

Your app's notifications, captured - not delivered.

Notify-Sim sits where your SMS, WhatsApp, email and push provider sits. Your integration code does not change: swap one base URL, keep sending, and every message lands in an inbox that shows it exactly as the recipient would see it.

WA_API_URL=https://graph.facebook.com/v19.0
WA_API_URL=https://api.notify-sim.io/v19.0

No card. Free tier stays free. Local edition runs on your machine.

Drop-in for the gateways you already use

SmartPing SPARC Exotel Meta WhatsApp Cloud API SendGrid v3 Expo Push Firebase Cloud Messaging v1 SMTP (AUTH + STARTTLS) generic REST

Same paths, same payloads, same success bodies - and the same error shapes, down to SmartPing's REJECTED, Meta's 131026, Expo's DeviceNotRegistered, FCM's UNREGISTERED and SMTP's 550.

The problem

In dev you either send for real, or you test nothing.

Both choices cost you. One burns money and reaches real people; the other replaces the part of your system most likely to break with a function that always returns true.

Sending for real

Gateway charges on every test run. Live DLT rejections. WhatsApp templates that fail approval only in production. And the moment a staging job picks up production data, a stranger gets an SMS about somebody else's flat.

Stubbing the channel

send_sms() returns True and nothing is exercised: not the provider's error codes, not your retry path, not your delivery-report handler, not the template your customer will actually read.

The third option

The real integration, exercised end to end, with nothing leaving the building. Your code keeps its provider client; the provider is simply somewhere else while you test.

Start in about two minutes

Send one message. Watch it arrive as a phone screen.

Create a project, copy the environment block for your stack, and run the flow you were about to test anyway. The free tier does not expire and needs no card.