> For the complete documentation index, see [llms.txt](https://dev.simplepay.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.simplepay.ai/docs/javascript-sdk/services/cryptocurrency.md).

# Cryptocurrency

Cryptocurrency API allows merchants to get some information about cryptocurrencies, that may be used during invoice creation

## Entities

### Cryptocurrency

`Cryptocurrency` entity represents single cryptocurrency

{% tabs %}
{% tab title="TypeScript" %}
Type may be imported as:

```typescript
import type { Cryptocurrency } from '@simplepay-ai/api-client';
```

Type definition:

```typescript
interface Cryptocurrency {
    /**
     * Cryptocurrency ID
     *
     * @example '4967cf90-ce74-4edf-9b4e-f6392de1c95a'
     */
    id: string;

    /**
     * Cryptocurrency symbol
     *
     * @example 'USDT'
     */
    symbol: string;

    /**
     * Cryptocurrency name
     *
     * @example 'Tether'
     */
    name: string;

    /**
     * Number of decimal places
     *
     * @example 18
     */
    decimals: number;

    /**
     * Is stablecoin
     *
     * @example true
     */
    stable: boolean;

    /**
     * List of blockchains in which cryptocurrency may be accepted
     */
    networks?: Network[];

    /**
     * Conversion rates to fiat currencies
     *
     * Key is ISO 4217 alphabetic code of fiat currency
     *
     * Value is price for 1 coin
     *
     * @example {
     *   USD: 1,
     *   EUR: 0.98
     * }
     * @see https://en.wikipedia.org/wiki/ISO_4217
     */
    rates?: CryptocurrencyRates;
}
```

{% endtab %}
{% endtabs %}

### Network

`Network` entity represents single blockchain network

{% tabs %}
{% tab title="TypeScript" %}
Type may be imported as:

```typescript
import type { Network } from '@simplepay-ai/api-client';
```

Type definition:

```typescript
interface Network {
    /**
     * Network ID
     *
     * @example '7639e9e4-6306-46a9-9acc-cc943d0d0c60'
     */
    id: string;

    /**
     * Network symbol
     *
     * @example 'ethereum'
     */
    symbol: string;

    /**
     * Network name
     *
     * @example 'Ethereum'
     */
    name: string;

    /**
     * Network type
     *
     * @example 'EVM'
     */
    type: string;
}
```

{% endtab %}
{% endtabs %}

### CryptocurrencyRates

`CryptocurrencyRates` entity is an object with conversion rates to fiat currencies

Key is [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) alphabetic code of fiat currency

Value is price for 1 coin

{% tabs %}
{% tab title="TypeScript" %}
Type may be imported as:

```typescript
import type { CryptocurrencyRates } from '@simplepay-ai/api-client';
```

Type definition:

```typescript
interface CryptocurrencyRates {
    [key: string]: number;
}
```

{% endtab %}
{% endtabs %}

## Methods

### List cryptocurrencies

{% tabs %}
{% tab title="TypeScript" %}
Request type definition:

```typescript
type CryptocurrencyListRequest = {
    /**
     * Return cryptocurrencies for specific App ID
     *
     * @example 'db50e5fc-1b91-49c4-8b6a-d33a44ffdda5'
     */
    appId?: string;

    /**
     * Include cryptocurrency rates in response
     *
     * @default false
     */
    rates?: boolean;

    /**
     * Include networks list in response
     *
     * @default false
     */
    networks?: boolean;
};
```

Validation errors type definition:

```typescript
export type CryptocurrencyListErrors = {
    appId?: 'uuid4';
    rates?: 'boolean';
    networks?: 'boolean';
};
```

Method call example:

```typescript
import type { CryptocurrencyListRequest, HttpError } from '@simplepay-ai/api-client';

try {
    const request: CryptocurrencyListRequest = {
        // Request is optional and may be omitted
    };

    const cryptocurrencies = await api.cryptocurrency.list(request);

    console.debug(cryptocurrencies);
} catch (e) {
    if (e instanceof HttpError) {
        const error = e as HttpError;

        console.error(error.code);
    }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
If you require cryptocurrency that is not in list, we will be glad to help you, feel free to [Request Cryptocurrency](mailto:info@simplepay.ai?subject=Cryptocurrency%20Request\&body=I%27m%20interested%20in%20...%20cryptocurrency)
{% endhint %}
