evm
0xdac1…1ec7
REST API for crypto payments, wallet operations, swaps and webhooks — designed for production merchant integrations.
stringnumber25.50.integer3600.booleantrue or false (JSON).urlhttps://...).emailcoinUSDT.TRC20, USDT.BEP20, USDC.BASE, ETH.ARB, BTC, SOL, etc. See GET /coins for the live catalog (1,833+ assets).object{ ... }.array[ ... ].All successful API responses use the envelope: { "error": "ok", "result": { ... } }. Errors: { "error": "message", "result": null }.
All authenticated endpoints require HMAC-SHA512 signatures.
| Field | Type | Required | Description |
|---|---|---|---|
X-API-Key | string | yes | Public API key (cpk_live_...) |
X-Nonce | integer | yes | Monotonic counter (must be > previous nonce; reused nonces rejected for ~10 minutes) |
X-API-Signature | string | yes | HMAC-SHA512 hex digest (lowercase) |
X-Timestamp | integer | no | Unix seconds. If sent, must be within ±60s of server time and is appended to the signature payload |
Content-Type | string | yes* | application/json for POST bodies (*GET: optional) |
Signature payload — METHOD uppercase (GET|POST|PUT|DELETE). PATH = Laravel request->path(), without leading slash and without query string (e.g. sign api/v1/deposit/address, not api/v1/deposit/address?coin=BTC):
METHOD\nPATH\nRAW_BODY\nNONCE
When X-Timestamp is present, append it:
METHOD\nPATH\nRAW_BODY\nNONCE\nTIMESTAMP
Validation errors on /api/* return JSON 422 with { "message": "...", "errors": { ... } } — never an HTML redirect.
Example — sign a request (5 languages):
# Helper: sign any request
METHOD="POST"
PATH="api/v1/payments/create"
BODY='{"amount":10,"currency":"USD","coin":"USDT.BEP20"}'
NONCE=$(date +%s%3N)
PAYLOAD="${METHOD}
${PATH}
${BODY}
${NONCE}"
SIGNATURE=$(echo -n "$PAYLOAD" | openssl dgst -sha512 -hmac "$SECRET_KEY" | awk '{print $2}')
$method = 'POST';
$path = 'api/v1/payments/create'; // no leading slash
$body = json_encode(['amount' => 10, 'currency' => 'USD', 'coin' => 'USDT.BEP20']);
$nonce = (string) (int) (microtime(true) * 1000);
$payload = strtoupper($method) . "\n" . $path . "\n" . $body . "\n" . $nonce;
$signature = hash_hmac('sha512', $payload, $secretKey);
$headers = [
'Content-Type: application/json',
'X-API-Key: ' . $publicKey,
'X-Nonce: ' . $nonce,
'X-API-Signature: ' . $signature,
];
import hashlib, hmac, json, time
method = "POST"
path = "api/v1/payments/create"
body = json.dumps({"amount": 10, "currency": "USD", "coin": "USDT.BEP20"}, separators=(",", ":"))
nonce = str(int(time.time() * 1000))
payload = f"{method}\n{path}\n{body}\n{nonce}"
signature = hmac.new(secret_key.encode(), payload.encode(), hashlib.sha512).hexdigest()
headers = {
"Content-Type": "application/json",
"X-API-Key": public_key,
"X-Nonce": nonce,
"X-API-Signature": signature,
}
const crypto = require('crypto');
const method = 'POST';
const path = 'api/v1/payments/create';
const body = JSON.stringify({ amount: 10, currency: 'USD', coin: 'USDT.BEP20' });
const nonce = String(Date.now());
const payload = `${method}\n${path}\n${body}\n${nonce}`;
const signature = crypto.createHmac('sha512', secretKey).update(payload).digest('hex');
const headers = {
'Content-Type': 'application/json',
'X-API-Key': publicKey,
'X-Nonce': nonce,
'X-API-Signature': signature,
};
import (
"crypto/hmac"
"crypto/sha512"
"encoding/hex"
"encoding/json"
"fmt"
"strconv"
"time"
)
method := "POST"
path := "api/v1/payments/create"
data := map[string]interface{}{"amount": 10, "currency": "USD", "coin": "USDT.BEP20"}
bodyBytes, _ := json.Marshal(data)
body := string(bodyBytes)
nonce := strconv.FormatInt(time.Now().UnixMilli(), 10)
payload := fmt.Sprintf("%s\n%s\n%s\n%s", method, path, body, nonce)
mac := hmac.New(sha512.New, []byte(secretKey))
mac.Write([]byte(payload))
signature := hex.EncodeToString(mac.Sum(nil))
In the dashboard, merchants can manage accepted crypto assets from Mes Cryptos. This page controls API usage only and has two independent switches per coin:
POST /payments/create and POST /transactions/create.POST /withdrawals/estimate-fee and POST /withdrawals/create.If a coin is globally supported but disabled for the relevant API operation, the API returns an error such as Coin not enabled for API payments: USDT.BEP20 or Coin not enabled for API withdrawals: DOGE.
This policy does not affect dashboard wallet deposits, dashboard wallet withdrawals, or wallet deposit address APIs. Those continue to use the global supported coin catalog.
Returns the live catalog of crypto assets supported by CRYPTOCHE. Permission: wallet:read. The catalog currently covers 32 networks and 1,833 active assets (same global source as dashboard Mes Cryptos). It is independent of each merchant's API payment/withdrawal switches.
Symbols are unique per network. Multi-chain natives and tokens use a suffix (e.g. ETH.ARB, USDC.BASE, USDT.opBNB). Classic stables keep legacy suffixes: USDT.TRC20, USDT.BEP20, USDC.SOL.
Use these slugs with the chain query filter on GET /coins. Counts refresh from the live catalog.
| Slug | Network | Type | Native | Assets |
|---|---|---|---|---|
aptos |
Aptos | aptos | APT |
19 |
arbitrum |
Arbitrum | evm | ETH.ARB |
101 |
avalanche |
Avalanche | evm | AVAX |
98 |
base |
Base | evm | ETH.BASE |
102 |
berachain |
Berachain | evm | BERA |
75 |
bsc |
BSC | evm | BNB |
116 |
btc |
Bitcoin | utxo | BTC |
1 |
celo |
Celo | evm | — | 51 |
cronos |
Cronos | evm | CRO |
99 |
doge |
Dogecoin | utxo | DOGE |
1 |
eth |
Ethereum | evm | ETH |
106 |
gnosis |
Gnosis | evm | — | 98 |
hyperevm |
HyperEVM | evm | HYPE |
101 |
linea |
Linea | evm | ETH.LINEA |
84 |
ltc |
Litecoin | utxo | LTC |
1 |
mantle |
Mantle | evm | — | 74 |
monad |
Monad | evm | MON |
73 |
moonbeam |
Moonbeam | evm | GLMR |
25 |
near |
NEAR | near | NEAR |
49 |
opbnb |
opBNB | evm | BNB.opBNB |
20 |
optimism |
Optimism | evm | ETH.OP |
102 |
polygon |
Polygon | evm | MATIC |
100 |
scroll |
Scroll | evm | ETH.SCROLL |
42 |
sei |
Sei | evm | SEI |
43 |
solana |
Solana | solana | SOL |
3 |
sonic |
Sonic | evm | S |
99 |
stellar |
Stellar | stellar | XLM |
19 |
sui |
Sui | sui | SUI |
19 |
ton |
TON | ton | TON |
19 |
tron |
Tron | tron | TRX |
4 |
xrp |
XRP | xrp | XRP |
1 |
zksync |
zkSync Era | evm | ETH.ZKSYNC |
88 |
Full import-ready catalog: every active asset with metadata, logo, CoinGecko id, and block-explorer links. Omit pagination params to receive the entire list in one response.
| Field | Type | Required | Description |
|---|---|---|---|
chain | string | no | Filter by network slug from the table above (e.g. base, arbitrum, monad, ton, tron). Default: all active coins. |
page | integer | no | Page number (≥ 1). Only used when per_page is set. |
per_page | integer | no | Page size (1–500). When omitted, all matching coins are returned. |
Example request:
curl "https://cryptoche.com/api/v1/coins?chain=tron" \
-H "X-API-Key: cpk_live_YOUR_KEY" \
-H "X-Nonce: 1700000004" \
-H "X-API-Signature: YOUR_HMAC_SHA512"
// GET request — empty body in HMAC payload
// Signature payload: "GET\napi/v1/coins\n\n{nonce}"
$query = http_build_query(['chain' => 'tron']);
$response = $client->get("https://cryptoche.com/api/v1/coins?" . $query, ['headers' => $headers]);
$coins = json_decode($response->getBody(), true)['result']['coins'];
resp = requests.get(
"https://cryptoche.com/api/v1/coins",
params={"chain": "tron"},
headers=headers,
)
coins = resp.json()["result"]["coins"]
const url = new URL('https://cryptoche.com/api/v1/coins');
url.searchParams.set('chain', 'tron');
const resp = await fetch(url, { method: 'GET', headers });
const { result } = await resp.json();
console.log(result.coins);
req, _ := http.NewRequest("GET", "https://cryptoche.com/api/v1/coins?chain=tron", nil)
resp, err := http.DefaultClient.Do(req)
result| Field | Type | Description |
|---|---|---|
coins | array | Array of coin objects (sorted by market cap rank, then symbol) |
networks | array | Unique network slugs in the filtered catalog (full set, even when paginated) |
total | integer | Total matching assets (before pagination) |
page | integer | Present when per_page is set |
per_page | integer | Present when per_page is set |
has_more | boolean | Present when per_page is set — more pages available |
| Field | Type | Description |
|---|---|---|
symbol | coin | Unique symbol: USDT.TRC20, ETH.BASE, BTC, … |
name | string | Display name: Tether, Ethereum, … |
chain | string | Network slug (see Active networks table — complete closed set for live assets) |
chain_type | string | One of: evm, utxo, tron, solana, xrp, ton, sui, aptos, stellar, near — see chain_type reference |
contract_address | string|null | Token contract / mint / asset id (null for natives) |
decimals | integer | On-chain decimals |
is_native | boolean | true | false — native gas coin for the chain |
is_stablecoin | boolean | true | false — see stable base symbols |
logo_url | string|null | Token logo URL when available (Trust Wallet / CoinGecko) |
coingecko_id | string|null | CoinGecko asset id when known |
min_confirmations | integer | Confirmations required before credit |
market_cap_rank | integer|null | CoinGecko market-cap rank when known |
explorer_url | string|null | Block-explorer URL for the contract (null for natives) |
chain_explorer_url | string|null | Block-explorer home URL for the network |
Asset type can be derived from the boolean flags:
is_native = true (ETH, BTC, TRX, SOL, TON, …)is_native = false & is_stablecoin = true (USDT.TRC20, USDC.BASE, …)is_native = false & is_stablecoin = false (LINK, UNI, WBTC, …){
"error": "ok",
"result": {
"coins": [
{
"symbol": "USDT.TRC20",
"name": "Tether",
"chain": "tron",
"chain_type": "tron",
"contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"decimals": 6,
"is_native": false,
"is_stablecoin": true,
"logo_url": "https://…",
"coingecko_id": "tether",
"min_confirmations": 19,
"market_cap_rank": 3,
"explorer_url": "https://tronscan.org/#/token20/TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"chain_explorer_url": "https://tronscan.org"
},
{
"symbol": "USDC.BASE",
"name": "USD Coin",
"chain": "base",
"chain_type": "evm",
"contract_address": "0x…",
"decimals": 6,
"is_native": false,
"is_stablecoin": true,
"logo_url": "https://…",
"coingecko_id": "usd-coin",
"min_confirmations": 1,
"market_cap_rank": 7,
"explorer_url": "https://basescan.org/token/0x…",
"chain_explorer_url": "https://basescan.org"
}
],
"networks": ["base", "tron"],
"total": 2
}
}
All active assets currently listed on CRYPTOCHE, with confirmations, decimals, chain type and asset class — same fields as GET /coins.
evm
0xdac1…1ec7
aptos
0x357b…dc2b
evm
0x9702…A8c7
evm
0x4806…3d5e
near
usdt.t…near
evm
0xb8c7…dd52
evm
0xa0b8…eb48
evm
0xaf88…5831
evm
0xB97E…8a6E
evm
0x8335…2913
evm
0xceba…118c
evm
0xb883…630f
evm
0x7547…b603
evm
0x0b2C…Ff85
evm
0x2791…4174
evm
0xe15f…2392
evm
0x2921…8894
stellar
CCW67T…MI75
evm
0xdc03…384f
evm
0x6491…876b
evm
0x820c…21dc
evm
0x2af5…2ca3
evm
0x2511…099d
near
zec.omft.near
stellar
evm
0x7105…018f
evm
0xd072…2ae0
evm
0x8c80…ac85
evm
0x0124…8ac3
evm
0xe2e7…09b2
evm
0x1ac2…de59
evm
0xfe36…e043
evm
0x6fe9…c343
near
514910…near
evm
0x548c…d3ac
evm
0x7105…018f
evm
0x7105…018f
evm
0x5286…b534
evm
0x99f0…2dea
evm
0x9252…4f59
evm
0x5149…86ca
evm
0xf97f…9fb4
evm
0x5947…27a3
evm
0x88fb…e196
evm
0xf8a0…51bd
evm
0x350a…a7f6
evm
0x53e0…ad39
evm
0x4c9e…68b3
evm
0x5d3a…ef34
evm
0x5d3a…ef34
evm
0x5d3a…ef34
evm
0x5d3a…ef34
evm
0x5d3a…ef34
evm
0x76a7…220f
ton
evm
0x8d0d…8b0d
evm
0x8d0d…8b0d
evm
0x1111…db61
evm
0x1111…db61
evm
0x6B17…1d0F
aptos
0x05fa…37d2
aptos
0xf37a…c2e9
evm
0x5d3a…ef34
evm
0x5d3a…ef34
evm
0x5d3a…ef34
evm
0x5d3a…ef34
evm
0x5d3a…ef34
ton
EQAIb6…zP5f
evm
0x39fe…db0d
evm
0x22b1…31fa
sui
evm
0x1364…9f2b
evm
0x8d0f…1311
evm
0x6c3e…a0e8
evm
0x4685…6984
aptos
0x5003…5f89
stellar
CCCRWH…HGU2
evm
0x95ad…c4ce
evm
near
evm
0xe343…491d
evm
0x6874…2f38
evm
0x7ec4…593a
evm
0x4537…9d74
near
1f9840…near
evm
0x7712…2aec
evm
0xa652…5872
evm
0x53fc…6a2f
evm
0x2d5b…f84f
evm
0xa1cd…7cf5
evm
0x2893…0e99
aptos
0xcfea…53cc
evm
0x5be2…c5a6
evm
0x54cd…e2a6
sui
0x960b…USDY
stellar
USDY-G…DAZ6
evm
0xcf32…3e36
evm
0x96f6…985c
evm
0x35e0…9a9d
evm
0xda5e…bef6
evm
0x4747…deea
evm
0x4580…af78
evm
0xfaba…9be3
evm
0xdc6f…26f1
evm
0x163f…8753
evm
0x000a…556a
evm
0x8292…17ed
evm
0x8d01…90b8
evm
0x8d01…90b8
evm
0x8d01…90b8
evm
0x8d01…90b8
evm
0x8d01…90b8
near
7fc665…near
evm
0xbf51…e9b1
evm
0xfa7f…f7f0
evm
0x8eba…8580
evm
0x1f98…F984
evm
0x6fd9…6691
evm
0xb33e…180f
evm
0x61ec…e99e
evm
0x61ec…e99e
evm
0x7523…a86c
evm
0xfa2b…cec2
evm
0xdead…0000
evm
0x5607…9279
evm
0x45e5…66ba
evm
0x4f8e…cd1a
evm
0x40bd…df48
evm
0xbaa5…0842
evm
0x58d9…c2b2
evm
0x00f3…8917
evm
0x00f3…8917
evm
0x54d2…0581
evm
0x25d8…bb00
evm
0x25d8…bb00
evm
0xa659…be6d
evm
0x6982…1933
evm
0xce24…6666
evm
0xce24…6666
evm
0x57fd…72a3
stellar
CBGV2Q…DDOF
evm
0xc139…ac1c
evm
0x0eb3…f335
evm
0xa076…fc80
evm
0xcbeb…6ce7
evm
0xa076…fc80
evm
0xa076…fc80
evm
0xde4e…cbd6
evm
0x6e88…ce3e
evm
0xfb61…f802
evm
0xba5d…7196
evm
0x63a7…86d9
evm
0x6370…814b
evm
0x7fc6…dae9
evm
0x76fb…9278
evm
0xd6df…c90b
evm
0x4a22…4675
evm
0x4341…1c4e
evm
0xc18e…6040
evm
0xa5d4…627b
evm
0x8c21…4b86
evm
0x8c21…4b86
evm
0x6de0…eb24
evm
0x41b3…a48e
evm
0xb621…5206
ton
EQAPh9…klNV
evm
0x011e…075f
evm
0x455e…c3f6
evm
0x0000…1010
evm
0x5853…0133
evm
0x5853…0133
evm
0x686b…c25f
evm
0x924f…4444
evm
0x5853…0133
evm
0x5853…0133
evm
0x5853…0133
evm
0x57e1…6061
evm
0x5853…0133
evm
0xe667…4759
evm
0x58f9…3b6b
evm
0x5a0f…cf64
evm
0x58f9…3b6b
evm
0x5a0f…cf64
evm
0xacfe…21bf
evm
0x6ad1…2181
evm
0x6ad1…2181
evm
0x6ad1…2181
evm
0x7dff…8b33
evm
0xfc42…9e73
evm
0x6bb7…10ee
evm
0x40d1…6c2f
evm
0xad48…f797
evm
0xfc42…9e73
evm
0xfc42…9e73
evm
0xfe93…224f
evm
0x35f1…6850
evm
0x758a…a270
evm
0x758a…a270
evm
0x73a1…acf5
evm
0xa2b7…d495
evm
0xe28b…ca30
aptos
evm
0x6fa0…0fc9
evm
0x912c…6548
evm
0xb507…4ad1
evm
0x272e…c8a2
evm
0x1412…7b76
evm
0xd879…ca47
evm
0x0990…c8b0
evm
0xba11…5811
evm
0x1b19…ee92
evm
0x1c20…59eb
evm
0x40af…11c9
evm
0x0000…b376
aptos
0x159d…eOFT
evm
0x2779…2d1c
evm
0xdcb6…9e11
evm
0xc891…2acd
evm
0x60a3…db42
evm
0x1aba…c33c
evm
0x0d1e…efbe
evm
0x3a28…cecd
evm
0x997a…18e1
evm
0xa6de…54c8
evm
0x031b…fa7f
evm
0xaea4…ad85
evm
0x9045…16be
evm
0x9045…16be
evm
0x9045…16be
evm
0x1b89…ba2c
evm
0x3055…13a1
evm
0x0e09…ce82
evm
0x1526…c898
stellar
EURC-G…NPP2
evm
0x6418…8847
evm
0x6418…8847
evm
0xd993…7228
evm
0x6b37…d4af
evm
0x98a8…4665
evm
0xfa44…8c14
evm
0x19eb…f7f6
evm
0x056a…bd81
evm
0x8b14…caea
evm
0xe5b4…1048
evm
0x0919…1f74
evm
0xa697…f422
evm
0x1151…67f6
evm
0x1723…10af
evm
0x11cd…4978
evm
0x8ee7…0415
evm
0xd533…cd52
evm
0x0994…fb53
aptos
0x2a90…4b56
evm
0x0b3e…7e1b
evm
0x44ff…bf73
evm
0x232c…4ee2
sui
0xf16e…DUSD
ton
EQD0Ev…kO89
evm
0x3011…7d49
evm
0x2798…2204
evm
0x8b19…1488
evm
0xbf92…7cdd
evm
0xc5f0…6409
evm
0x93c9…69fe
evm
0xc5f0…6409
evm
0x9401…8631
evm
0x14da…ea52
evm
0x6f91…b7eb
evm
0x50da…bb2c
evm
0xe0f6…c56c
evm
0x9c58…cedb
evm
0x40b8…6fde
evm
0x6944…bcc8
evm
0x44f1…b5cc
evm
0xcf51…16eb
evm
0x70c8…d0a2
evm
0x3506…b4af
evm
0x1887…159c
evm
0x7189…dc27
evm
0x6c24…2aa2
evm
0xfe0c…c0eb
evm
0x20ee…ecca
evm
0x198d…850a
evm
0x352c…434b
evm
0xc669…7957
evm
0xff9c…aef6
evm
0xd6eb…205a
evm
0x5e49…2e0e
evm
0xf1ef…a74b
evm
0xa0b8…6cf1
evm
0x6810…6b96
evm
0x322e…3bfb
evm
0x44bb…f285
evm
0x44bb…f285
evm
0x060c…dcc0
evm
0xf0cb…7028
evm
0x060c…dcc0
evm
0x64aa…f1d5
evm
0x56ba…1b8e
evm
0x90c9…9f40
evm
0x853d…b99e
evm
0x2e3d…f475
evm
0xfb5b…d37e
evm
0xcf0c…6a2e
evm
0x6bdc…4444
evm
0xa3f7…3d3a
evm
0xdf78…cc32
evm
0x0419…8113
evm
0x09be…adb1
evm
0x467b…790f
evm
0x7420…03ec
evm
0x92aa…fb10
evm
0x80f1…8888
evm
0x6985…71cd
evm
0x6985…71cd
evm
0x6985…71cd
evm
0x6985…71cd
evm
0x6985…71cd
evm
0x6985…71cd
evm
0x6985…71cd
evm
0xabef…058d
evm
0xc3c7…8756
evm
0x13ad…fa60
evm
0x5a98…1b32
evm
0xfdb7…735f
evm
0xfa1c…f949
evm
0xac23…4db2
evm
0xac4d…8164
evm
0xca14…2766
evm
0x8a60…d9c2
evm
0xe6df…5528
evm
0xbc7b…66e1
evm
0x0c88…c9e8
evm
0xa99f…eb3e
evm
0xb3ed…d507
evm
0x8085…a827
evm
0x5fe2…5531
evm
0x9623…88c7
evm
0x8a0c…5cb9
evm
0xc944…44a7
near
c944e9…near
evm
0x4200…0042
evm
0xf57d…9ec5
evm
0x365d…2013
evm
0x0a1a…82ef
evm
0x0a1a…82ef
evm
0x0b2b…5ef9
evm
0x5668…a8b8
evm
0x3a63…d25d
evm
0x4440…acaa
evm
0x0000…012a
evm
0x0000…012a
evm
0xc183…9d72
evm
0x65e7…d83c
evm
0x2c27…f6aa
evm
0xa145…adfd
sui
0x2053…AUSD
evm
0xc4ce…b5d6
evm
0x498b…c1e5
evm
0x417a…af93
evm
0xe2fb…def4
evm
0xc52d…cbf6
evm
0x90c4…dd6f
evm
0x8505…ef5c
evm
0x354a…91de
evm
0xc304…2437
evm
0x9e10…40e0
evm
0x52ce…67e8
evm
0x6ff4…bd1e
near
c00e94…near
evm
0x76ce…5609
evm
0x180a…25bf
evm
0x7d21…cfea
evm
0xba94…fb60
evm
0xb481…66cb
evm
0xe488…e750
evm
0x0212…03f5
evm
0xe488…e750
evm
0x4b0f…8003
evm
0x715d…f8a0
evm
0xab11…bbb0
evm
0x6a7e…292d
evm
0x0e63…25a9
evm
0x688a…9a2f
evm
0xb481…66cb
evm
0x7065…a162
evm
0xb481…66cb
evm
0xdf24…1fa5
evm
0x55b9…8157
stellar
CANKBY…7KFH
evm
0xa81a…ba23
evm
0x1f12…e9a6
evm
0xe111…ae99
evm
0x6f64…3dc5
evm
0x0c70…479c
evm
0x0bb7…c059
evm
0x9c63…5e0c
evm
0x7324…a05b
evm
0x5abe…ddd5
evm
0xbbba…5683
evm
0xac53…2dcf
evm
0x3cef…d219
evm
0x9844…0588
near
c011a7…near
evm
0x0000…012a
evm
0x0000…012a
evm
0x0000…012a
evm
0x0000…012a
evm
0x0000…012a
evm
0x4bfa…714f
evm
0x4bfa…714f
evm
0x2081…46ee
evm
0xa1c5…6fd4
evm
0x5dd1…082c
evm
0x5dd1…082c
evm
0x5dd1…082c
near
0d8775…near
evm
0xb7b3…0930
evm
0x7f9f…1e98
evm
0x8f86…2b79
evm
0xfdd2…5a5a
evm
0xfdd2…5a5a
evm
0xfdd2…5a5a
evm
0x80ee…00df
evm
0x80ee…00df
evm
0x80ee…00df
evm
0xe502…b0b6
evm
0x80ee…00df
evm
0x80ee…00df
evm
0xd41f…5dfb
aptos
0xe528…0a88
evm
0x6fbb…b74b
ton
EQD0la…w1-8
evm
0x5a11…44b5
evm
0x9928…bf34
evm
0xfce6…43d0
evm
0x7c64…2875
evm
0xd891…11f8
evm
0x0df0…b413
aptos
0xe067…d17b
evm
0x80ee…00df
evm
0xc734…73d8
evm
0x397f…ce82
evm
0x80ee…00df
evm
0x80ee…00df
evm
0xea77…170d
evm
0xa4a2…6e00
evm
0x9503…029a
evm
0xfeaf…035b
evm
0x208b…2025
evm
0x624e…8831
evm
0x1b46…2778
evm
0x5a7d…af3e
evm
0x7ddc…1989
evm
0x98d0…7553
evm
0x1801…795c
evm
0x4d41…9493
evm
0x3380…a100
evm
0x77b7…b135
evm
0x9d0e…d083
evm
0x1111…c302
evm
0xc5fe…1cbe
evm
0x3d4f…a760
evm
0xc063…8973
evm
0xda7a…52b3
evm
0xda7a…52b3
evm
0xaf44…8122
evm
0x24de…e346
evm
0x075d…e326
evm
0x61a1…0000
evm
0x13a8…58f8
evm
0xcce5…98d5
evm
0x032d…482d
evm
0xc87b…056c
evm
0xf50d…7dee
evm
0x61e0…49cd
evm
0x61e0…49cd
evm
0x5b73…e284
evm
0x4d18…3820
evm
0x17ea…70ee
evm
0x289b…a839
evm
0x1169…06db
evm
0xca5c…e594
evm
0xab36…f64a
evm
0x0f0d…4e37
evm
0x50b7…f68a
evm
0xbec2…209b
evm
0x22e6…da66
evm
0x8700…99b4
evm
0x9b5e…1722
evm
0x8a16…7a2f
evm
0x60bf…2a81
evm
0xc6bd…4176
evm
0xdcf5…bfd0
evm
0xc6bd…4176
evm
0xc6bd…4176
evm
0x2f4e…9958
evm
0xcb8b…7a04
evm
0xc694…ae69
evm
0x5bfd…95b0
evm
0x9769…911c
evm
0x1aa8…cfc3
evm
0x1771…3d3c
evm
0x44fc…a664
evm
0x3e76…4f91
evm
0xbf65…fdfd
near
0bc529…near
evm
0x3d19…ee81
evm
0xf43e…9229
sui
0x356a…:WAL
evm
0x7beb…6081
evm
0x8c90…1145
evm
0xae0d…e428
evm
0x3e5d…9ea0
evm
0xed47…5aff
evm
0x02c6…6c70
evm
0x1219…71de
evm
0x19e8…ffa6
sui
0x9f85…AGMA
evm
0xca72…ab49
evm
0xac0f…9adb
evm
0x62d0…bfce
evm
0x2a66…322a
evm
0xad26…920e
evm
0xd204…7d36
evm
0x37c5…4bb6
evm
0xe91d…a97d
evm
0x9e6a…3b55
ton
EQDc3k…acjd
evm
0x7f45…0183
sui
0x9d29…XAUM
evm
0xda53…60b6
evm
0x82e3…1582
evm
0x9eaa…52dc
evm
0x9eaf…b239
evm
0x9046…107b
stellar
SHX-GD…J6JH
evm
0x226a…7dd2
evm
0x1f17…1f03
evm
0x0c1c…1f6e
evm
0x0c1c…1f6e
evm
0x3792…3299
evm
0x9f07…bc91
evm
0x4ed4…efed
evm
0xa7e2…1081
evm
0x0dc2…83d6
evm
0x6e60…78f7
ton
EQCWDj…P2jn
evm
0x1789…bb04
evm
0x58ec…af33
evm
0xa142…2737
evm
0x09fa…d8c3
evm
0x3913…b982
evm
0x8ad3…7cf0
ton
EQB4Iw…B563
evm
0xe5e8…d1e0
evm
0xe5e8…d1e0
evm
0xb9e1…a721
evm
0x2f6f…7590
evm
0x6694…1eb6
evm
0x2f6f…7590
evm
0xe3b5…64df
evm
0x296f…3f97
evm
0x2c72…6e28
evm
0x62ed…c661
evm
0xfc5a…ad0a
evm
0xa4b3…0b0a
evm
0x0a33…0a3c
stellar
VELO-G…2M5M
evm
0x5dd1…082c
evm
0x532f…42e4
evm
0x84a9…adeb
evm
0x17e1…81ea
evm
0xf3dd…c1f8
evm
0x8ad3…7cf0
evm
0x2fab…3245
evm
0x4677…e5f3
evm
0x0f8e…d046
evm
0xb0ff…2b91
evm
0xb0ff…2b91
stellar
BRZ-GA…IEO2
evm
0x8226…237f
evm
0x89d5…1037
evm
0x5576…37ea
evm
0xe53d…1388
evm
0xdd62…e438
sui
0x34d1…:BCE
evm
0xac1b…b2b4
evm
0x4ed1…75dc
evm
0x491a…556f
evm
0xc12e…1cdc
evm
0x27ec…4452
evm
0x2ab1…27f9
evm
0x5538…42c5
evm
0x6e4e…8940
evm
0x23ee…810f
evm
0x44c7…4c5d
evm
0x23ee…810f
evm
0x23ee…810f
evm
0x9b49…b44e
evm
0x3073…3073
evm
0x9673…3061
evm
0x8ae1…7384
evm
0x6a76…23b6
evm
0x4621…3191
evm
0x527e…7a97
evm
0xd90f…e4e7
evm
0xd78a…ac5a
evm
0x0b3f…a50a
evm
0xd4d4…c61a
evm
0x37b6…4f76
evm
0x7d49…afba
evm
0xf4d9…a024
evm
0x9d8c…7e45
evm
0xcded…0e1e
evm
0x3073…3073
evm
0xe0cd…601d
sui
0xdeeb…DEEP
evm
0x3e2e…5c61
evm
0x407a…6d6f
evm
0xd15e…3226
near
6b3595…near
evm
0x471e…a438
evm
0x22af…6f3b
evm
0xaad6…99f2
evm
0xd4dd…5553
evm
0xd4dd…5553
evm
0x7297…7fc2
evm
0x32ec…1b54
evm
0xfebd…eceb
evm
0x2d03…1e03
evm
0xe6a5…ddfb
evm
0xeb27…15c8
evm
0x2da5…af71
evm
0x4a97…17cf
evm
0xc1eb…6d52
evm
0x747e…4ea7
evm
0xd352…4087
evm
0xb25e…4762
evm
0xb989…0945
evm
0xff7f…009b
evm
0xff7f…009b
evm
0xff7f…009b
near
056fd4…near
ton
EQAvlW…_NOT
near
ff2081…near
evm
0x1337…8ab1
evm
0xd4dd…5553
evm
0xd4dd…5553
evm
0xd4dd…5553
evm
0xd4dd…5553
evm
0x7d12…942f
evm
0xaeae…e861
evm
0xaeae…e861
evm
0xdf47…36b2
evm
0x101a…9c35
evm
0x5bff…70c0
evm
0xfb3f…cbec
evm
0xaf8c…b888
evm
0xd58d…8242
evm
0xe332…e5f1
evm
0x27ab…6324
sui
0x3516…:MMT
evm
0xa8ae…ef8c
evm
0xdf47…36b2
evm
0xe7e7…e7e7
evm
0x0000…c2d6
evm
0x61a1…3b56
evm
0x911e…fd85
evm
0xc845…849d
evm
0x0f87…82a5
evm
0x90a2…dd48
evm
0x95f9…50a6
evm
0x2b9e…10c7
ton
EQCva-…oaB8
evm
0x74db…e119
evm
0x74db…e119
evm
0x74db…e119
evm
0x3bd2…2339
evm
0xd691…b7e9
evm
0x5bff…70c0
evm
0x5bff…70c0
evm
0x1f34…f44f
evm
0xdbb5…39d7
evm
0xc845…849d
evm
0x3b8d…94f1
evm
0xff7f…009b
evm
0xff7f…009b
evm
0x7ff7…a2c0
evm
0x7ff7…a2c0
evm
0x7ff7…a2c0
evm
0x3ff4…428d
evm
0xd7bb…ac21
evm
0x33af…21f5
evm
0x99f7…c6da
evm
0x0e38…3265
evm
0x0469…c0b6
evm
0x27f6…5287
evm
0x27f6…5287
evm
0x0356…b01d
evm
0x02dc…6ff3
evm
0xc629…e32b
evm
0x0c06…44f8
evm
0xe033…4cdf
evm
0xff73…b76b
evm
0x5369…c99d
evm
0xf328…d8fc
evm
0xaca9…35da
evm
0xaca9…35da
evm
0x7205…b9ec
evm
0xb766…c507
evm
0x3ab1…f9a9
evm
0xf3c0…b3dd
evm
0x6143…a2ff
evm
0xd4d0…14c1
evm
0x1e2c…1d59
evm
0x1e2c…1d59
evm
0x1e2c…1d59
evm
0x1e2c…1d59
evm
0x1e2c…1d59
evm
0xc40f…2819
evm
0x93b3…425b
evm
0x2300…21c7
evm
0x18ec…04f6
evm
0x26a6…e140
evm
0xcb44…c56e
evm
0xa753…50af
evm
0xe5c3…aa95
evm
0x5032…6115
evm
0x81d3…89d2
evm
0x1a3a…9062
evm
0x9d2f…88a7
evm
0x214d…e387
evm
0xe2dc…130a
sui
0xee96…::US
evm
0x7c7d…c963
evm
0x68fa…ce28
evm
0xfecb…3760
evm
0xfeb2…6429
evm
0xfecb…3760
evm
0x44e3…3d26
evm
0x7712…9e5c
evm
0xf2ae…da58
evm
0xe92f…803f
evm
0xd0ee…3f29
evm
0xae2f…b08e
evm
0x2267…0f4c
evm
0xa78d…b684
ton
EQALwJ…7iZc
evm
0xe649…f47c
evm
0xe92f…803f
evm
0xe3d5…3738
evm
0x714d…d4c2
evm
0x1b81…c603
evm
0xcafc…d07b
evm
0xabc9…d083
evm
0x9dab…2ca0
ton
EQBaCg…neLA
evm
0xeb9b…dac6
evm
0x2117…ffad
evm
0x9923…4979
evm
0xc9d2…a5c4
evm
0x053f…99b1
evm
0x34b5…73f8
evm
0x1477…88a9
evm
0x4d34…f75d
evm
0xd53d…b460
near
43dfc4…near
evm
0x59a6…2770
evm
0x1111…1111
evm
0xf3df…71b6
evm
0xf3df…71b6
near
469193…near
evm
0x9e22…5159
evm
0xec6a…95bf
evm
0x6b28…f552
evm
0x2727…7b7b
evm
0x9cee…ac68
evm
0x45db…bdc1
evm
0xce1b…7814
evm
0xe5fb…121d
evm
0xb963…a578
ton
EQA2kC…T6bO
evm
0x2561…9f9e
evm
0x282d…a1a1
evm
0xa00e…3819
evm
0x39fc…0f5f
evm
0x1c95…948c
ton
EQD3-D…tfGy
stellar
CDT3KU…P4FR
evm
0x4586…00b5
evm
0x9895…32cb
evm
0x808d…0949
evm
0x8731…1e98
evm
0x8731…1e98
evm
0x4ec2…c573
evm
0x8261…0fd1
evm
0x4fe5…e774
evm
0xca30…5fb5
evm
0xf14f…f387
evm
0xca30…5fb5
evm
0xca30…5fb5
ton
EQD-cv…AAD7
evm
0x4176…c11b
evm
0x3b2f…b1d6
evm
0x6ee4…83e6
evm
0xeb97…9148
evm
0x970e…fe3d
evm
0x8a64…33f6
evm
0x431d…7bdb
evm
0x66dc…02be
evm
0xc111…cfcb
evm
0x4f96…46a7
evm
0x8c6f…c8d9
evm
0x6ae7…108c
evm
0xc3f5…5ca7
evm
0xae84…8169
evm
0xe613…a40a
evm
0x3d14…9ecd
evm
0x764a…a935
evm
0x764a…a935
ton
EQBE_g…7EBP
evm
0x9560…88db
evm
0x511a…11e3
evm
0x4178…1bc5
evm
0xabbe…0000
evm
0x7bf5…4bb7
evm
0xe4bf…fe78
evm
0x598e…c796
evm
0xfc8a…6ea0
evm
0x4e20…97b8
evm
0x4e20…97b8
evm
0x4e20…97b8
near
aaaaaa…near
evm
0xdc33…1995
evm
0xb2f8…096e
evm
0x77f5…6f0e
evm
0x26de…43eb
evm
0xa320…726c
evm
0x539a…b140
evm
0xd60d…5229
evm
0x6e84…0fdd
evm
0xbfd5…4d5e
evm
0x96e1…07d7
evm
0x11cd…90c7
evm
0xbfc7…13ac
stellar
AQUA-G…AQUA
evm
0x6b26…5227
evm
0xe3c3…28a4
evm
0xf1c1…6fa3
evm
0xb631…4c4b
evm
0x371c…2f07
evm
0x29cc…bdca
evm
0x83b0…707f
evm
0xb9c8…10ec
evm
0xdfa4…4b02
evm
0x3f56…ea0d
evm
0x1111…d325
evm
0x6164…6194
evm
0xf244…4f39
evm
0xd1c3…6fc4
evm
0x6b43…57d0
evm
0x3b45…cedf
evm
0xfcbd…0dce
evm
0xd534…399a
evm
0x4772…8121
evm
0x4677…6c59
evm
0x0f81…a654
evm
0x45c1…2671
evm
0x4772…8121
evm
0xd057…2a08
evm
0xed68…e8de
evm
0x6942…2496
evm
0x2f12…45e7
evm
0x2f12…45e7
evm
0x8729…c0f5
evm
0xf9fb…0f16
evm
0x3370…6386
evm
0x1533…2bc7
evm
0x46fa…f711
evm
0x787c…e508
evm
0xef44…7945
evm
0x5748…5562
evm
0x1b68…e19c
near
6f2596…near
evm
0x81db…e1c5
evm
0xaaa0…82cc
evm
0xe7ba…21b3
evm
0x1d18…5f1f
evm
0x8835…e16c
evm
0x9d27…890a
evm
0xb892…f382
evm
0x63ed…fdaa
evm
0x0000…6033
evm
0x0000…6033
evm
0x3254…0e85
evm
0xbbcb…3ac9
evm
0xacff…dc51
evm
0xce11…9d9f
evm
0x9d94…ba72
evm
0x639b…b46f
evm
0xedf3…c63e
evm
0xb44a…663c
evm
0xdfc2…9d65
evm
0x420f…2329
aptos
0x665d…:MBX
evm
0xfe8b…9921
evm
0xe15b…98c3
evm
0x3876…3db3
evm
0x1e4c…4efe
evm
0xbbcb…3ac9
evm
0x3557…5081
evm
0x02f9…f875
evm
0x02f9…f875
evm
0x5923…5161
evm
0x5a5f…1655
evm
0x1f1e…a251
evm
0x7ef5…f717
near
ba1000…near
evm
0xfc2e…e527
near
de30da…near
evm
0x37b6…f7b3
evm
0x53ac…892e
evm
0x5fc1…51f9
evm
0x5621…6b35
evm
0xac96…1e03
evm
0xbd6d…c91b
evm
0x9670…989a
evm
0x8ddb…8f33
evm
0x4775…4af5
evm
0xbee6…0e83
evm
0x1001…1001
evm
0x56aa…e8ef
near
token.…near
evm
0x9a60…3027
evm
0x2ed6…2021
evm
0xfcde…02f1
evm
0x79bb…e07c
evm
0x8cf8…b1ef
evm
0x74cc…0979
evm
0x29db…996a
evm
0x8f69…04d5
evm
0xc5eb…f871
near
dbdb4d…near
evm
0x228a…6c19
evm
0x6078…a982
stellar
VCHF-G…XIZN
evm
0xe405…ee49
evm
0xd296…7b1b
evm
0xcccc…0e60
stellar
AUDD-G…2EEU
evm
0xf1df…a5a3
evm
0x79bb…e07c
evm
0x79bb…e07c
evm
0x1ce0…79d3
evm
0x74cc…0979
evm
0x5c09…67ce
evm
0xc7b5…5079
near
token.…near
evm
0x193f…405d
evm
0x720f…134b
evm
0x61ef…f9d9
evm
0x718a…b54f
near
token.sweat
evm
0xdd73…c5b2
evm
0x647f…d616
evm
0x027d…3aa7
evm
0xfcaf…25dd
evm
0xd3d4…e7a8
near
77fba1…near
evm
0xd2a5…456b
near
408e41…near
evm
0x9ee1…6aa4
evm
0x3a97…2843
evm
0xca79…c645
stellar
RIO-GB…J5AK
evm
0x564a…b401
evm
0x501e…b8b8
evm
0xf4f4…55de
evm
0xd81a…09f1
evm
0x799b…91eb
evm
0x501e…b8b8
evm
0x501e…b8b8
evm
0x443a…6323
evm
0xf4f4…55de
stellar
AFR-GB…N54W
evm
0x26e9…6ca9
evm
0x4917…1fe8
evm
0xfa57…88fb
evm
0xa1b6…c7c9
evm
0xf1a0…d174
evm
0x52e4…ec1f
evm
0xe2d2…f377
evm
0x0393…a35c
evm
0x1822…83c8
evm
0x1c8e…50fa
evm
0xdbf3…68da
evm
0x21a4…509d
evm
0xd442…2773
evm
0x9f0c…b94d
evm
0x52d1…f9e4
evm
0x741b…0f58
evm
0x741b…0f58
evm
0x35e5…a4b9
evm
0x0a3d…5c48
evm
0xa4db…6bc7
evm
0x96c6…b1fb
evm
0xbd43…3154
evm
0x0000…7fef
evm
0x0a52…a4fe
evm
0x83af…013a
evm
0xe593…7a6e
stellar
GYEN-G…5TOB
evm
0x0383…adb8
evm
0x9995…31ed
evm
0xec3f…bb19
evm
0x07c5…3035
evm
0xa334…9e62
evm
0x4f60…5ad3
evm
0xd687…e00c
evm
0xc5b0…0d45
evm
0x981b…9af5
evm
0x7f2f…68fc
evm
0x7568…659a
evm
0xc0d1…21df
evm
0xb4bc…77f0
evm
0xbe65…d588
evm
0x0841…f182
evm
0xdb7d…04e9
evm
0xe75a…5e63
evm
0x62d5…ed80
evm
0x2dad…38f8
evm
0xd876…ca73
evm
0xecf4…43b3
evm
0x1f51…37f7
evm
0x1b5f…a264
evm
0x86e3…f3dd
evm
0xf9f1…4f5e
evm
0xaf9f…f151
evm
0x6ef9…de0d
evm
0x1467…a136
evm
0xdd9f…1827
evm
0x1bee…e309
evm
0x1ecd…edfa
evm
0x0000…d1ec
evm
0x1359…0de8
evm
0x38ba…6565
evm
0x91b8…6d56
evm
0x929b…4b50
evm
0x9e10…40e0
evm
0x374a…231a
evm
0x5810…1c56
evm
0xfd44…00d1
evm
0x7ecf…9979
evm
0x1299…b50d
evm
0x4933…c2c2
evm
0x38f9…9999
evm
0x71b6…b116
evm
0x248f…9cd5
evm
0x3b41…6d4d
evm
0xed87…746b
evm
0x217d…bb11
evm
0x3db6…df47
evm
0x3788…e8dd
evm
0x4515…00c9
evm
0xd616…0a3f
evm
0x2222…ea02
evm
0x3500…7777
evm
0x3b00…cf03
evm
0x9929…2e41
evm
0x2492…79e9
evm
0x0ad3…4a77
evm
0xdd46…40b9
evm
0xd359…9d48
evm
0x60d0…c747
evm
0x60d0…c747
evm
0x60d0…c747
evm
0x16a9…ee5b
evm
0xad5c…b4c0
evm
0x0aa1…1dce
evm
0xc4a6…1d7e
evm
0x4f60…5ad3
evm
0x2749…e7c7
evm
0x84e2…b5bb
evm
0x6e51…0cc9
near
abr.a11bd.near
near
token.…near
near
2ba592…near
evm
0x7fb6…448b
evm
0x18bc…3c22
evm
0x60c2…061f
evm
0xd336…4440
evm
0x59d9…508c
evm
0xa0b1…87f6
evm
0xe453…fe51
evm
0x0d0b…6804
evm
0x6182…9364
evm
0xd589…89cf
evm
0x59d9…508c
evm
0x7715…dc31
evm
0xb444…d1f5
evm
0xe45f…9991
evm
0xd9cc…5fa2
evm
0x336d…63e8
evm
0x5d0d…868d
evm
0x81eb…ea89
evm
0xe4ee…51c4
evm
0x00fd…1009
evm
0x47bb…ddee
evm
0x8ccd…7dca
evm
0xeedb…fa13
evm
0xc7ed…e1c8
evm
0x9346…9cba
near
usmeme.tg
evm
0xaf20…e7d7
evm
0x1173…fd49
evm
0x5475…47d7
near
438e48…near
evm
0xcdb7…72a1
evm
0xd775…f912
evm
0xf353…0d3c
evm
0xcbf0…e2e7
evm
0x5555…5555
evm
0xdea6…809c
evm
0xfd28…998e
evm
0x9fd7…72d1
evm
0x0e0c…d16b
evm
0x3613…dc9e
evm
0x3333…3333
evm
0x13c0…883d
evm
0x7135…5a72
evm
0xaf1d…46d5
evm
0xfd28…998e
evm
0x4e10…9c74
evm
0x95fe…ea1d
near
purge-…near
evm
0xabec…f9bf
evm
0xf467…1404
evm
0x3911…af18
evm
0x19c4…0be4
evm
0x5cb9…7108
evm
0xd76f…90e0
evm
0x1509…213b
evm
0x3333…3333
evm
0x9181…dbc3
evm
0xdcc1…129b
evm
0x9efd…eacf
evm
0x2f11…1b86
evm
0x48b1…e1d9
near
blackd…near
evm
0x6089…e30b
evm
0x81e7…bbaf
evm
0x7f4d…3696
evm
0x9fb1…f702
evm
0x2363…5293
evm
0x9d54…2e36
evm
0x97df…43a8
evm
0x6d96…d114
near
npro.n…near
evm
0xa904…18fd
evm
0xb157…7a6e
evm
0x167a…5048
evm
0x81a2…7777
evm
0xb098…61db
evm
0x1111…4111
evm
0x5fbd…1566
evm
0xefd8…e348
evm
0x2824…89db
evm
0x876e…e500
evm
0xd9fc…ea0a
near
f5cfbc…near
evm
0xdb04…917c
evm
0xccf6…0746
evm
0x0aeb…dd54
evm
0x256e…e47d
evm
0xcc1b…6ac6
evm
0x09d4…2b34
evm
0x866d…5e78
evm
0x09d4…2b34
evm
0x09d4…2b34
evm
0x0224…c8e1
evm
0xed70…b4a8
evm
0x4a1e…4acd
evm
0xf9af…f2b7
evm
0x216a…c660
evm
0x6698…2eac
evm
0x13a7…74f0
evm
0xf793…065c
near
token.…near
evm
0xf91f…7234
evm
0x067b…a9c8
evm
0x1ac7…4a9e
evm
0x36c4…413e
evm
0xb069…d110
evm
0x31c2…ca4a
evm
0x2f2f…2f2f
evm
0x2f2f…2f2f
evm
0x2d0e…e4f0
near
jambo-…near
evm
0x17d8…dc40
evm
0xfbf2…2a6a
evm
0xc4a1…23f9
evm
0xfbdd…01b8
evm
0xa776…e72e
evm
0xdefa…c3a3
evm
0xd370…9e7c
evm
0x7a99…7456
evm
0xe853…4787
evm
0x4f4f…9e75
evm
0xb365…22c6
evm
0x70e7…77d3
evm
0x2888…91d7
evm
0xfb62…0d08
evm
0x20c6…df7a
evm
0xe51e…fe44
evm
0x2c81…fb0a
evm
0x0dc4…d90d
evm
0x688e…ac82
evm
0x9fdb…4564
evm
0x5165…6398
evm
0x1234…4321
evm
0x1234…4321
evm
0x39bc…c782
evm
0x5ff6…01bd
evm
0x4608…67f9
evm
0xad96…8d7c
evm
0x6536…c755
evm
0x841a…674a
evm
0x1d14…056f
evm
0x7ae4…bb7f
evm
0x456a…b0d0
evm
0x7bbc…3255
evm
0xd256…5052
evm
0x2e6c…b754
evm
0x5fc4…f709
evm
0xc99e…1d79
evm
0x82cc…93d5
evm
0x4440…56d4
evm
0x0e01…e79d
evm
0x6c9b…407f
evm
0xeeee…eeee
evm
0xeeee…eeee
evm
0x025f…8207
evm
0xddf2…5f19
evm
0xacb5…ebef
evm
0xf899…70f5
evm
0x78ab…ad5b
evm
0xcf0f…3841
evm
0xbe9f…991d
evm
0xa995…4d05
evm
0xd677…bcdf
evm
0xf26f…19bc
evm
0x3fa1…df3e
evm
0x055c…d49c
evm
0x21e3…7777
evm
sei1hr…r8ed
evm
0xf2e6…4f95
evm
0x105d…0d7b
evm
0x8c9e…7e57
evm
0x738d…f4f6
evm
0xeb1f…25d2
evm
0x7960…01e0
evm
0xc45e…2e20
evm
0x6881…82f3
evm
0xf9bd…5db9
evm
0x5875…7e67
evm
0x17af…1ad5
evm
0xb7ba…6a46
evm
0x6fb9…0b7c
evm
0xb55a…131d
evm
0x524d…7ae3
evm
0x0e35…88d2
evm
0x3e08…79d4
evm
0x3842…7777
evm
0x61d4…8651
evm
0x9774…7656
evm
0xa388…0000
evm
0x524b…b13a
evm
0xb7d3…a05e
evm
0x58b9…05e8
evm
0xb0c5…87eb
evm
0xe920…1304
evm
0x0018…b5e7
evm
0x0018…b5e7
evm
0xc8ac…e305
evm
0x9740…ce37
evm
0x766b…1ba9
evm
0x08d9…3b41
evm
0xca6a…005b
evm
0x3ec7…7777
evm
0x7a0c…b384
evm
0x804c…900f
evm
0x11f9…e9a8
evm
0x8a1d…2d76
evm
0xd62d…0363
evm
0xcd88…4ecb
evm
0xb2a1…0800
evm
0xe270…6f71
evm
0x3a51…b157
evm
0x337e…0d34
evm
0x1a51…e9af
evm
0x7175…92f9
evm
0xdbec…7e4c
evm
0xdbec…7e4c
evm
0x8056…655f
evm
0xd896…1dc1
evm
0x71e2…1490
evm
0x1ad7…a110
evm
0xaf02…ff21
evm
0x8729…8a26
evm
0xb749…011b
evm
0x9491…c567
evm
0x9491…c567
evm
0x71e9…7321
evm
0xd2ee…313c
evm
0x42a4…7777
evm
0x06c0…7977
evm
0x88bf…10d7
evm
0xff4a…6325
evm
0xc510…a3cc
evm
0x39b9…7777
evm
0xc0da…8bd4
evm
0x08a3…3142
evm
0xcc5d…775e
evm
0x4f34…2ebe
evm
0x0cc9…7777
evm
0x0003…7ead
evm
0x0000…0000
evm
0xa04b…0e70
evm
0xb1d4…64bc
evm
0x79db…d692
evm
0xd10c…7777
evm
0x11ed…2c96
evm
0x8a56…41ea
evm
0xf61c…cabc
evm
0xf4f9…3838
evm
0x50c0…46a7
evm
0x8560…f3f2
evm
0x4eec…1b4f
evm
0x244c…d944
evm
0x6745…67a4
evm
0x8ad3…4161
evm
0x63a5…078d
evm
0x7b0a…e9f5
evm
0x8b84…ed12
evm
0xd60d…8a31
evm
0x4c35…0bf6
evm
0x679f…676a
evm
18
evm
0x5e15…bbff
evm
0x14c6…695f
evm
0xe1f8…2228
evm
0xfaea…7313
evm
0xe2a6…0563
evm
0x2535…9396
evm
0x63e6…7d51
evm
0xd965…24c1
evm
0x81be…2e77
evm
0xaf9f…f151
evm
0x43e8…065f
evm
0x91dd…81dc
evm
0x228c…7777
evm
0xaaaa…4dc8
evm
0xd63e…9044
evm
0x009a…7956
evm
0xbfb4…499b
evm
0xcd3b…1d58
evm
0xbcfe…b66c
evm
0xbd82…95dc
evm
sei19j…yfmc
evm
sei1tk…zwmn
evm
0xb0c2…dc6a
evm
0xba69…34e7
evm
0x2829…2b90
evm
0xec85…1b20
evm
0xb5d5…e300
evm
0x83c8…4b37
evm
0x2206…8e40
evm
0xb2f7…b6a5
evm
0x4cae…4fca
evm
0xdf50…aa61
evm
0xd259…8875
evm
0xe243…f689
evm
0x51a7…99e9
evm
0x7a08…78b7
evm
0x45bd…0307
evm
0xb8b1…58b7
evm
0x871a…1c88
evm
0x5112…444b
evm
0xcfe2…6b3b
evm
0x83b2…48b5
evm
0x7f88…1b8d
evm
0xfdea…d392
evm
0x9138…99d9
evm
0x47ef…e0c4
evm
0x60e7…63d0
evm
0xc6da…2601
evm
0xd50f…29a3
evm
0x486b…5299
evm
0x0e97…1d42
evm
0x41bc…01bc
evm
0x9d3b…c81c
evm
0x7492…5c23
evm
0x7a5c…dada
evm
0x1f72…1337
evm
0x7070…74ca
evm
0x335a…2201
evm
0x6149…cb0e
evm
0x481f…fda5
evm
0x2b98…4f7d
evm
0xc97d…1c3c
evm
0xe9c0…d5c6
evm
0x7e81…c392
evm
0xc5cb…f37c
evm
0x3d4b…a5c7
evm
0x330c…7b70
evm
0x7a08…afe0
evm
0xd0dd…5533
evm
0xedbc…bfb2
evm
0x0058…ebc1
evm
0xa1fa…760e
evm
0x3032…faf3
evm
0x374d…84f3
evm
0x0c0e…08ab
evm
0x11d8…0c89
evm
0x12d8…3b8c
evm
0x0c4e…c987
evm
0x0c65…0852
evm
0xfb4c…2514
evm
0x47a9…89aa
evm
0x2f87…9d30
evm
0x7a5c…91bc
evm
0x578e…11c6
evm
0x1cb9…f124
evm
0xc6b7…d284
evm
0xa818…efd1
evm
0xca01…ad3a
evm
0xeb46…5215
evm
0xeb46…5215
evm
0xeb46…5215
evm
0xeb46…5215
evm
0x0e66…456f
evm
0xebac…1f2f
evm
0xd8b9…55a2
evm
0x6fc6…120d
evm
0x0f76…7245
evm
0x3f95…52c9
evm
0x7838…4174
evm
0x7212…2323
evm
0xebee…8f32
evm
0x656b…1dba
evm
0x71fd…ef85
evm
0x374a…74b0
evm
0xac28…e422
evm
0xa34c…c495
evm
0x9391…593e
evm
0x9391…593e
evm
0xa555…5ee3
evm
0x83ff…ca8e
evm
0xab7e…68eb
evm
0x14a5…5038
evm
0xc74d…3ae5
evm
0xdd96…91ff
evm
0x7d43…c0ad
evm
0x2039…f181
evm
0xade6…5995
evm
0xa0a6…4afc
evm
0xa0a6…4afc
evm
0xd18b…414b
evm
0x2e53…495d
evm
0x7a7c…3446
evm
0x834d…512f
evm
0x2def…4361
evm
0x50e8…8345
evm
0xe682…e8fa
evm
0x6021…f824
evm
0xadbd…49fe
evm
0xb01d…3247
evm
0x757c…6d30
evm
0xb901…2f39
evm
0xf200…677d
evm
0x7652…9c61
evm
0x44fa…4217
evm
0x4af1…00d5
evm
0x4b9e…b656
evm
0x4314…f69f
evm
0xfd71…42c2
evm
0xffff…8080
evm
0x1032…7496
evm
0xe779…77ea
evm
0xc16b…3049
evm
0x4b1e…5984
evm
0x54e4…09f6
evm
0xf228…c1df
evm
0x2416…eea5
evm
0xc96d…c364
evm
0xc96d…c364
evm
0x261d…0eb6
evm
0x82bb…be99
evm
0xb1af…b1ff
evm
0x62b8…9c7a
evm
0x8498…5081
evm
0x1f80…8888
evm
0xe516…e7a9
evm
0x674a…6a1b
evm
0xe8e8…d0b4
evm
0x7185…eef9
evm
0x5bad…48ea
evm
0xed40…f0f2
evm
0xff0a…0c98
evm
0x823d…f6ca
evm
0x9b67…3fe5
evm
0xac03…2e6b
evm
0xffff…8a52
evm
0x8f85…fc6c
evm
factor…isei
evm
0x0a3b…9a2d
evm
0xb75d…d3d1
evm
0x181c…7287
evm
0xd252…60b9
evm
0xac97…750d
evm
0xbaad…babe
evm
0xecac…11c1
evm
0xecac…11c1
evm
0x9fae…08a6
evm
0x0e07…0cb6
evm
0x5b16…fa2d
evm
0x9c82…cd90
evm
0xb7e4…0466
evm
0xcd2f…305e
evm
0xd83a…599a
evm
0x43b3…698f
evm
0xe4d5…05f7
evm
0x9bfa…f727
evm
0xe757…75ab
evm
0x7d00…387d
evm
0xe273…7568
evm
0x44e2…7579
evm
0xcd2c…f60c
evm
0x7ff6…cfb6
evm
0xcda8…0bb0
evm
0xf7cf…92bc
evm
0x6716…3b7a
evm
0xdd3b…429a
evm
0x2ae3…f8cb
evm
0x5ecd…fab4
evm
0xd32e…d42d
evm
0x941f…748e
evm
0x59e6…5284
evm
0xd33f…9b99
evm
0xb1e2…a794
evm
0xd2c4…db58
evm
0x8ee0…6094
evm
0x0fc4…eedc
evm
0x8354…a3ec
evm
0x5895…e12d
evm
0x5556…acc4
evm
0xfec6…c495
evm
0xbdd4…0983
evm
0x59ba…a260
evm
0xddeb…1ccc
evm
0x1925…aa27
evm
0xb7f5…4239
evm
0x6542…1b66
evm
0x4186…b41f
evm
0x4186…b41f
evm
0x4186…b41f
evm
0xd757…99b1
evm
0x89f1…0713
evm
0x850c…a3b8
evm
0x12bb…e5fe
evm
0x139c…ff51
evm
0xbb30…bfbd
evm
0x3bce…7812
evm
0x7503…557e
evm
0xd3dc…97ae
evm
0xaf20…3701
evm
0x9faa…01ce
evm
0xecf9…128d
evm
0x9604…8380
evm
0x0804…8347
evm
0x95a5…4c16
evm
0xa322…81b9
evm
0x541f…8b77
evm
0xa68d…42a9
evm
0xae4e…4cb3
evm
0x541f…8b77
evm
0x541f…8b77
evm
0x74ed…a5b1
evm
0x0f6f…8f3b
evm
0x0cef…3094
evm
0xc257…e2d2
evm
0xa8a3…eb48
evm
0x2cec…1ffb
evm
0xc668…fc24
evm
0x93f4…1116
evm
0xec90…52c3
evm
0x2fde…264c
evm
0x8013…7bf7
evm
0x8013…7bf7
evm
0xe5da…3955
evm
0xa0d4…f5bc
evm
0x211c…e5d2
evm
0x211c…e5d2
evm
0x211c…e5d2
evm
0x211c…e5d2
evm
0xad17…6da8
evm
0xb6a0…4c4f
evm
0xcb14…f922
evm
0x118d…ec9a
evm
0x3a34…b19e
evm
0xab6e…8af7
evm
0x484b…e73f
evm
0xae97…96b1
evm
0x87ef…186e
evm
0x636b…1fa3
evm
0xc382…6e90
evm
0x9391…593e
evm
0xc382…6e90
evm
0xc212…0c59
evm
0x8f55…1ec9
evm
0xddaf…7a83
evm
0x1762…e1ff
evm
0x09bc…0df9
evm
0x06ef…63a4
evm
0x3355…aaf4
evm
0x5499…3241
evm
0xf951…f77c
evm
0x2a22…76f0
evm
0x37f7…5cad
evm
0x3894…74f1
evm
0x6859…0917
evm
0x8fe7…33a8
evm
0xb684…e68e
evm
0x66e4…8770
evm
0x4eca…05c6
evm
0x1e1f…7f13
evm
0x201e…56ae
evm
0x9e5A…96f3
evm
0xf55b…99df
evm
0x6047…eaf9
evm
0x4932…ba4c
evm
0x779d…3736
evm
0x779d…3736
evm
0xe7cd…c82d
evm
0x9151…ecc5
evm
0x6646…7e55
evm
0x4291…5f81
evm
0x5471…53e4
evm
0x6969…6969
evm
0x4200…0006
evm
0xf5c6…76f5
evm
0x0555…2b9c
evm
0xd629…4f1b
evm
0x062e…7d52
evm
0x8e5b…4252
evm
0x3aab…a9b4
evm
0x0555…2b9c
evm
0x3c1b…0cf1
evm
0x0555…2b9c
evm
0x0555…2b9c
evm
0xbbeb…1011
evm
0x01f0…c506
evm
0x7dcc…80f7
evm
0x1bf7…8aa6
evm
0xa3d6…914b
evm
0xa3d6…914b
evm
0xc1fa…924a
evm
0x8389…1ee4
evm
0x30d2…16a7
evm
0x2f6f…7590
evm
0x6680…b207
evm
0xf44a…6abe
evm
0x6a02…f6e1
evm
0xe5d7…f34f
evm
0xdead…1111
evm
0xee8c…1242
evm
0x5300…0004
evm
0x1603…42d8
evm
0x50c4…634b
evm
0x5aea…9a91
evm
0x5217…c3d5
evm
0x6444…561a
evm
0x879b…7907
evm
0x6444…561a
evm
0x6444…561a
evm
0xacc1…077f
evm
0x01c8…913a
evm
0x317b…9516
evm
0x78c1…4cb8
evm
0x3bd3…433a
evm
0x82c3…bac9
evm
0xd786…f279
evm
0x8d5c…f642
evm
0x4e8a…4298
evm
0xdb39…613c
evm
0x265b…67e8
evm
0xa25b…8b7f
evm
0xd267…1e6c
evm
0xd416…1af2
evm
0x039e…ad38
evm
0xe30f…e8c7
evm
0x4809…d75d
evm
0x4809…d75d
evm
0xb5be…fc8f
evm
0x6c76…6ea6
evm
0x10ae…5417
evm
0xf610…da32
evm
0x703b…e867
evm
0xcc60…1a94
evm
0xa900…442b
evm
0x57f5…7812
evm
0x1337…63ec
evm
0xaf37…47ff
evm
0x01bf…1071
evm
0xffff…cd1d
evm
0x8c56…82b1
evm
0x3e5d…721e
evm
0xcc09…9a8c
evm
0xcc09…9a8c
evm
0x1d40…cf20
evm
0xc99f…f077
evm
0xcc09…9a8c
evm
0xcc09…9a8c
evm
0xe231…5a61
evm
0xe231…5a61
evm
0xe231…5a61
evm
0xc9ea…a7da
evm
0x7835…c7a7
evm
0x27d0…2e36
evm
0x2147…ce32
evm
0x0c6e…b54c
aptos
0x111a…sApt
evm
0x0eb3…f335
evm
evm
evm
evm
aptos
0x8e51…4d75
utxo
near
btc.omft.near
evm
0x7130…ad9c
evm
0x7c6b…27f2
evm
0xe9e7…7D56
near
6b1754…near
evm
0x8f3C…0e3f
utxo
evm
0xba2a…4c43
evm
0x8d01…90b8
sui
0x8f2b…COIN
evm
evm
evm
evm
0x2170…33F8
evm
near
eth.omft.near
evm
evm
evm
evm
0xc5f0…6409
evm
0x50c5…b0cb
near
853d95…near
evm
0x8284…e852
evm
evm
0xe630…3867
evm
sui
0x3e8e…LBTC
evm
0x5149…86CA
evm
0x94b6…ad50
utxo
evm
0x4338…db94
evm
sui
0xd1a9…MBTC
evm
evm
0x455e…c3f6
evm
0x6c3e…a0e8
evm
evm
evm
0xd41f…5dfb
evm
0x2859…dd4d
evm
0x95aD…C4cE
solana
evm
0x570a…43df
near
sol.omft.near
stellar
CBIJBD…M6VN
ton
EQDQ5U…fQwr
aptos
0xb30a…ce69
sui
0x7704…TBTC
aptos
0xfaf4…aAPT
evm
0x4a38…9f81
evm
0x582d…def1
evm
0x5770…9224
tron
evm
0x4b0f…8003
evm
0xb55d…ea13
evm
0xbf51…e9b1
aptos
0xf764…b075
aptos
0xbae2…6f3b
evm
0x8AC7…580d
evm
0x5499…3241
evm
0xA0b8…eB48
near
172086…33a1
near
eth-0x…near
solana
EPjFWd…Dt1v
sui
0xdba3…USDC
tron
TEkxiT…rdz8
near
a0b869…near
tron
TPYmHE…hPDn
evm
0xFd08…Cbb9
evm
0x55d3…7955
evm
0xdAC1…1ec7
evm
0xc30E…c46f
near
eth-0x…near
evm
0x94b0…8e58
evm
0xc213…8e8F
solana
Es9vMF…wNYB
sui
0xc060…COIN
ton
EQCxE6…_sDs
tron
TR7NHq…Lj6t
near
dac17f…near
evm
0x2260…C599
aptos
0x6884…2a3d
near
2260fa…near
evm
0x1BFD…BfD6
sui
0x0041…WBTC
evm
0x4200…0006
near
wrap.near
ton
EQA1R_…xi9k
sui
0x876a…XBTC
aptos
0x8121…a387
xrp
evm
0x1d2f…0dbe
stellar
CAUP7N…772J
Same workflow as the dashboard page Coin configs: preview on-chain metadata, then insert a token into the global catalog. Platform admin only (merchant owner must have the admin role). Permission: wallet:read.
Lists chains that accept new token additions. UTXO chains (btc, ltc, doge) and xrp are deposit/withdrawal only — they are not in this addable list.
| Slug | Network |
|---|---|
eth |
Ethereum |
bsc |
BSC |
opbnb |
opBNB |
polygon |
Polygon |
arbitrum |
Arbitrum |
optimism |
Optimism |
avalanche |
Avalanche |
base |
Base |
linea |
Linea |
zksync |
zkSync Era |
scroll |
Scroll |
mantle |
Mantle |
sonic |
Sonic |
berachain |
Berachain |
cronos |
Cronos |
celo |
Celo |
gnosis |
Gnosis |
sei |
Sei |
monad |
Monad |
moonbeam |
Moonbeam |
hyperevm |
HyperEVM |
near |
NEAR |
tron |
Tron |
solana |
Solana |
ton |
TON |
sui |
Sui |
aptos |
Aptos |
stellar |
Stellar |
| Field | Type | Required | Description |
|---|---|---|---|
chain | string | yes | Network slug from /coins/networks |
contract_address | string | yes | Token contract / mint / NEP-141 account |
On EVM chains, resolves name/symbol/decimals via RPC and logo via Trust Wallet / CoinGecko. Non-EVM returns manual: true (you supply symbol/name/decimals on create).
| Field | Type | Required | Description |
|---|---|---|---|
chain | string | yes | Network slug |
contract_address | string | yes | Token contract |
symbol | string | yes | Unique platform symbol (e.g. PEPE.ETH) |
name | string | yes | Display name |
decimals | integer | yes | 0–36 |
logo_url | url | no | Optional. Auto-resolved via Trust Wallet / CoinGecko when omitted |
coingecko_id | string | no | Optional. Auto-resolved when omitted (same as preview) |
is_stablecoin | boolean | no | Default false |
is_active | boolean | no | Default true |
min_confirmations | integer | no | Defaults per chain |
Recommended flow: POST /coins/preview → review symbol/name/decimals/logo → POST /coins. The create response returns the same enriched coin object as GET /coins (plus id / is_active), and reloads the wallet-engine catalog.
Example:
curl -X POST "https://cryptoche.com/api/v1/coins" \
-H "Content-Type: application/json" \
-H "X-API-Key: cpk_live_YOUR_KEY" \
-H "X-Nonce: 1700000099" \
-H "X-API-Signature: YOUR_HMAC_SHA512" \
-d '{
"chain": "eth",
"contract_address": "0x…",
"symbol": "PEPE.ETH",
"name": "Pepe",
"decimals": 18,
"is_active": true
}'
Fixed fiat amount converted to crypto at current rate. Permission: payments:write / payments:read. The selected coin must be enabled for Paiements API in Mes Cryptos.
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | yes | Fiat amount to charge (min 0.01) |
currency | string | no | ISO 4217, 3 chars. Default: USD |
coin | coin | no | Crypto to receive. Must be enabled for Paiements API. Default: USDT.TRC20 |
order_id | string | no | Your order reference (max 255) |
buyer_email | no | Customer email | |
buyer_name | string | no | Customer name (max 255) |
item_name | string | no | Product label (max 500) |
item_number | string | no | SKU (max 100) |
ipn_url | url | no | Optional one-off IPN URL (added to API key + global URLs; see IPN) |
return_url | url | no | Redirect after successful payment |
cancel_url | url | no | Redirect if customer cancels |
metadata | object | no | Custom key/value metadata |
line_items | array | no | Line items array |
billing_address | object | no | Billing address object |
timeout | integer | no | Expiry in seconds (300–86400). Default: 3600 |
Example request:
curl -X POST https://cryptoche.com/api/v1/payments/create \
-H "Content-Type: application/json" \
-H "X-API-Key: cpk_live_YOUR_KEY" \
-H "X-Nonce: 1700000001" \
-H "X-API-Signature: YOUR_HMAC_SHA512" \
-d '{"amount":25,"currency":"USD","coin":"USDT.BEP20","order_id":"ORDER-12345"}'
$ch = curl_init('https://cryptoche.com/api/v1/payments/create');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers, // see auth-hmac example
CURLOPT_POSTFIELDS => json_encode([
'amount' => 25,
'currency' => 'USD',
'coin' => 'USDT.BEP20',
'order_id' => 'ORDER-12345',
]),
]);
$response = curl_exec($ch);
import requests
url = "https://cryptoche.com/api/v1/payments/create"
payload = {
"amount": 25,
"currency": "USD",
"coin": "USDT.BEP20",
"order_id": "ORDER-12345",
}
resp = requests.post(url, headers=headers, data=body) # body = signed JSON string
print(resp.json())
const resp = await fetch('https://cryptoche.com/api/v1/payments/create', {
method: 'POST',
headers,
body,
});
const data = await resp.json();
console.log(data.result.payment_intent_id);
req, _ := http.NewRequest("POST", "https://cryptoche.com/api/v1/payments/create", strings.NewReader(body))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", publicKey)
req.Header.Set("X-Nonce", nonce)
req.Header.Set("X-API-Signature", signature)
client := &http.Client{}
resp, err := client.Do(req)
result| Field | Type | Description |
|---|---|---|
payment_intent_id | string | Unique ID (pay_...) |
status | string | PENDING | CONFIRMING | COMPLETED | EXPIRED | CANCELLED | PARTIALLY_REFUNDED | FULLY_REFUNDED — full table |
amount | string | Fiat amount requested |
currency | string | Fiat currency code |
coin | coin | Crypto symbol |
amount_crypto | string | Amount customer must send (8 decimals) |
deposit_address | string | On-chain address to pay |
checkout_url | url | Hosted checkout page |
expires_at | string | ISO 8601 expiry datetime |
fee_amount | string | Platform fee in crypto |
net_amount | string | Net credited after fee |
lightning_available | boolean | true when BTC + Lightning backend allow a BOLT11 rail (no KYC required) |
lightning_url | url | API endpoint to mint/read Lightning invoice for this payment |
No body. Path param payment_intent_id (string). Returns same fields plus tx_hash, confirmations, rail (onchain|lightning), and lightning metadata when a BOLT11 was issued.
On-chain QR code for the payment deposit address. Permission: payments:read. Returns raw SVG or PNG (not JSON).
| Field | Type | Required | Description |
|---|---|---|---|
format | string | no | svg (default) or png |
Response headers: Content-Type: image/svg+xml or image/png. Payload encodes the deposit address (BIP21 URI for BTC/LTC/DOGE when applicable).
No body. Cancels if status is PENDING.
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | yes | Refund amount in crypto |
reason | string | no | REQUESTED_BY_CUSTOMER | DUPLICATE | FRAUDULENT | OTHER |
description | string | no | Refund note (max 500) |
refund_address | string | no | On-chain refund destination |
metadata | object | no | Custom metadata |
Instant BTC settlement via BOLT11. Hosted checkout already shows On-chain | Lightning for BTC payments when the backend is live.
Permission: payments:read / payments:write. No KYC required.
Prefer binding invoices to an existing checkout payment so settlement updates that payment (tx_hash = ln_{payment_hash}).
Capability probe. Returns enabled, kyc_required: false, and docs URL.
Mint (or reuse) a BOLT11 for an existing BTC PENDING payment. Permission: payments:write.
result| Field | Type | Description |
|---|---|---|
payment_request | string | BOLT11 invoice |
payment_hash | string | Invoice payment hash |
amount_sats | integer | Amount in satoshis |
expires_at | string | ISO expiry |
qr_payload | string | lightning:... URI for QR |
status_url | url | Poll settlement |
checkout_url | url | Hosted checkout (LN rail available) |
Read-only: availability + existing Lightning metadata without minting a new invoice. Permission: payments:read.
Create a standalone Lightning invoice, or bind to a payment via payment_intent_id.
| Field | Type | Required | Description |
|---|---|---|---|
amount_btc | number | no* | BTC amount (use with or instead of sats) |
amount_sats | integer | no* | Amount in satoshis |
payment_intent_id | string | no | If set, mints/reuses invoice for that BTC payment (preferred) |
description | string | no | Memo (max 200) |
expires_in | integer | no | TTL seconds (120–3600, default 1800) |
* Required when payment_intent_id is omitted.
Poll invoice paid state. Response includes paid (true|false) and, when settled, optional settled_at / amount_received_sats. If linked to a merchant payment and paid, settles that payment automatically (rail=lightning, tx_hash=ln_{payment_hash}).
Permission: links:write. Shareable hosted checkout at https://cryptoche.com/pay/{code} — zero plugin required. Manage also from Dashboard → Payment Links.
| Field | Type | Required | Description |
|---|---|---|---|
label | string | no | Internal label (max 150) |
amount | number | no | Fixed fiat amount. Omit to let the customer choose. |
currency | string | no | ISO fiat code (default USD) |
allowed_coins | array | no | Restrict coins (e.g. ["BTC","USDT.TRC20"]). Empty = merchant policy. |
success_url | url | no | Redirect after paid |
cancel_url | url | no | Redirect on cancel |
ipn_url | url | no | One-off IPN for payments from this link |
timeout | integer | no | Checkout timeout in seconds (300–86400) |
expires_at | string | no | ISO datetime — link unusable after |
max_uses | integer | no | Max successful checkouts |
metadata | object | no | Custom metadata |
result{
"code": "ABC123XY",
"pay_url": "https://cryptoche.com/pay/ABC123XY",
"amount": 25.00,
"currency": "USD",
"status": "active",
"uses_count": 0
}
Paginated list. GET /payment-links/{code} for one link.
Create a checkout Payment from the link (server-side). Body: coin (required), optional amount/currency/buyer_email/order_id.
Update fields including status (active|paused). System may set exhausted. Public display can also surface inactive. See payment link statuses. DELETE pauses the link.
Permission: transactions:write / transactions:read, or alias invoices:write. The selected currency2 must be enabled for Paiements API in Mes Cryptos.
Aliases (same handlers): POST /invoices, GET /invoices, GET /invoices/{txn_id}, GET /invoices/{txn_id}/qr.
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | yes | Price in currency1 (min 0.000001) |
currency1 | string | yes | Fiat currency code (e.g. USD, max 10) |
currency2 | coin | yes | Crypto the buyer pays with. Must be enabled for Paiements API. |
buyer_email | no | Buyer email | |
buyer_name | string | no | Buyer name (max 255) |
item_name | string | no | Item description (max 500) |
item_number | string | no | Item SKU (max 100) |
invoice | string | no | Your invoice number (max 255) |
custom | string | no | Custom passthrough field (max 500) |
ipn_url | url | no | Optional one-off IPN URL for this invoice (added to API key + global URLs; see IPN) |
success_url | url | no | Redirect on completion |
cancel_url | url | no | Redirect on cancel |
address | string | no | Reuse existing deposit address (max 150) |
timeout | integer | no | Seconds until expiry (600–86400). Default: 3600 |
Example request:
curl -X POST https://cryptoche.com/api/v1/transactions/create \
-H "Content-Type: application/json" \
-H "X-API-Key: cpk_live_YOUR_KEY" \
-H "X-Nonce: 1700000002" \
-H "X-API-Signature: YOUR_HMAC_SHA512" \
-d '{"amount":50,"currency1":"USD","currency2":"USDT.TRC20","item_name":"Premium Plan"}'
$response = file_get_contents('https://cryptoche.com/api/v1/transactions/create', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => implode("\r\n", $headers),
'content' => json_encode([
'amount' => 50,
'currency1' => 'USD',
'currency2' => 'USDT.TRC20',
'item_name' => 'Premium Plan',
]),
],
]));
payload = {
"amount": 50,
"currency1": "USD",
"currency2": "USDT.TRC20",
"item_name": "Premium Plan",
}
resp = requests.post(
"https://cryptoche.com/api/v1/transactions/create",
headers=headers,
data=json.dumps(payload, separators=(",", ":")),
)
txn_id = resp.json()["result"]["txn_id"]
const invoice = await fetch('https://cryptoche.com/api/v1/transactions/create', {
method: 'POST',
headers,
body: JSON.stringify({
amount: 50,
currency1: 'USD',
currency2: 'USDT.TRC20',
item_name: 'Premium Plan',
}),
}).then(r => r.json());
console.log(invoice.result.txn_id, invoice.result.address);
payload := `{"amount":50,"currency1":"USD","currency2":"USDT.TRC20","item_name":"Premium Plan"}`
req, _ := http.NewRequest("POST", "https://cryptoche.com/api/v1/transactions/create", strings.NewReader(payload))
// Set X-API-Key, X-Nonce, X-API-Signature headers
resp, err := http.DefaultClient.Do(req)
result| Field | Type | Description |
|---|---|---|
amount | string | Crypto amount due |
address | string | Deposit address |
dest_tag | string | Destination tag (XRP) or empty |
txn_id | string | Invoice ID (TX...) |
confirms_needed | string | Required confirmations |
timeout | integer | Timeout in seconds |
checkout_url | url | Payment page URL |
status_url | url | API status endpoint |
qrcode_url | url | QR code image URL |
Response status (integer) and status_text:
status | status_text | Meaning |
|---|---|---|
0 | Waiting | Awaiting deposit |
1 | Confirming | Deposit seen, confirmations pending |
100 | Complete | Paid and credited |
-1 | Expired | Timed out unpaid |
Also: GET /transactions (list) and GET /transactions/{txn_id}/qr (SVG/PNG QR).
Permission: subscriptions:write. Dashboard → Subscriptions. Billing cron creates period invoices and emits subscription.invoice_created.
| Field | Type | Required | Description |
|---|---|---|---|
customer_email | yes | Customer email | |
customer_name | string | no | Customer name |
amount | number | yes | Recurring fiat amount |
currency | string | no | Default USD |
allowed_coins | array | no | Coins accepted for each invoice |
interval | string | no | weekly | monthly | yearly (default monthly) |
interval_count | integer | no | Every N intervals (1–12) |
start_at | string | no | First billing time (ISO, future) |
metadata | object | no | Custom metadata |
result{
"sub_uid": "SUB_ABCDEF123456",
"status": "active",
"amount": "29.99",
"currency": "USD",
"interval": "monthly",
"next_billing_at": "2026-08-12T00:00:00Z"
}
List. GET /subscriptions/{sub_uid} detail. GET /subscriptions/{sub_uid}/invoices period invoices (status: pending|paid).
Pause billing (status=paused). Resume with /resume → active. Cancel permanently with /cancel → canceled. Full enum: subscription statuses.
Permission: swaps:write (preferred), or legacy wallet:read / wallet:withdraw. Custodial swap via Li.Fi / 0x. Contract v2: quote (TTL 30s) → execute. Dashboard → Swap.
Example swappable pairs grouped by chain.
Live quote with quote_id (expires in ~30s). Must call /swaps/execute before expiry.
| Field | Type | Required | Description |
|---|---|---|---|
from_coin | coin | yes | Source coin |
to_coin | coin | yes | Destination coin |
amount | number | yes | Amount of from_coin |
slippage_bps | int | no | 10–1000 (default 100 = 1%) |
result{
"quote_id": "q_…",
"expires_at": "…",
"ttl_seconds": 30,
"amount_out": "…",
"min_buy_amount": "…",
"slippage_bps": 100,
"provider": "zerox",
"eta_seconds": { "min": 15, "max": 180 },
"validation": { "ok": true, "balance_ok": true, "gas_ok": true, "errors": [] }
}
Accept a quote_id. Re-quotes live; returns PRICE_MOVED (409) if min_buy worsened. Async job → poll GET /swaps/{id} or webhooks. HTTP 202.
| Field | Type | Required | Description |
|---|---|---|---|
quote_id | string | yes | From /swaps/quote |
idempotency_key | string | yes | Unique key (max 150) |
Removed (410). Use quote → execute.
Typed swap errors (see full table): PAIR_UNSUPPORTED, AMOUNT_TOO_SMALL, INSUFFICIENT_BALANCE, GAS_LOW, QUOTE_NOT_FOUND, QUOTE_EXPIRED, QUOTE_MISMATCH, PRICE_MOVED (HTTP 409), VALIDATION_FAILED, ENGINE_ERROR, NOT_FOUND.
provider on quotes: zerox | lifi.
GET /swaps/{id} (id or swap_uid). GET /swaps?limit=25&page=1&status=pending history. Filter status values (active + terminal): pending, consolidating, approving, swapping, sweeping, broadcast, confirmed, failed — meanings. Also filters: from_coin, to_coin. Events: swap.created, swap.completed, swap.failed.
Permission: swaps:write. Create a branded public page at /swap/{token} (no API key for the end user). Mode v1: custodial — debits the merchant ledger via the same swap engine.
| Field | Type | Required | Description |
|---|---|---|---|
allowed_pairs | array | or from+to | [{"from":"USDT.TRC20","to":"BTC"},…] |
from_coin + to_coin | coin | or pairs | Single fixed pair |
amount | number | no | Fixed amount (otherwise user enters) |
success_url / cancel_url | url | no | Redirect after confirm / cancel; success gets ?swap_uid=&status= |
expires_at / timeout | date / sec | no | Session expiry |
max_uses | int | no | Cap number of executed swaps |
logo_url, primary_color, merchant_display_name, theme | string | no | White-label branding (theme: light|dark) |
metadata, ipn_url | object / url | no | Opaque metadata / optional IPN override |
result{
"token": "…",
"swap_url": "https://…/swap/…",
"expires_at": "…",
"mode": "custodial",
"branding": { "logo_url": null, "primary_color": "#0f766e", "merchant_display_name": "…", "theme": "light" },
"allowed_pairs": [{ "from": "USDT.BEP20", "to": "BNB" }]
}
Session status + last swap order when present. Session status: active | cancelled | exhausted | expired | inactive — table.
Cancel session (status=cancelled). Public page becomes unavailable.
GET /swap/{token} — white-label UI. JSON helpers (throttled): POST /swap/{token}/quote, POST /swap/{token}/execute, GET /swap/{token}/status.
No parameters. Response: result.balances — array of { coin: string, available: string, pending: string }.
Wallet deposit address endpoints are not restricted by Mes Cryptos API payment/withdrawal switches. Sign HMAC with path api/v1/deposit/address only; pass coin as a query parameter.
| Field | Type | Required | Description |
|---|---|---|---|
coin | coin | no | Default: USDT.TRC20 |
| Field | Type | Required | Description |
|---|---|---|---|
coin | coin | yes | Crypto symbol |
user_ref | string | no | Your user ID (max 255). Default: merchant_default |
Example request:
curl -X POST https://cryptoche.com/api/v1/deposit/callback-address \
-H "Content-Type: application/json" \
-H "X-API-Key: cpk_live_YOUR_KEY" \
-H "X-Nonce: 1700000003" \
-H "X-API-Signature: YOUR_HMAC_SHA512" \
-d '{"coin":"USDT.BEP20","user_ref":"user_12345"}'
$body = json_encode(['coin' => 'USDT.BEP20', 'user_ref' => 'user_12345']);
// Sign with path: api/v1/deposit/callback-address
$result = json_decode($response, true);
$address = $result['result']['address'];
body = json.dumps({"coin": "USDT.BEP20", "user_ref": "user_12345"}, separators=(",", ":"))
resp = requests.post(
"https://cryptoche.com/api/v1/deposit/callback-address",
headers=headers,
data=body,
)
address = resp.json()["result"]["address"]
const body = JSON.stringify({ coin: 'USDT.BEP20', user_ref: 'user_12345' });
const resp = await fetch('https://cryptoche.com/api/v1/deposit/callback-address', {
method: 'POST', headers, body,
});
const { result } = await resp.json();
console.log(result.address);
body := `{"coin":"USDT.BEP20","user_ref":"user_12345"}`
req, _ := http.NewRequest("POST", "https://cryptoche.com/api/v1/deposit/callback-address", strings.NewReader(body))
resp, err := http.DefaultClient.Do(req)
result| Field | Type | Description |
|---|---|---|
address | string | Deposit address |
coin | coin | Coin symbol |
user_ref | string | User reference |
dest_tag | string | Destination tag if applicable |
qr_url | url | QR code URL |
Public — no auth. Response: array of { symbol: coin, price_usd: number }.
Returns merchant profile (object) and fee rates (object).
Every withdrawal pays a blockchain network fee (miners/validators), separate from CRYPTOCHE platform fees. Use add_tx_fee to control who bears it:
add_tx_fee | Recipient receives | Debited from your balance |
|---|---|---|
false (default) | amount − network_fee | amount |
true | exactly amount | amount + network_fee |
Call POST /withdrawals/estimate-fee before creating a withdrawal to preview network_fee, recipient_amount, total_debit, and prepaid gas fields. For BTC/LTC/DOGE, fees are estimated from live network data (Blockbook/Alchemy) and UTXO coin-selection. For EVM/TRON/SOL and other smart-contract chains, values are approximate static estimates.
Token withdrawals (e.g. USDT.BEP20, USDT.TRC20, USDC.SOL) require a small amount of native gas on that network. CRYPTOCHE uses a prepaid gas credit. Provisioned gas deposit symbols: BNB, ETH, MATIC, AVAX, TRX, SOL, TON, SUI, APT, NEAR — table.
/dashboard/gas) — QR codes and addresses are created at merchant registration.estimate-fee and create return an error (e.g. Insufficient gas credit: need 0.0005 BNB, have 0). Top up gas and retry.There is no public REST endpoint yet to list gas balances or deposit addresses; use the dashboard for recharge. Estimate/create responses expose the gas fields below so integrators can surface them in their UI.
Preview network fee and amounts without creating a withdrawal. Permission: wallet:read. The selected coin must be enabled for Retraits API in Mes Cryptos. For token coins, also validates prepaid gas credit.
| Field | Type | Required | Description |
|---|---|---|---|
coin | coin | yes | Crypto to withdraw. Must be enabled for Retraits API. |
amount | number | yes | Requested amount (min 0.000001) |
add_tx_fee | boolean | no | Same semantics as /withdrawals/create (default false) |
fee_priority | string | no | UTXO only: economy, normal (default), fast |
Example request:
curl -X POST https://cryptoche.com/api/v1/withdrawals/estimate-fee \
-H "Content-Type: application/json" \
-H "X-API-Key: cpk_live_YOUR_KEY" \
-H "X-Nonce: 1700000005" \
-H "X-API-Signature: YOUR_HMAC_SHA512" \
-d '{"coin":"DOGE","amount":"5","add_tx_fee":true,"fee_priority":"normal"}'
$body = json_encode([
'coin' => 'DOGE',
'amount' => '5',
'add_tx_fee' => true,
'fee_priority' => 'normal',
]);
// path for signature: api/v1/withdrawals/estimate-fee
payload = {
"coin": "DOGE",
"amount": "5",
"add_tx_fee": True,
"fee_priority": "normal",
}
resp = requests.post("https://cryptoche.com/api/v1/withdrawals/estimate-fee", headers=headers, data=body)
estimate = resp.json()["result"]
const body = JSON.stringify({
coin: 'DOGE',
amount: '5',
add_tx_fee: true,
fee_priority: 'normal',
});
const resp = await fetch('https://cryptoche.com/api/v1/withdrawals/estimate-fee', {
method: 'POST', headers, body,
});
body := `{"coin":"DOGE","amount":"5","add_tx_fee":true,"fee_priority":"normal"}`
req, _ := http.NewRequest("POST", "https://cryptoche.com/api/v1/withdrawals/estimate-fee", strings.NewReader(body))
resp, err := http.DefaultClient.Do(req)
result| Field | Type | Description |
|---|---|---|
network_fee | string | Estimated blockchain fee in coin units |
recipient_amount | string | Estimated amount the destination address will receive on-chain |
total_debit | string | Total that will be reserved from your token balance (amount or amount + network_fee). Does not include prepaid gas. |
fee_rate_sat_vb | integer|null | UTXO fee rate (sat/vB); null for non-UTXO chains |
approximate | boolean | true for EVM/TRON/SOL/etc. static estimates only |
gas_fee_native | string | Present for token withdrawals: estimated native gas debit (e.g. 0.0005) |
gas_fee_symbol | string | Native symbol for that gas (e.g. BNB, TRX, SOL) |
gas_credit_available | string | Your prepaid gas credit balance in gas_fee_symbol |
gas_sufficient | boolean | true if credit covers gas_fee_native |
If gas credit is insufficient for a token withdrawal, the API returns an error envelope (HTTP 200 with error message, CRYPTOCHE style) instead of a successful result.
Creates and broadcasts a withdrawal. Your token balance must cover total_debit, and for tokens your prepaid gas credit must cover gas_fee_native. Permission: wallet:withdraw. The selected coin must be enabled for Retraits API in Mes Cryptos.
| Field | Type | Required | Description |
|---|---|---|---|
coin | coin | yes | Crypto to withdraw. Must be enabled for Retraits API. |
amount | number | yes | Requested amount (min 0.000001) |
address | string | yes | Recipient on-chain address (max 150) |
idempotency_key | string | yes | Unique key to prevent duplicates (max 150). Replaying the same key returns the original withdrawal. |
add_tx_fee | boolean | no | false (default): network fee deducted from recipient amount. true: recipient gets exact amount; fee debited on top. |
fee_priority | string | no | UTXO only: economy, normal (default), or fast |
user_ref | string | no | Your payout reference (max 255). When set, only one active withdrawal per user_ref is allowed (pending → confirmed, including broadcasting/needs_review). A retry with a different idempotency_key returns the existing withdrawal. After failed / cancelled, the same user_ref may be reused. May be required when WITHDRAWAL_REQUIRE_USER_REF=true. |
ipn_url | url | no | Optional one-off IPN URL for this withdrawal (added to API key + global URLs; see IPN) |
note | string | no | Internal note (max 255) |
Hardening notes: cancel is atomic (pending only). After the worker claims a withdrawal (broadcasting), cancel is refused. Uncertain broadcast outcomes become needs_review (funds stay locked) until platform ops resolves them — there is no dedicated IPN for needs_review (API int stays 0).
user_ref per payout (your internal payout id). Prefer replaying the same idempotency_key on retries; a new key with the same active user_ref returns the existing withdrawal (anti double-pay).status === 0 as in progress — distinguish states via status_text or by polling until a terminal int (100 / -1 / -2) or until tx_hash appears (status === 1).broadcast → confirmed / failed) for production; poll only as a fallback.pending; once broadcasting/broadcast, cancel is refused.Example request (recipient receives exactly 5 DOGE; you pay network fee on top):
curl -X POST https://cryptoche.com/api/v1/withdrawals/create \
-H "Content-Type: application/json" \
-H "X-API-Key: cpk_live_YOUR_KEY" \
-H "X-Nonce: 1700000004" \
-H "X-API-Signature: YOUR_HMAC_SHA512" \
-d '{"coin":"DOGE","amount":"5","address":"DRy4tbUNKNYQV6PnQWVd5AevodevZ8wQA4","add_tx_fee":true,"fee_priority":"normal","idempotency_key":"wd-001"}'
$body = json_encode([
'coin' => 'DOGE',
'amount' => '5',
'address' => 'DRy4tbUNKNYQV6PnQWVd5AevodevZ8wQA4',
'add_tx_fee' => true,
'fee_priority' => 'normal',
'idempotency_key' => 'wd-unique-key-001',
]);
// path for signature: api/v1/withdrawals/create
payload = {
"coin": "DOGE",
"amount": "5",
"address": "DRy4tbUNKNYQV6PnQWVd5AevodevZ8wQA4",
"add_tx_fee": True,
"fee_priority": "normal",
"idempotency_key": "wd-unique-key-001",
}
resp = requests.post("https://cryptoche.com/api/v1/withdrawals/create", headers=headers, data=body)
withdrawal_id = resp.json()["result"]["withdrawal_id"]
const body = JSON.stringify({
coin: 'DOGE',
amount: '5',
address: 'DRy4tbUNKNYQV6PnQWVd5AevodevZ8wQA4',
add_tx_fee: true,
fee_priority: 'normal',
idempotency_key: 'wd-unique-key-001',
});
const resp = await fetch('https://cryptoche.com/api/v1/withdrawals/create', {
method: 'POST', headers, body,
});
body := `{"coin":"DOGE","amount":"5","address":"DRy4tbUNKNYQV6PnQWVd5AevodevZ8wQA4","add_tx_fee":true,"fee_priority":"normal","idempotency_key":"wd-001"}`
req, _ := http.NewRequest("POST", "https://cryptoche.com/api/v1/withdrawals/create", strings.NewReader(body))
resp, err := http.DefaultClient.Do(req)
resultWithdrawal object. CRYPTOCHE API aliases send_address / send_tx are included alongside address / tx_hash.
| Field | Type | Description |
|---|---|---|
id | string | Withdrawal UID (W_...) |
withdrawal_id | string | Alias of id (CRYPTOCHE API) |
status | integer | 0 pending, 1 broadcast, 100 confirmed, -1 failed, -2 cancelled |
status_text | string | Human-readable status |
coin | coin | Coin symbol |
amount | string | Requested withdrawal amount |
total_debit | string | Total reserved/debited from balance |
recipient_amount | string|null | Amount received on-chain by destination |
network_fee | string|null | Blockchain network fee paid (in the withdrawn coin) |
gas_fee_native | string|null | Prepaid native gas debit for token withdrawals (e.g. 0.0005); null for native/UTXO |
gas_fee_symbol | string|null | Native gas symbol (BNB, TRX, SOL, …); null when not applicable |
add_tx_fee | boolean | true if merchant paid network fee on top of amount |
fee_priority | string | economy, normal, or fast (UTXO) |
address | string | Destination address |
send_address | string | Alias of address |
tx_hash | string|null | On-chain transaction hash (after broadcast) |
send_tx | string|null | Alias of tx_hash |
user_ref | string|null | Your reference |
time_created | integer | Unix timestamp |
confirmed_at | string|null | ISO 8601 when confirmed on-chain |
Track a withdrawal by polling GET /withdrawals/{id} or receive push IPNs (recommended for production). Full mapping (DB string ↔ API int ↔ text): withdrawal statuses.
| DB / list filter | API int | status_text | Meaning |
|---|---|---|---|
pending | 0 | Pending | Created, broadcast queued |
awaiting_approval | 0 | Awaiting approval | Multi-sig policy hold (if enabled on the merchant) |
broadcasting | 0 | Broadcasting | Job claimed; send in progress (not cancellable) |
consolidating | 0 | Consolidating | Gathering funds before broadcast |
needs_review | 0 | Needs review | Uncertain on-chain outcome — funds stay locked; no dedicated IPN |
broadcast | 1 | Broadcast | Tx submitted (tx_hash set) |
confirmed | 100 | Confirmed | Confirmed on-chain, balance finalized |
failed | -1 | Failed | Broadcast error or on-chain revert |
cancelled | -2 | Cancelled | Cancelled while still pending |
IPN events for withdrawals: broadcast, confirmed, failed — see Withdrawal IPN.
Returns a single withdrawal by UID (W_...). Permission: wallet:read.
resultSame withdrawal object as create. network_fee and recipient_amount are estimates at creation and updated to on-chain values after broadcast.
List withdrawals. Query: coin, status (DB string: pending|awaiting_approval|consolidating|broadcasting|broadcast|needs_review|confirmed|failed|cancelled), pagination. Permission: wallet:read.
result| Field | Type | Description |
|---|---|---|
withdrawals | array | Array of withdrawal objects |
total | integer | Total count |
page | integer | Current page |
Cancels a withdrawal only while its DB status is pending. If the worker already claimed it (broadcasting) or a tx was submitted, the API returns an error and funds stay locked. Permission: wallet:withdraw.
| Field | Type | Required | Description |
|---|---|---|---|
withdrawal_id | string | yes | Withdrawal UID (W_...) |
CryptoChe POSTs JSON to your IPN endpoints when deposits, withdrawals, invoices, or checkout payments change state. Verify with header HMAC = HMAC-SHA512 of the raw request body using your merchant ipn_secret (Dashboard → Settings).
Every configured URL below receives the same payload (duplicates are removed). At least one URL must be set or no IPN is sent.
| Priority | Source | Where to configure |
|---|---|---|
| 1 | Per-request override | ipn_url field on POST /withdrawals/create, POST /transactions/create, POST /payments/create |
| 2 | API key IPN URL | Dashboard → API Keys (per key, at creation or edit) |
| 3 | Merchant global IPN URL | Dashboard → Settings → IPN URL |
Example: global URL https://a.com/ipn + key URL https://b.com/ipn → both receive deposit, withdrawal, invoice, and payment IPNs for API calls made with that key.
Failed deliveries are retried automatically (30s, 2m, 10m, 1h). Respond with HTTP 2xx to acknowledge.
Verify incoming IPN:
# Verify incoming IPN (example header from CryptoChe)
BODY='{"ipn_type":"deposit","status":100,...}'
EXPECTED=$(echo -n "$BODY" | openssl dgst -sha512 -hmac "$IPN_SECRET" | awk '{print $2}')
# Compare with request header: HMAC
$body = file_get_contents('php://input');
$received = $_SERVER['HTTP_HMAC'] ?? '';
$expected = hash_hmac('sha512', $body, $ipnSecret);
if (!hash_equals($expected, $received)) {
http_response_code(403);
exit('Invalid IPN signature');
}
$data = json_decode($body, true);
import hmac, hashlib
from flask import request, abort
body = request.get_data()
received = request.headers.get("HMAC", "")
expected = hmac.new(ipn_secret.encode(), body, hashlib.sha512).hexdigest()
if not hmac.compare_digest(expected, received):
abort(403)
data = request.get_json()
const crypto = require('crypto');
app.post('/ipn', express.raw({ type: 'application/json' }), (req, res) => {
const body = req.body.toString();
const received = req.headers['hmac'] || '';
const expected = crypto.createHmac('sha512', ipnSecret).update(body).digest('hex');
if (received !== expected) return res.status(403).send('Invalid signature');
const data = JSON.parse(body);
res.send('ok');
});
body, _ := io.ReadAll(r.Body)
received := r.Header.Get("HMAC")
mac := hmac.New(sha512.New, []byte(ipnSecret))
mac.Write(body)
expected := hex.EncodeToString(mac.Sum(nil))
if !hmac.Equal([]byte(expected), []byte(received)) {
http.Error(w, "Invalid signature", http.StatusForbidden)
return
}
| Field | Type | Description |
|---|---|---|
ipn_version | string | "1.0" |
ipn_type | string | "deposit" |
ipn_mode | string | "hmac" |
merchant | string | Your merchant UID |
txn_id | string | Transaction hash |
status | integer | 100 complete, 0 pending |
status_text | string | Complete | Pending |
currency | coin | Coin symbol |
amount | string | Gross amount |
fee | string | Platform fee |
net | string | Net credited |
user_ref | string | User reference |
address | string | Deposit address |
confirms | integer | Confirmation count |
send_tx | string | Same as txn_id |
received_at | string | ISO 8601 timestamp (when confirmed) |
{
"ipn_version": "1.0",
"ipn_type": "deposit",
"status": 100,
"currency": "USDT.BEP20",
"amount": "10.50000000",
"txn_id": "0x...",
"user_ref": "user_12345"
}
Sent when a withdrawal is broadcast on-chain, confirmed, or fails. Delivered to all configured IPN URLs (per-request, per API key, and merchant global).
Events (ipn_event): broadcast (tx submitted), confirmed (on-chain complete), failed (broadcast error or tx revert). There is no IPN for needs_review / broadcasting — poll GET /withdrawals/{id} if you need those intermediate states.
| Field | Type | Description |
|---|---|---|
ipn_version | string | "1.0" |
ipn_type | string | "withdrawal" |
ipn_mode | string | "hmac" |
ipn_event | string | broadcast | confirmed | failed |
merchant | string | Your merchant UID |
withdrawal_id | string | Withdrawal UID (W_...) |
status | integer | 1 broadcast, 100 complete, -1 failed |
status_text | string | Broadcast | Complete | Failed |
currency | coin | Coin symbol |
amount | string | Requested amount |
total_debit | string | Total debited from balance |
network_fee | string | On-chain fee (after broadcast) |
recipient_amount | string | Amount received by destination |
send_address | string | Destination address |
send_tx | string | Transaction hash |
user_ref | string | Your reference |
error_message | string | Present on failed |
confirmed_at | string | ISO 8601 (on confirmed) |
time_created | integer | Unix timestamp |
{
"ipn_version": "1.0",
"ipn_type": "withdrawal",
"ipn_event": "broadcast",
"withdrawal_id": "W_ABC123",
"status": 1,
"currency": "USDT.BEP20",
"amount": "1.00000000",
"send_tx": "0x...",
"user_ref": "user_12345"
}
| Field | Type | Description |
|---|---|---|
ipn_type | string | "api" |
txn_id | string | Invoice ID (TX...) |
status | integer | 100 when complete |
amount | string | Expected crypto amount |
received | string | Actual received amount |
send_tx | string | On-chain transaction hash |
send_address | string | Deposit address |
buyer_email | Buyer email if provided | |
item_name | string | Item name |
invoice | string | Your invoice number |
custom | string | Custom passthrough |
Checkout payments created via POST /payments/create also POST HMAC IPNs to all configured URLs. Events: payment.created, payment.confirmed, payment.expired (ipn_type: payment).
If you set a separate webhook_url in Settings, signed payment webhooks (X-Webhook-Signature) are still sent there in addition to HMAC IPN delivery.
Header X-Webhook-Signature: SHA256 HMAC of JSON body with webhook_secret.
Events: payment.created, payment.confirmed, payment.expired
| Field | Type | Description |
|---|---|---|
event | string | Event name |
merchant_id | integer | Merchant ID |
payment_intent_id | string | Payment ID |
order_id | string | Your order ID |
amount | number | Fiat amount |
currency | string | Fiat currency |
coin | coin | Crypto symbol |
amount_crypto | string | Crypto amount |
amount_received | string | Received on-chain |
status | string | Payment status |
tx_hash | string | Transaction hash |
deposit_address | string | Payment address |
created_at | string | ISO 8601 |
confirmed_at | string | ISO 8601 (when confirmed) |
Permission: webhooks:manage. Dashboard → Webhooks. Multiple HTTPS endpoints with event filters. Prefer this over the single legacy webhook_url in Settings.
Envelope delivered to your URL:
{
"event": "payment.confirmed",
"created_at": "2026-07-12T21:00:00Z",
"data": { /* event-specific */ }
}
Headers: X-Webhook-Signature (HMAC-SHA256 of raw body with endpoint secret), X-Webhook-Event, X-Webhook-ID.
| Field | Type | Required | Description |
|---|---|---|---|
url | url | yes | HTTPS receiver |
label | string | no | Label |
events | array | no | Whitelist. Empty/null = all events |
is_active | boolean | no | Default true |
Response includes secret once on create. Rotate with POST /webhooks/subscriptions/{id}/rotate-secret.
Also: GET list, PUT update, DELETE delete, POST /webhooks/test.
payment.created, payment.received, payment.confirmed, payment.expired, invoice.paid, deposit.confirmed, swap.created, swap.completed, swap.failed, withdrawal.sent, withdrawal.confirmed, withdrawal.failed, subscription.invoice_created, gift_card.fulfilled, gift_card.failed, otc.quote_accepted, otc.settled.
Permission: reports:read. Download ledger/payments CSV (or XLSX/PDF when enabled).
| Field | Type | Required | Description |
|---|---|---|---|
format | string | no | csv (default), xlsx, pdf |
from | string | no | Start date (ISO) |
to | string | no | End date (ISO) |
Sign path api/v1/reports/export without query string. Returns file download (Content-Disposition: attachment).
Each API key can have its own IPN URL in addition to your merchant global URL. This is useful to route notifications per environment (production / staging), per client integration, or per internal service — without creating separate merchant accounts.
public_key / secret_key for API authentication (HMAC auth).| Operation | IPN type | When |
|---|---|---|
| Wallet deposit to an address created via this key | deposit | On-chain confirmation |
| Withdrawal created via this key | withdrawal | broadcast, confirmed, or failed |
| Invoice created via this key | api | Payment received & confirmed |
| Checkout payment created via this key | payment | payment.created, payment.confirmed, payment.expired |
The API key used for the request is stored on the resource so IPNs can target the correct key URL even after async processing.
POST with JSON body.HMAC header with your ipn_secret before processing.ipn_event may be retried on delivery failure.GET /withdrawals/{id} if you need synchronous status without webhooks.| Permission | Endpoints |
|---|---|
wallet:read | balances, coins, deposit/address, withdrawals list/show, estimate-fee, swaps read (legacy) |
wallet:deposit | deposit/callback-address |
wallet:withdraw | withdrawals/create, cancel; swaps create (legacy) |
transactions:read | GET /transactions/*, GET /invoices/* |
transactions:write | POST /transactions/create, POST /invoices |
invoices:write | Alias for invoice create/list/show/qr |
payments:read | GET /payments/* (incl. /qr), GET /lightning/*, GET /payments/{id}/lightning |
payments:write | POST /payments/*, POST /lightning/quote, POST /payments/{id}/lightning |
links:write | /payment-links/* |
subscriptions:write | /subscriptions/* |
swaps:write | /swaps/* (preferred) |
webhooks:manage | /webhooks/test, /webhooks/subscriptions/* |
reports:read | GET /reports/export |
team:manage | /stores/*, /team/* |
giftcards:write | /gift-cards/* |
otc:write | /otc/* |
Closed sets used across the API. Prefer these tables when asking support about allowed values. Live network/asset counts still come from GET /coins.
chain_type| Value | Meaning | Active chain slugs |
|---|---|---|
aptos |
Aptos Move | aptos |
evm |
EVM L1/L2 (ERC-20 / native ETH-like) | arbitrum, avalanche, base, berachain, bsc, celo, cronos, eth, gnosis, hyperevm, linea, mantle, monad, moonbeam, opbnb, optimism, polygon, scroll, sei, sonic, zksync |
near |
NEAR Protocol | near |
solana |
Solana SPL | solana |
stellar |
Stellar | stellar |
sui |
Sui Move | sui |
ton |
The Open Network | ton |
tron |
TRON (TRC-20) | tron |
utxo |
Bitcoin-like UTXO | btc, doge, ltc |
xrp |
XRP Ledger | xrp |
Complete closed list of chain_type values: evm, utxo, tron, solana, xrp, ton, sui, aptos, stellar, near. (Fantom is excluded from the platform catalog.)
| Derived type | Condition |
|---|---|
| native | is_native = true |
| stablecoin | is_native = false and is_stablecoin = true |
| token | is_native = false and is_stablecoin = false |
When auto-tagging new catalog tokens, these base symbols are treated as stables: USDT, USDC, DAI, BUSD, TUSD, USDD, FRAX, PYUSD, FDUSD, USDE. The is_stablecoin field on each coin object remains authoritative.
status| Value | Meaning |
|---|---|
PENDING | Awaiting payment / Lightning invoice unpaid |
CONFIRMING | On-chain funds seen, waiting confirmations |
COMPLETED | Fully paid and credited |
EXPIRED | Timed out unpaid |
CANCELLED | Cancelled via POST …/cancel while PENDING |
PARTIALLY_REFUNDED | One or more partial refunds issued |
FULLY_REFUNDED | Fully refunded |
rail (when present): onchain | lightning. Refund reason: REQUESTED_BY_CUSTOMER | DUPLICATE | FRAUDULENT | OTHER. Refund row statuses: PENDING | PROCESSING | COMPLETED | CANCELLED.
statusstatus (int) | status_text | Meaning |
|---|---|---|
0 | Waiting | Awaiting deposit |
1 | Confirming | Deposit seen, confirmations pending |
100 | Complete | Paid and credited |
-1 | Expired | Timed out / cancelled unpaid |
status| Value | Set by | Meaning |
|---|---|---|
active | Merchant / API | Link usable |
paused | Merchant / API / DELETE | Temporarily disabled |
exhausted | System | max_uses reached |
inactive | Display only | Expired or otherwise unusable in public checkout |
| Entity | Values |
|---|---|
Subscription status | active | paused | canceled |
interval | weekly | monthly | yearly |
Period invoice status | pending | paid |
status| Value | Phase | Meaning |
|---|---|---|
pending | active | Accepted, job queued |
consolidating | active | Gathering funds / UTXO prep |
approving | active | Token approve tx |
swapping | active | Swap tx in flight |
sweeping | active | Sweeping proceeds to ledger |
broadcast | active | Last hop broadcast |
confirmed | terminal | Success (ledger credited) |
failed | terminal | Failed (see error_message) |
provider: zerox (same-chain EVM) | lifi (cross-chain / non-EVM). slippage_bps: integer 10–1000 (default 100 = 1%).
error / code | Typical HTTP | Meaning |
|---|---|---|
PAIR_UNSUPPORTED | 422 | Pair not supported by routing |
AMOUNT_TOO_SMALL | 422 | Below minimum |
INSUFFICIENT_BALANCE | 422 | Merchant balance too low |
GAS_LOW | 422 | Prepaid gas credit insufficient |
QUOTE_NOT_FOUND | 404/422 | Unknown quote_id |
QUOTE_EXPIRED | 422 | Quote TTL exceeded (~30s) |
QUOTE_MISMATCH | 422 | Quote params no longer match |
PRICE_MOVED | 409 | Re-quote worsened past slippage / min_buy |
VALIDATION_FAILED | 422 | Preflight validation failed |
ENGINE_ERROR | 502/422 | Wallet-engine / router failure |
NOT_FOUND | 404 | Swap order not found |
status| Value | Meaning |
|---|---|
active | Public page usable |
cancelled | Deleted / cancelled by merchant |
exhausted | max_uses reached |
expired | Past expires_at |
inactive | Display aggregate for unusable sessions |
theme: light | dark. mode (v1): custodial.
Storage uses a string status. API responses also expose a CRYPTOCHE-style integer + status_text (ucfirst of the string).
DB / list filter status | API int | status_text | Meaning |
|---|---|---|---|
pending | 0 | Pending | Created, broadcast queued |
awaiting_approval | 0 | Awaiting approval | Multi-sig hold (merchant policy) |
broadcasting | 0 | Broadcasting | Job claimed; send in progress |
consolidating | 0 | Consolidating | UTXO / fund gathering before broadcast |
needs_review | 0 | Needs review | Uncertain outcome — no dedicated IPN; funds locked |
broadcast | 1 | Broadcast | Tx submitted (tx_hash set) |
confirmed | 100 | Confirmed | On-chain confirmed, balance finalized |
failed | -1 | Failed | Broadcast error or revert |
cancelled | -2 | Cancelled | Cancelled while pending |
GET /withdrawals?status= filters on the DB string (e.g. broadcast), not the integer. fee_priority (UTXO only): economy | normal | fast. add_tx_fee: true | false.
Withdrawal IPN ipn_event: broadcast | confirmed | failed.
| Symbol | Chain |
|---|---|
BNB | bsc |
ETH | eth |
MATIC | polygon |
AVAX | avalanche |
TRX | tron |
SOL | solana |
TON | ton |
SUI | sui |
APT | aptos |
NEAR | near |
| Field | Values |
|---|---|
QR format | svg | png |
Report format | csv | xlsx | pdf |
| Lightning status poll | paid boolean; settled amounts when paid |
| HTTP methods (HMAC) | GET, POST, PUT, DELETE (uppercase in signature) |
| Event | Notes |
|---|---|
payment.created |
|
payment.received |
Reserved in the event catalog; prefer payment.confirmed for settled funds (and payment IPN statuses).
|
payment.confirmed |
|
payment.expired |
|
invoice.paid |
|
deposit.confirmed |
|
swap.created |
|
swap.completed |
|
swap.failed |
|
withdrawal.sent |
|
withdrawal.confirmed |
|
withdrawal.failed |
|
subscription.invoice_created |
|
gift_card.fulfilled |
|
gift_card.failed |
|
otc.quote_accepted |
|
otc.settled |
{ "error": "HMAC signature mismatch.", "result": null }
Swap endpoints may also return typed codes in error (see swap error codes), e.g. { "error": "PRICE_MOVED", "result": null, "details": {…} }.
| HTTP | Meaning |
|---|---|
200 | Success envelope, or business error with error string and result: null (CRYPTOCHE style) |
202 | Accepted async — POST /swaps/execute |
400 | Domain / business rule error in error envelope (e.g. insufficient prepaid gas) |
401 | Invalid API key, nonce, HMAC signature, or timestamp skew |
403 | Missing permission on API key / admin-only route |
404 | Resource not found |
409 | Conflict — swap PRICE_MOVED |
410 | Gone — POST /swaps/create removed; use quote → execute |
422 | Validation failed (message + errors) or typed swap/business failure |
502 | Upstream wallet-engine / router failure (ENGINE_ERROR) |
Manage API keys and per-key IPN URLs in your dashboard. Set your global IPN URL and ipn_secret in Settings.