# Pricing and limits

The relying party (RP) plan determines the daily signature allowance, batch size, request rate and maximum level of assurance (LOA). `GET /v2/plans` returns the self-service plan catalog; `GET /rp/rate-limits/{clientId}` returns an RP's current allowance.

| Allowance | Starter | Business | Enterprise |
|---|---|---|---|
| Price | $69 monthly or $828 annually. | $649 monthly or $7,788 annually. | Agreed with sales. |
| Signatures per day | 100 | 1,000 | Agreed with sales. |
| Documents per batch | 2 | 10 | Agreed with sales. |
| Signing requests per minute | 60 | 300 | Agreed with sales. |
| Highest LOA | `LOA-2` | `LOA-4` | `LOA-4` |

LOA-4 also requires RP verification and approval, as described in [LOA-4 setup](#/docs/rp-integration-guide#5-enable-loa-4). Contact [sales@tenda.world](mailto:sales@tenda.world) for Enterprise terms.

## Subscribe to a plan

Sign in to the developer portal's [Billing page](https://cloud.securysign.com/#/billing) with the RP's contact email, then choose the RP, plan and billing cadence. Checkout shows the price in US dollars and converts payment to Kenyan shillings (KES) at the checkout rate. Payment is available by card, M-Pesa or Airtel Money.

A settled monthly payment provides 30 days of service; an annual payment provides 365 days. The subscription covers signing by the RP's users during that term. Renew from the same Billing page.

## When you reach a limit

| Limit reached | What you receive | Your next step |
|---|---|---|
| Daily signatures | `429` with `Daily signing limit exceeded (…)`. | Wait for 00:00 UTC or choose a larger allowance. |
| Requests per minute | `429` with `Rate limit exceeded. Please try again later.` | Retry after the minute window resets. |
| Batch size | `429` with `Batch size <n> exceeds maximum <max>`. | Divide the documents into batches within the stated maximum. |
| Maximum LOA | `403` with `Requested LOA LOA-4 exceeds RP maximum LOA-2`. | Request the higher level on the [RP dashboard](https://cloud.securysign.com/#/rp/dashboard). |

Read consumption through `GET /rp/usage/{clientId}` and limits through `GET /rp/rate-limits/{clientId}`, using the contact account's access token. See [Relying parties](#/docs/api-relying-parties) for the response fields and [Errors and rate limits](#/docs/errors) for other endpoint limits.
