# Products and prices (/merchants/products-and-prices)

A product is something you sell; a price is what it costs in USDC, charged once or on a repeating
interval. You create and change both in the dashboard, under **Products**. The v1 API can read
them, but it cannot create or change them. A product on its own does not sell anything: your
server still has to create a checkout session for a price, see
[Do I need a developer?](/get-started/do-i-need-a-developer).

## Before you start [#before-you-start]

* Your account is approved. Before approval the dashboard refuses products.
* You know the amount in USDC and whether the price is one-time or recurring.

## Steps [#steps]

**Step 1.**

### Create the product with its first price [#create-the-product-with-its-first-price]

Open **Products** and click **New product**. Fill in:

* **Name**, up to 120 characters, and an optional **Description**, up to 1,000.
* **Price**: an amount in USDC, from 0.01 to 1,000,000.
* **Billing**: "One-time", "Monthly (every 30 days)" or "Yearly (every 365 days)". The last two are
  recurring prices.
* **Metadata**, if you want it: up to 20 keys, each key up to 40 characters and each value up to 500.

Click **Create product**. A product starts with one price; you can add more afterwards.

**Step 2.**

### Read the notice before you create a recurring price [#read-the-notice-before-you-create-a-recurring-price]

A recurring price is charged every 30 days or every 365 days. Before you submit, the form reminds you that the amount and the interval can never change once a
payer subscribes, because they are fixed on Solana.

**Step 3.**

### Add a price instead of editing one [#add-a-price-instead-of-editing-one]

Prices are never edited. To charge a different amount, open the product, go to **Add a price**,
enter the new amount and billing, and click **Add price**. Then archive the old price. The
**Prices** table lists each price with its **Public ID** (`fian_price_…`) and a **Copy** button:
that id is what your server sends to create a checkout session.

You can change a product's **Name**, **Description** and **Metadata** in its **Edit** panel; click
**Save changes**.

**Step 4.**

### Archive what you no longer sell [#archive-what-you-no-longer-sell]

On a price, click **Archive** and confirm "Archive this price? It can no longer be used for new
sales." On a product, click **Archive product** and confirm "Archive this product? It can no
longer be sold. You can unarchive it later." Archiving a product blocks new sales; checkout sessions
that already exist for it keep working.

To sell it again, click **Unarchive** or **Unarchive product**. While a product is archived you
cannot add prices to it or unarchive its prices; you can still archive them.

> **The payer pays the service fee on top:**
>
> The price is what you receive. When the service fee is above zero, it is added on top of the price
> and the payer pays it, in the same transaction. Prices are in USDC only.

> **Existing subscribers keep the price they subscribed to:**
>
> Adding a new price or archiving the old one does not change what existing subscribers pay: they
> keep paying the price they subscribed to.

## Limits [#limits]

| Limit                                        | Value |
| -------------------------------------------- | ----- |
| Active prices per product                    | 20    |
| Prices per product, archived ones included   | 200   |
| Products per account, archived ones included | 1,000 |

Nothing in your catalogue is ever deleted, so archived products and prices still count.

## Check it worked [#check-it-worked]

> The product appears under **Products** with the status "Active", and its page lists the price in
> the **Prices** table with a `fian_price_…` id. For a recurring price, the **On-chain plan** column
> says "Not created yet" until your server creates the first subscription checkout session for it.

## Troubleshooting [#troubleshooting]

| You see | Why | Fix |
|---|---|---|
| "Amount must be between 0.01 and 1000000 USDC" | The amount is below 0.01 or above 1,000,000 USDC. | Enter an amount in that range. |
| "A product can have at most 20 active prices" | The product already has 20 active prices. | Archive a price you no longer use, then add or unarchive the other. |
| "A product can have at most 200 prices, archived ones included" | The product has 200 prices in all. | Create a new product for the new price. |
| "A merchant can have at most 1000 products" | Your account has 1,000 products, archived ones included. | Reuse an existing product: add a price to it or unarchive it. |
| "Unarchive the product to add prices." | The product is archived. | Click Unarchive product first. |
| No Unarchive button on an archived price | Its product is archived. | Unarchive the product first. |

## See also [#see-also]

- [Subscriptions](/merchants/subscriptions): What happens after a payer subscribes to a recurring price.

- [Checkout sessions](/developers/checkout-sessions): How your server sells a price.

- [Orders and payments](/merchants/orders-and-payments): What each sale looks like in the dashboard.