Esta página aún no está disponible en tu idioma.
Use this page to see which cryptocurrencies and blockchain networks CoinsSend supports, choose labels for your interface, and find the codes to send in API requests.
Supported assets at a glance
Section titled “Supported assets at a glance”The public catalog was checked on September 17, 2026 (UTC): 9 coins, 7 networks, and 18 coin/network pairs. This is a dated reference; load the live catalog to build your current payment or withdrawal choices.
| Network display name | API network code | Coins in the catalog |
|---|---|---|
| Bitcoin | bitcoin | BTC |
| Ethereum (ERC-20) | eth | ETH, USDT, USDC |
| TRON (TRC-20) | tron | TRX, USDT |
| BNB Smart Chain (BEP-20) | bsc | BNB, USDT, USDC |
| Polygon PoS | polygon | POL, USDT, USDC |
| TON (Jetton) | ton | TON, USDT |
| Arbitrum One | arbitrum | ARB, ETH (deposits only), USDT, USDC |
At that check, deposits and withdrawals were enabled for all listed pairs except ETH on Arbitrum One, where deposits were enabled and withdrawals were disabled. Check the current operation flags before enabling a choice.
The coin codes for requests are btc, eth, trx, bnb, pol, ton,
arb, usdt, and usdc. Keep these values dynamic in your integration;
new assets may be added and existing pairs may become unavailable.
Coin codes, network codes, and display labels
Section titled “Coin codes, network codes, and display labels”A coin and its network form one payment option. USDT on TRON and USDT on Ethereum are different options: always display both the coin and the network when asking a customer where to send funds.
| Purpose | Value to use | Example |
|---|---|---|
| Display the coin | Catalog coin.label | USDT |
| Display the network | Catalog networks[].title | TRON (TRC-20) |
Send coin in a request | Lowercase catalog coin.symbol | usdt |
Send network in a request | Lowercase catalog networks[].network | tron |
| Identify a choice in your UI | Both normalized codes | usdt:tron |
Use eth for the Ethereum network and bitcoin for the Bitcoin network.
Display names and token-standard labels such as ERC-20, TRC-20, and
BEP-20 are not API network codes. The native Polygon coin code is pol.
Do not combine every coin with every network or infer the network from an
address alone.
Load the live catalog
Section titled “Load the live catalog”Both discovery endpoints are public and require no API key, Merchant, or
Sign header:
curl --fail --show-error https://api.coinssend.com/v1/coins-and-feecurl --fail --show-error https://api.coinssend.com/v1/get-coin-rate| Endpoint | How to use it |
|---|---|
GET /v1/coins-and-fee | Read data.coins for the available coin/network pairs, display labels, network fees, service-fee percentages, and minimum withdrawals. |
GET /v1/get-coin-rate | Match data[].coin.symbol and networks[].network for deposit_enabled, withdraw_enabled, amount limits, decimals, and exchange rates. |
The catalog includes pairs enabled for deposits, withdrawals, or both;
it does not return the individual operation flags. A min_withdrawal or
network_fee value by itself does not mean withdrawals are enabled.
Use the catalog as the starting list, then match the rate metadata by the
lowercase coin/network pair. For receiving payments, require
deposit_enabled === true; for withdrawals, require
withdraw_enabled === true.
The rates response can contain coins with no available networks and can omit assets without rate data. For example, at the check above SOL had rate data but no networks and was absent from the catalog. A price or quote alone is not evidence that an asset is available for payments. If metadata for a catalog pair is missing, show its availability as unknown and refresh before enabling the operation.
JavaScript: build coin and network choices
Section titled “JavaScript: build coin and network choices”This example only reads public data. It keeps catalog entries with missing metadata visible as unavailable choices, without assuming that they support either operation.
const api = 'https://api.coinssend.com';
async function getData(path) { const response = await fetch(`${api}${path}`); if (!response.ok) throw new Error(`Discovery failed: ${response.status}`);
const body = await response.json(); if (body.status !== 'success') throw new Error('Discovery failed'); return body.data;}
const [catalog, rates] = await Promise.all([ getData('/v1/coins-and-fee'), getData('/v1/get-coin-rate'),]);
const metadata = new Map(rates.flatMap((entry) => entry.networks.map((network) => [ `${entry.coin.symbol.toLowerCase()}:${network.network.toLowerCase()}`, network, ])));
const choices = catalog.coins.flatMap((entry) => entry.networks.map((network) => { const coin = entry.coin.symbol.toLowerCase(); const code = network.network.toLowerCase(); const id = `${coin}:${code}`; const details = metadata.get(id);
return { id, coin, network: code, label: `${entry.coin.label} — ${network.title}`, availabilityKnown: details !== undefined, depositEnabled: details?.deposit_enabled === true, withdrawEnabled: details?.withdraw_enabled === true, }; }));
const depositChoices = choices.filter((choice) => choice.depositEnabled);const withdrawalChoices = choices.filter((choice) => choice.withdrawEnabled);If discovery fails, show a loading/error state with a retry option. Do not
replace a failed response with a hardcoded list of enabled payment methods.
The catalog advertises Cache-Control: public, max-age=900 (15 minutes);
respect that cache window and handle changes between discovery and submission.
Use a selected pair in requests
Section titled “Use a selected pair in requests”| Operation | Fields |
|---|---|
| Create an invoice | Use lowercase coin and network to preselect a pair. allowed_coins is an array of lowercase coin codes, not network codes or coin:network identifiers. |
| Create a static wallet | Send the selected lowercase coin and network with the other required wallet fields. |
| Create a withdrawal | Send the selected lowercase coin and network; check withdrawal availability and limits for that pair. |
For example, a selected USDT payment on TRON supplies these fields (this is only the pair, not a complete request):
{ "coin": "usdt", "network": "tron"}Discovery is a UI aid. The target endpoint makes the final decision on pair
and amount validation; handle HTTP 422, refresh the choices, and explain the
validation message to the customer. Do not silently switch the network or
retry a write automatically.
Fees, limits, and precision
Section titled “Fees, limits, and precision”Read current values from the discovery responses; do not copy the examples into permanent fee or limit tables. Keep monetary values as decimal strings, and use the selected pair’s precision rather than assuming one decimal count for a coin across every network.
The public catalog’s service fee is not a merchant-specific fee quote. For your merchant’s settings, use Merchant Fees. See Coin Rates API for the complete discovery response fields.