Skip to content
Translated page. The English version is the source of truth.

POST /apiv2/address/rotate ​

Solicitar una rotación de dirección de depósito. La dirección de depósito actual se reemplazará por una nueva. La solicitud se coloca en una cola de procesamiento y se completa automáticamente en un plazo de 5 minutos.

URL del endpoint ​

POST https://netts.io/apiv2/address/rotate

Encabezados de solicitud ​

HeaderRequiredDescription
Content-TypeSíapplication/json
X-API-KEYSíSu clave API del panel de Netts
X-Real-IPSíDirección IP de su lista blanca

Cuerpo de solicitud ​

json
{
    "user_id": 1234,
    "address_type": "web"
}

Parámetros de solicitud ​

ParameterTypeRequiredDefaultDescription
user_idintegerNoUsuario autenticadoID del usuario objetivo. Omita para rotar su propia dirección. Los usuarios principales pueden especificar el ID de su SUB-user
address_typestringNo"web"Tipo de dirección a rotar: web o tg

Autenticación y Autorización ​

Este endpoint requiere tanto autenticación como autorización:

  1. Autenticación: Clave API válida + IP de la lista blanca (igual que otros endpoints)
  2. Autorización:
    • Rotar su propia dirección — siempre permitido
    • Rotar la dirección de su SUB-user — permitido para usuarios principales
    • Rotar la dirección de otro usuario — rechazado con 403 Forbidden

Ejemplos ​

cURL ​

bash
# Rotate own address
curl -X POST https://netts.io/apiv2/address/rotate \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -d '{"address_type": "web"}'
bash
# Rotate SUB-user's address (parent user only)
curl -X POST https://netts.io/apiv2/address/rotate \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -d '{"user_id": 1234, "address_type": "web"}'

Python ​

python
import requests

url = "https://netts.io/apiv2/address/rotate"
headers = {
    "Content-Type": "application/json",
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip"
}

# Rotate own address
response = requests.post(url, headers=headers, json={"address_type": "web"})
data = response.json()

if response.status_code == 200:
    print(f"Rotation ID: {data['rotation_id']}")
    print(f"Old Address: {data['old_address']}")
    print(f"Status: {data['status']}")
    print(f"Estimated Completion: {data['estimated_completion']}")
else:
    print(f"Error: {data.get('detail', 'Unknown error')}")

Node.js ​

javascript
const axios = require('axios');

async function rotateAddress(apiKey, whitelistedIp, addressType = 'web', userId = null) {
    const url = 'https://netts.io/apiv2/address/rotate';
    const body = { address_type: addressType };
    if (userId) body.user_id = userId;

    const response = await axios.post(url, body, {
        headers: {
            'Content-Type': 'application/json',
            'X-API-KEY': apiKey,
            'X-Real-IP': whitelistedIp
        },
        timeout: 30000
    });

    const data = response.data;
    console.log(`Rotation ID: ${data.rotation_id}`);
    console.log(`Status: ${data.status}`);
    console.log(`Old Address: ${data.old_address}`);
    return data;
}

// Rotate own address
rotateAddress('your_api_key', 'your_whitelisted_ip')
    .then(result => console.log('Submitted:', result.message))
    .catch(err => console.error('Error:', err.response?.data || err.message));

PHP ​

php
<?php
$url = 'https://netts.io/apiv2/address/rotate';

$data = json_encode([
    'address_type' => 'web'
]);

$options = [
    'http' => [
        'header' => implode("\r\n", [
            "Content-Type: application/json",
            "X-API-KEY: your_api_key",
            "X-Real-IP: your_whitelisted_ip"
        ]),
        'method' => 'POST',
        'content' => $data,
        'timeout' => 30
    ]
];

$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response, true);

echo "Rotation ID: {$result['rotation_id']}\n";
echo "Old Address: {$result['old_address']}\n";
echo "Status: {$result['status']}\n";
echo "Message: {$result['message']}\n";
?>

Respuesta ​

Respuesta exitosa (200 OK) ​

