> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shakesco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Assets

> Get every asset you can ask to be paid in when you create an invoice

<span style={{display:"none"}}>For the complete documentation index, see [llms.txt](/llms.txt).</span>

Retrieve the assets you can pass as `asset` when you [create an invoice](/api-reference/payment-links/invoices/create). The list has three kinds of asset:

* **Crypto**: `BTC`, `ETH`, `USDT` and `SATS`.
* **Loyalty**: `LOYALTY`, your own loyalty token. It is listed only when your business has one.
* **Stock**: one entry for every stock Shakesco supports, largest company first. The value to pass is the stock's symbol, for example `AAPLon`.

Stocks are added and removed over time, so read this list instead of hardcoding symbols.

## Which stocks you can ask for

You can name any stock in this list on an invoice, whether or not it is on your watchlist. Naming it is how you accept it for that invoice.

Your watchlist matters when an invoice has no `asset`. The payer then chooses what to pay with, and for stocks they can only choose ones on your watchlist. Each stock in this list has a `followed` field that tells you whether it is on yours. Add a stock to your watchlist in the Shakesco app to let customers pay with it on those invoices.

## Response

<ResponseField name="assets" type="array">
  Every asset you can put on an invoice.

  <Expandable title="Asset fields">
    <ResponseField name="asset" type="string">
      The value to pass as `asset` when creating an invoice. Case sensitive.
    </ResponseField>

    <ResponseField name="type" type="string">
      `"crypto"`, `"loyalty"`, or `"stock"`
    </ResponseField>

    <ResponseField name="label" type="string">
      A name to show people, for example `"Apple Inc. (AAPLon)"` or `"Loyalty token (SHK)"`
    </ResponseField>

    <ResponseField name="followed" type="boolean">
      Stocks only. `true` when the stock is on your watchlist, so a payer can pick it on an invoice that has no `asset`. You can name the stock on an invoice either way.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "assets": [
      { "asset": "BTC", "type": "crypto", "label": "Bitcoin (BTC)" },
      { "asset": "ETH", "type": "crypto", "label": "Ethereum (ETH)" },
      { "asset": "USDT", "type": "crypto", "label": "Tether (USDT)" },
      { "asset": "SATS", "type": "crypto", "label": "Lightning (SATS)" },
      { "asset": "LOYALTY", "type": "loyalty", "label": "Loyalty token (SHK)" },
      { "asset": "NVDAon", "type": "stock", "label": "Nvidia Corp (NVDAon)", "followed": true },
      { "asset": "AAPLon", "type": "stock", "label": "Apple Inc. (AAPLon)", "followed": false }
    ]
  }
  ```

  ```json 401 Unauthorized theme={null}
  {
    "error": "Invalid API key"
  }
  ```

  ```json 502 Bad Gateway theme={null}
  {
    "error": "Service temporarily unavailable"
  }
  ```
</ResponseExample>

<Info>
  A customer can only pay with an asset they hold. An invoice that asks for a stock or for your loyalty token can be paid only by a customer who owns enough of it, so use these for customers you know hold them.
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.