CChainPay
Iniciar sesión

Quickstart: tu primer depósito cripto en 5 minutos

Necesitas una dirección de wallet que controles y una URL pública que pueda recibir un webhook. Sin registro y sin API key.

1. Crea una dirección de depósito

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 respuesta contiene id y address. Muestra address al pagador. Repetir la misma petición devuelve la misma dirección, así que los reintentos son seguros.

2. Recibe el webhook

Cuando el depósito alcanza el umbral de confirmaciones (19 en TRON), ChainPay envía un POST con status: "confirmed" a tu callbackUrl. Después los fondos se envían a tu forwardAddress, menos la comisión. Comprueba tú mismo el valor token de la query: los webhooks no están firmados.

3. Concilia con la API de estado

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

Trata los webhooks como «al menos una vez» y usa estos endpoints como fuente de verdad.

Ejemplos en tu lenguaje

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'];

Siguientes pasos