json
{
    "rotation_id": 42,
    "user_id": 1234,
    "address_type": "web",
    "old_address": "TCurrentAddress1234567890123456789",
    "status": "pending",
    "message": "Address rotation request submitted. New address will be assigned within 5 minutes.",
    "estimated_completion": "2026-03-14T12:35:00Z"
}

Campos de respuesta ​

FieldTypeDescription
rotation_idintegerID único de solicitud de rotación (usar para comprobaciones de estado)
user_idintegerUsuario cuya dirección se está rotando
address_typestringTipo de dirección que se está rotando (web o tg)
old_addressstringDirección de depósito TRON actual antes de la rotación
statusstringEstado de la solicitud: pending
messagestringMensaje de estado legible por humanos
estimated_completionstringTiempo estimado de finalización en formato ISO 8601

Comprobar estado de rotación ​

GET /apiv2/address/rotate/status/ ​

Comprueba el estado de una solicitud de rotación enviada previamente.

bash
curl https://netts.io/apiv2/address/rotate/status/42 \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip"

Respuesta:

json
{
    "rotation_id": 42,
    "user_id": 1234,
    "address_type": "web",
    "status": "completed",
    "old_address": "TOldAddress1234567890123456789012",
    "new_address": "TNewAddress1234567890123456789012",
    "created_at": "2026-03-14T12:30:00Z",
    "completed_at": "2026-03-14T12:34:15Z"
}

Valores de estado ​

StatusDescription
pendingSolicitud enviada, en espera de ser procesada
processingActualmente en procesamiento
completedNueva dirección asignada con éxito
failedOcurrió un error durante la rotación

Comprobar rotación pendiente ​

GET /apiv2/address/rotate/pending ​

Comprueba si un usuario tiene una solicitud de rotación pendiente (útil para deshabilitar el botón de rotación).

bash
curl "https://netts.io/apiv2/address/rotate/pending?address_type=web" \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip"

Respuesta:

json
{
    "user_id": 1234,
    "address_type": "web",
    "has_pending": true,
    "pending_rotation": {
        "rotation_id": 42,
        "status": "pending",
        "created_at": "2026-03-14T12:30:00Z"
    }
}

Notes importantes ​

Cambio de dirección

Una vez completada la rotación, su dirección de depósito actual ya no aceptará depósitos. Asegúrese de:

  1. Retirar cualquier saldo restante de la dirección actual antes de solicitar la rotación
  2. Actualizar cualquier sistema externo que haga referencia a su antigua dirección de depósito
  3. Usar la nueva dirección para todos los depósitos futuros

Tiempo de procesamiento

Las solicitudes de rotación se procesan automáticamente. Por lo general, se asigna una nueva dirección dentro de los 5 minutos posteriores al envío.

  • Solo se permite una rotación pendiente por usuario por tipo de dirección dentro de un período de 7 días
  • Si ya tiene una rotación pendiente, la solicitud será rechazada con 409 Conflict
  • Tanto las direcciones web como tg se pueden rotar de forma independiente
  • Los usuarios principales pueden rotar las direcciones de sus SUB-users especificando el parámetro user_id

Respuestas de error ​

Conflicto (409) ​

json
{
    "detail": "User 1234 already has a pending web address rotation request"
}

Solicitud incorrecta (400) ​

json
{
    "detail": "User 1234 has no web deposit address"
}
json
{
    "detail": "address_type must be 'web' or 'tg'"
}

No encontrado (404) ​

json
{
    "detail": "User 9999 not found"
}

Prohibido (403) ​

json
{
    "detail": "Not authorized to rotate this user's address"
}

Error de autenticación (401) ​

json
{
    "detail": "X-API-KEY header required"
}

Referencia de códigos de error ​

HTTP StatusDescription
200Solicitud de rotación enviada con éxito
400Solicitud no válida (sin dirección, tipo no válido)
401Falta el encabezado de clave API
403No autorizado / Clave API o IP no válida
404Usuario no encontrado / Rotación no encontrada
409La rotación pendiente ya existe
500Error interno del servidor

Endpoints relacionados ​