Test mode
Use ask_test_ key and everything you create lives in test mode: real meters on the test network, escrowed in testnet AUSD — money with no value outside the test network — delivered to your endpoints with real signatures. The flow is exactly live mode’s: a subscriber wallet short of the cap sees Add funds on the checkout, and unused escrow returns the moment the meter stops. The dashboard has a switch between the two modes; each has its own keys, products, endpoints and events.
Test and live are separate worlds, not a flag on an object. A test id under a live key is a 404.
Getting testnet AUSD
A subscriber wallet needs testnet AUSD before a meter can start; the checkout’s Add funds step shows the wallet’s receiving address to send it to. Agora runs a faucet contract for it on Monad testnet — callrequestFunds(address) on 0xd236c18D274E54FAccC3dd9DDA4b27965a73ee6C from any wallet holding a little testnet MON for gas, naming the receiving address, and 10,000 testnet AUSD arrives in a block or two:
A demo rate
At$0.004 a second, a fifteen-second try shows six cents. For a demo, or a screenshot, create a test Product with a rate that makes the counter move visibly:
max_duration_seconds: 120 on the checkout session means the subscriber is asked to fund about fifty cents, not the default hour.
Forward webhooks to your laptop
Elapse cannot reachlocalhost. The CLI opens a stream to the platform and forwards every delivery to your local server, byte for byte, with the platform’s own signature, then reports your server’s status code back so the dashboard shows it.
ELAPSE_WEBHOOK_SECRET once. Deliveries only go to the CLI while it is running; there is no queue of missed events to drain when you come back. elapse events resend evt_… replays one.
ELAPSE_SECRET_KEY in the environment skips elapse login. A live key needs --live, on purpose.
Send a test delivery
Every endpoint in Developers → Webhooks has a Send test delivery button that fires any of the six event types at it with a sample body and a real signature, and shows the attempt like any other. It is the fastest way to exercise a handler before a subscriber ever presses Start. On the CLI endpoint it works whileelapse listen is running, and tells you to start it otherwise.