CChainPay
Accedi

Quickstart: il tuo primo deposito crypto in 5 minuti

Ti servono un indirizzo wallet che controlli e un URL pubblico in grado di ricevere un webhook. Nessuna registrazione, nessuna API key.

1. Crea un indirizzo di deposito

curl -X POST https://api.chainpay.site/deposit-address \
  -H 'content-type: application/json' \
  -d '{
    "ticker": "trc20/usdt",
    "callbackUrl": "https://your-service.example.com/webhook?token=your-secret",
    "forwardAddress": "TYourOwnTronWallet...",
    "externalReference": "order-123"
  }'

La risposta contiene id e address. Mostra address a chi paga. Ripetere la stessa richiesta restituisce lo stesso indirizzo, quindi i tentativi ripetuti sono sicuri.

2. Ricevi il webhook

Quando il deposito raggiunge la soglia di conferme (19 su TRON), ChainPay invia un POST con status: "confirmed" al tuo callbackUrl. I fondi vengono poi inviati al tuo forwardAddress, al netto della commissione. Verifica tu il valore token della query: i webhook non sono firmati.

3. Riconcilia con l’API di stato

curl https://api.chainpay.site/deposit-address/ADDRESS_ID/status
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/transactions

Considera i webhook «almeno una volta» e usa questi endpoint come fonte di verità.

Esempi nel tuo linguaggio

Node.js

const res = await fetch('https://api.chainpay.site/deposit-address', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    ticker: 'trc20/usdt',
    callbackUrl: 'https://your-service.example.com/webhook?token=your-secret',
    forwardAddress: 'TYourOwnTronWallet...',
    externalReference: 'order-123',
  }),
});
const { id, address } = await res.json();

Python

import requests

r = requests.post("https://api.chainpay.site/deposit-address", json={
    "ticker": "trc20/usdt",
    "callbackUrl": "https://your-service.example.com/webhook?token=your-secret",
    "forwardAddress": "TYourOwnTronWallet...",
    "externalReference": "order-123",
})
address = r.json()["address"]

PHP

$ch = curl_init('https://api.chainpay.site/deposit-address');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
  CURLOPT_POSTFIELDS => json_encode([
    'ticker' => 'trc20/usdt',
    'callbackUrl' => 'https://your-service.example.com/webhook?token=your-secret',
    'forwardAddress' => 'TYourOwnTronWallet...',
    'externalReference' => 'order-123',
  ]),
]);
$address = json_decode(curl_exec($ch), true)['address'];

Prossimi passi