Top up $20
No rule matches a small top-up: it goes straight through.
Pay as you go
Top up your balance, pay 10 cents per call. Behind the checkout, abusend rules decide who gets which verification: most people never see one.
Each top-up goes through the rules of this demo's abusend project. Open the SMS inbox in a second tab.
No rule matches a small top-up: it goes straight through.
An account that pays but never used the API gets an SMS code. Type it from the SMS inbox.
One of two captchas, picked at random (70/30); with the providers' test keys it passes on its own. Then the SMS step, if the account never used the API.
Orbit reports every top-up to abusend as an event; the sixth in an hour needs a code.
abusend leaves it to Orbit, which holds the top-up for a manual review.
The wallet explains the last decision in plain words: which rule, which verification.
Abusend.fetch() sends the top-up with a one-time token and runs any verification a rule asks for: Turnstile, hCaptcha, or Orbit's own SMS step.
abusend.protect() asks for a verdict with the user's attributes and the amount. Allowed top-ups go through; held ones wait for a review.
After each top-up, abusend.events.track() reports it, so rules can count them: event_count("topup", "1h").