# Tender Types

Tender types tell Bead which payment rails a terminal, location, or individual payment may accept.\
They fall into two families:

* **Crypto** – on-chain or Layer-2 digital assets
* **Alternative Payments** – wallet apps and QR-based methods (Alipay, PayPal, etc.)

Use the tender-type strings in the `tenderTypes` array of a create or update call to **allow** or **restrict** specific methods.

### Quick reference

| Family               | Example tender types                  | Where documented                 |
| -------------------- | ------------------------------------- | -------------------------------- |
| Crypto               | `ethereum`, `bitcoin`, `usdC_Polygon` | Crypto Tender Types              |
| Alternative Payments | `alipay`, `paypal`, `venmo`           | Alternative-Payment Tender Types |

### Usage guidelines

1. **Terminal / Location configuration** – set one or more tender types to limit what the device can accept.
2. **Payment requests** – omit `tenderType` to let the platform pick the first enabled method, or pass a single value to force one.
3. **Inheritance** – terminals inherit tender types from their parent location unless overridden.
4. **Forward compatibility** – unknown tender strings are rejected with a 400 validation error; always read the latest list before sending new values.

### Adding new tender types

When Bead enables another rail, we will:

* Add it to the appropriate child page (Crypto or Alternative Payments)
* Update the `/currencies` endpoint with network and precision details
* Announce the change in the global changelog

Integrators should pull the tender-type list at startup or pin to a known subset in configuration.

See [**Crypto Tender Types**](https://developers.bead.xyz/reference-guide/enumerations-and-schemas/tender-types/crypto) and [**Alternative-Payment Tender Types**](https://developers.bead.xyz/reference-guide/enumerations-and-schemas/tender-types/alternative-payments) for full tables and network specifics.
