Skip to main content
GET
/
crypto
/
currencies
List supported crypto currencies.
curl --request GET \
  --url https://api.streamloop.app/v1/crypto/currencies \
  --header 'Authorization: Bearer <token>'
[
  {
    "decimals": 123,
    "icon": "<string>",
    "id": "<string>",
    "name": "<string>",
    "network": "<string>",
    "rateUSD": 123,
    "symbol": "<string>",
    "chainId": 123,
    "contractAddress": "<string>"
  }
]

Authorizations

Authorization
string
header
required

OAuth 2.1 authorization-code flow with PKCE.

Response

Successful response.

decimals
integer
required

Decimals for unit conversion. ERC20 tokens vary (USDT=6, DAI=18); native coins follow chain convention (ETH=18, SOL=9, BTC=8). Defaults to 18 when unknown so EVM transfers stay safe.

icon
string
required

SVG icon URL.

id
string
required

0xProcessing currency identifier, e.g. "USDT (TRC20)" or "BTC".

name
string
required

Human-readable name from manifest, e.g. "Tether".

network
string
required

Network code from the manifest, e.g. "TRC20", "ERC20", "POLYGON", "SOL".

rateUSD
number
required

Price of 1 unit in USD (from Binance; 1.0 for stablecoins).

symbol
string
required

Base symbol, e.g. "USDT".

transferKind
enum<string>
required

How a frontend should construct the payment transaction.

Available options:
EVM_NATIVE,
EVM_ERC20,
NON_EVM
chainId
integer | null

EVM chain ID a WalletConnect/wagmi client should switch to before signing. Null for non-EVM chains (Solana, Tron, Bitcoin, TON, …) — those need their own connector libraries.

contractAddress
string | null

Token contract address for ERC20-style tokens on EVM chains (and SPL mint for Solana). Null for native coins (ETH, SOL, MATIC, BTC, …) where a wallet sends a plain transfer instead of calling a contract.