A demo app for abusend: no real money moves, and SMS codes land in the SMS inbox.

Pay as you go

Prepaid credits for the Orbit API

Top up your balance, pay 10 cents per call. Behind the checkout, abusend rules decide who gets which verification: most people never see one.

  • No real money: the card is a demo card
  • SMS codes arrive in the built-in SMS inbox

Try these

Each top-up goes through the rules of this demo's abusend project. Open the SMS inbox in a second tab.

Allow

Top up $20

No rule matches a small top-up: it goes straight through.

Verify with SMS

First $150, before any API call

An account that pays but never used the API gets an SMS code. Type it from the SMS inbox.

Verify with Captcha or hCaptcha

$600 from an account made today

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.

Verify with SMS

Six top-ups within an hour

Orbit reports every top-up to abusend as an event; the sixth in an hour needs a code.

Your app decides

Over $2,000 in 24 hours

abusend leaves it to Orbit, which holds the top-up for a manual review.

Why?

See each decision

The wallet explains the last decision in plain words: which rule, which verification.

How it fits together

  1. 1

    Browser

    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.

  2. 2

    Orbit's server

    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.

  3. 3

    Events

    After each top-up, abusend.events.track() reports it, so rules can count them: event_count("topup", "1h").