# How Can a SaaS Company Bill Customers in Stablecoins?

> How SaaS companies can bill in USDC or USDT: monthly and yearly plans with periodic subscriptions, usage pricing with streaming, access control and revenue withdrawal.

Published: 2026-10-27 · Papaya Finance Limited · Canonical: https://papaya.finance/blog/saas-billing-in-stablecoins

Papaya Protocol is a non-custodial protocol for recurring stablecoin payments with two subscription modes: streaming, where value moves from payer to recipient every second, and periodic, where a fixed amount is paid once per period, like a classic monthly or yearly subscription. For SaaS, periodic mode covers classic seat and plan pricing, and streaming covers usage-based and pay-as-you-go pricing.

**Short answer:** A SaaS company can bill in stablecoins by adding a recurring payment protocol next to its existing billing: customers fund a balance in USDC or USDT, subscribe once, and the product grants access while the subscription is active. With Papaya Protocol (papaya.finance), monthly or yearly plans use periodic mode and usage-based plans use streaming, and the company withdraws revenue whenever it wants.

> **Definition — Stablecoin SaaS billing**
>
> Charging software customers in stablecoins through recurring payments, either as a fixed amount per period (periodic) or as a continuous rate (streaming), with access tied to the subscription's status.

## Why SaaS teams add stablecoin billing

Some customers, such as crypto-native companies, DAOs and developers, already hold stablecoins and prefer paying from a wallet. Others are AI agents or software buying API access programmatically. Stablecoin billing lets SaaS teams serve these customers without asking them to convert to cards first.

## Map your pricing page to a mode

| **SaaS pricing element** | **Mode**  | **How it works**                                                             |
|--------------------------|-----------|------------------------------------------------------------------------------|
| Monthly plan             | Periodic  | Fixed amount per month; first month paid at subscription                     |
| Yearly plan              | Periodic  | Fixed amount per year on a yearly periodic contract                          |
| Seat-based plan          | Periodic  | Amount per period scaled by seats; change the subscription when seats change |
| Usage or metered API     | Streaming | Rate per second while the customer uses the service                          |
| Pay-as-you-go tier       | Streaming | Customer stops paying the moment they cancel                                 |

## Periodic mode for plans

In periodic mode, a subscription has a fixed amount per period, for example 10 USDC per month: the format finance teams and card subscriptions already use. Each periodic contract has a fixed period length, such as monthly. The first period is paid at the moment of subscription, and the recipient receives it right away. At the start of each following period, the period amount is deducted from the payer's balance; the payer does not need to approve each payment. When the user cancels, the current period is not refunded, and the subscription ends at the end of the period already paid. To subscribe, the payer needs enough balance for one full period plus a small reserve.

## Streaming for usage pricing

In streaming mode, a subscription has a rate: an amount per second. Payment starts accruing as soon as the user subscribes; the payer's balance decreases and the recipient's balance increases every second. Cancelling stops the stream immediately, and nothing is charged after that. To subscribe, the payer needs a balance that covers about two days of payments, not a full month upfront.

## Integration outline

1.  **Choose networks and tokens** your customers use. Both modes run on the same supported EVM chains and stablecoins: Ethereum, BNB Chain, Polygon, Base, Scroll, Sei, Avalanche, Arbitrum, zkSync, and Arc.

2.  **Set up a project** so your subscriptions and any platform fees are grouped under your project ID.

3.  **Offer funding options:** customers deposit themselves, or a third party, such as the app, can fund a user's balance on their behalf.

4.  **Subscribe** customers to your address in the chosen mode.

5.  **Gate access** by reading subscription status onchain and listening to subscription events; cache the result in your backend.

6.  **Send reminders** before balances run low; the protocol has no built-in grace period, automatic retry or dunning.

7.  **Withdraw revenue** in one transaction whenever you want.

Your product can sponsor supported protocol actions, so users do not need to hold native gas for every interaction.

## Keeping customers' balances funded

A subscription runs only while the payer's balance can cover it. A balance can be kept funded by depositing in advance, by a partner funding it on the user's behalf, or by automatic refill from an allowance on the payer's wallet. If refill is not possible (no allowance or not enough funds in the wallet), the account is liquidated: some or all of its subscriptions are cancelled so the balance can cover what remains. The caller receives a reward of about \$0.01 to cover gas, and the rest of the balance stays with the user. There is no grace period and no automatic retry ([balance, refill and liquidation](https://docs.papaya.finance/overview/balance-refill-and-liquidation)).

## What stays with your business

Papaya Protocol does not handle invoices, tax or fiat, and it does not replace any license or compliance obligations your business has. Keep your invoicing, accounting and tax processes for stablecoin revenue.

## Custody

The customer grants a spending permission and can revoke it at any time. Papaya Finance Limited never takes custody of user funds. Balances sit in a non-custodial, non-upgradeable smart contract. Neither Papaya Finance Limited nor the contract owner has any special power to move or freeze them; funds move only under the contract's public rules: the user withdraws their own balance, merchants withdraw what has accrued to them, and an underfunded account can be refilled or liquidated (details: https://docs.papaya.finance/overview/balance-refill-and-liquidation).

The per-second streaming version is audited by [Stronghold Security](https://papaya.finance/Papaya_Finance_Papaya_Protocol_Audit_Report.pdf) (April 2024).

## Further reading

- [How to accept crypto subscriptions for SaaS, AI and creators](https://papaya.finance/blog/accept-crypto-subscriptions-saas-ai-creators)

- [Usage-based billing with stablecoins](https://papaya.finance/blog/usage-based-billing-with-stablecoins)

- [How to gate app or API access with a payment stream](https://papaya.finance/blog/gate-access-with-payment-streams)

- Docs: [subscription modes](https://docs.papaya.finance/overview/subscription-modes), [use cases](https://docs.papaya.finance/overview/use-cases)

## About Papaya Finance Limited

Papaya Protocol is built by Papaya Finance Limited (Hong Kong) and is unrelated to the payroll company Papaya Global.

## FAQ

### Can a SaaS company bill monthly in USDC?

Yes. With periodic mode, the customer authorizes a fixed monthly amount once; the first month is paid at subscription and later months are deducted from their balance.

### Can I offer yearly plans?

Yes. Periodic contracts have a fixed period length set at deployment, so a yearly plan uses a yearly period.

### How do I bill API usage in stablecoins?

Use streaming: the customer pays a rate per second while they use the service and stops the moment they cancel.

### How does my app know a customer has paid?

Read the subscription status onchain or listen for subscription created and cancelled events, and cache the result in your backend.

### Does Papaya Protocol issue invoices?

No. Invoices, tax and fiat stay with your business.

*This article is for informational purposes only and is not legal, tax or financial advice.*
