Skip to content

Billing

SignalBin bills by traffic credit rather than by seats or a monthly plan. You buy a pool of bytes, and SignalBin debits it as your workspace captures webhooks. There are no tiers to choose between, just credit and how fast you're spending it.

How credit is spent

Every workspace has a balance tracked as a running ledger of credits and debits.

A debit happens each time an endpoint stores a capture. The amount is the size of the whole capture: the body, the headers, and SignalBin's own metadata for it, not the body alone. SignalBin neither stores nor debits a request it rejects.

Credits come from two places: completed traffic purchases, and a one-time welcome credit of 20 MiB granted when the workspace is created. Every workspace you create gets its own welcome credit.

Buy more credit

Any member of the workspace can buy credit, not just owners.

  1. Go to Billing in the sidebar. Your current Traffic balance is at the top of the page.
  2. Click Buy traffic.
  3. Set Traffic amount in MB. Type a number directly, or use the minus and plus buttons on either side to step it by 10. The dialog shows you Traffic, Rate, and Total as you change it.
  4. Click the button at the bottom, which reads Pay followed by the amount. SignalBin creates a Stripe Checkout session and sends you to Stripe's hosted payment page.
  5. Complete payment there. Once Stripe confirms it, SignalBin adds the credit to your workspace balance.

TIP

Creating a checkout session doesn't charge anything on its own. If you close the tab before finishing payment, no money moves and no credit lands, so you can start over whenever you like.

The same flow is available programmatically under the billing:write scope, which is what an AI client uses through MCP Integration. It returns a checkout URL and stops there; a person still has to open it and pay.

Prices and limits

ItemValue
Price$0.50 per MB, flat, in USD
Minimum purchase20 MB, which works out to $10.00
Maximum per checkout1,048,576 MB
MB, as used here1,048,576 bytes
Welcome credit20 MiB, once per workspace
Maximum request body20 MiB

The price per MB doesn't change with purchase size. There's no volume discount and no plan to upgrade into, so buy what you need when you need it. The Traffic amount box enforces the minimum and maximum, and tells you which one you've hit if you go outside them.

When credit runs out

Two credit conditions stop a webhook from being captured. In both, the sender is told payment is required and the request is dropped rather than truncated:

  • The balance has hit zero or gone below it. (402 credit_exhausted.)
  • There's some credit left, just not enough to cover this particular request once its headers and metadata are counted. (402 insufficient_credit.)

A separate limit applies regardless of balance. SignalBin refuses any request body over 20 MiB before storing it, so it never gets the chance to debit anything. (413 payload_too_large.)

Troubleshooting covers what the sender sees and what to do about it.

Where to see balance, usage, and history

The Billing page has three parts:

  • Traffic balance at the top, with a bar showing how it compares against the baseline welcome credit.
  • Usage, covering the last 30 days: Current month traffic, Current month requests, and Average request size, plus a day-by-day chart of billed traffic and request counts.
  • Traffic purchase history, a table of completed purchases with Date, Amount, and Price.

The full ledger, every individual credit and debit including the welcome grant, isn't in the web UI. Read it through the API instead, at GET /api/billing/ledger or with the list_billing_history MCP tool. Balance, ledger, usage, and purchases are all covered by the billing:read scope.

Payment provider

Production SignalBin runs on Stripe for checkout and payment processing. It's the only live payment option.

INFO

The codebase also carries integration code for Paddle as an alternate provider, but it isn't configured or exposed in production. Don't expect to see it offered at checkout.

Next steps