Activador — activación de direcciones
Active una dirección TRON que nunca se haya utilizado en la cadena. Una dirección completamente nueva no tiene registro de cuenta, por lo que no puede recibir energía ni ancho de banda delegados hasta que se active. Este endpoint crea la cuenta por usted y devuelve el hash de la transacción de activación.
La activación es una operación de una sola vez por dirección. Si la dirección ya está activa, el endpoint se lo indica y no cobra nada.
URL base del endpoint
https://netts.io/apiv2/activatorEncabezados de solicitud
| Encabezado | Requerido | Descripción |
|---|---|---|
| Content-Type | Sí | application/json |
| X-API-KEY | Sí | Su clave de API del panel de Netts |
Su user_id se deriva de la clave de API — nunca debe enviarlo.
Activar — POST /apiv2/activator
Cuerpo de la solicitud
{ "targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE" }| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
targetAddress | string | Sí | Dirección TRON a activar. Debe coincidir con ^T[A-Za-z0-9]{33}$ (34 caracteres, comienza con T). |
Respuesta — activada (200, código 10000)
{
"detail": {
"code": 10000,
"msg": "Address activated successfully, 1.1 TRX deducted",
"data": {
"orderId": "A123456",
"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"activation_cost": 1.1,
"user_balance_before": 500.00,
"user_balance_after": 498.90,
"hash": "0000000000000000000000000000000000000000000000000000000000000000"
}
}
}| Campo | Tipo | Descripción |
|---|---|---|
orderId | string | Número de orden de activación, siempre A + dígitos. Utilícelo para la conciliación. |
targetAddress | string | La dirección que fue activada |
activation_cost | float | Cantidad deducida de su saldo, en TRX |
user_balance_before | float | Saldo antes de la deducción |
user_balance_after | float | Saldo después de la deducción |
hash | string | Hash de la transacción de activación. Verifíquelo en cualquier explorador de TRON. |
Respuesta — ya activa (200, código 2001)
Se devuelve cuando la dirección ya existe en la cadena. No se cobra nada.
{
"detail": {
"code": 2001,
"msg": "Address is already activated",
"data": {
"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"status": "already_activated",
"user_balance": 500.00,
"activation_cost": 0,
"activation_required": false
}
}
}Verifique code antes de asumir que se realizó un cobro: 10000 significa que pagó, 2001 significa que no.
Ejemplo
curl -X POST https://netts.io/apiv2/activator \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-d '{"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"}'Precio
| Concepto | Cantidad |
|---|---|
| Activación | 1.1 TRX |
| Dirección ya activa | 0 |
La cantidad es fija y no depende de la dirección ni de las condiciones de la red. Se deduce de su saldo de Netts en el momento en que la activación tiene éxito — nunca antes. Una activación fallida no cuesta nada.
Su saldo debe cubrir el costo; de lo contrario, la solicitud se rechaza con 403 (1004) y no se crea ninguna orden.
Cuándo necesita esto
- Antes de alquilar energía o ancho de banda para una dirección nueva. La delegación a una cuenta inexistente falla. Active primero, luego ordene.
- Antes de la primera transferencia entrante hacia una dirección que usted mismo generó.
No necesita llamar a este endpoint para una dirección que alguna vez haya recibido TRX o un token — ya está activa, y la llamada simplemente devolvería 2001.
Ordenar energía para una dirección nueva
El endpoint de energía de 1 hora activa un receptor no activo por su cuenta como parte de la orden, y el costo de activación se añade a esa orden. Llame al activador explícitamente cuando desee que la dirección esté activa antes de cualquier alquiler — por ejemplo, para recargar ancho de banda primero, lo cual sí requiere una cuenta activa.
Tiempos
La activación es una transacción real en la cadena. El endpoint responde después de que se transmite y se escribe el registro de activación, normalmente en unos pocos segundos.
La dirección pasa a ser utilizable solo una vez que la transacción se incluye en un bloque — hasta ~3 segundos después de la respuesta, ya que ese es el intervalo de bloque de TRON. Si su siguiente paso depende de que la dirección esté activa (ordenar ancho de banda, por ejemplo), confirme el estado en la cadena mediante el hash devuelto en lugar de llamar inmediatamente.
Referencia de códigos de error
| Código | Descripción | Estado HTTP |
|---|---|---|
10000 | Dirección activada, saldo deducido | 200 |
2001 | Dirección ya activada, no se cobró nada | 200 |
-1 | Clave de API inválida / IP no está en la lista blanca | 401 |
1004 | Fondos insuficientes — el mensaje indica lo que se requiere y lo que tiene | 403 |
- | Formato de targetAddress inválido (debe tener 34 caracteres, comenzar con T) | 422 |
5003 | La activación falló o el servicio no está disponible temporalmente — reintente más tarde | 503 |
5000 | Error interno del servidor | 500 |
Un 503 significa que no se realizó ningún cobro y no se activó ninguna dirección: la solicitud se puede reintentar de forma segura.
Límites de tasa
Limitado por IP de origen:
| Período | Límite |
|---|---|
| 1 segundo | 5 solicitudes |
| 1 minuto | 60 solicitudes |
Límite de tasa excedido (429)
{ "message": "API rate limit exceeded" }Cuentas de pospago
Las cuentas con facturación de pospago utilizan el mismo endpoint, encabezados y cuerpo de solicitud. La diferencia radica en cómo se paga la activación:
- No se deduce nada de su depósito. Cada activación exitosa se agrega al saldo pendiente de su cuenta en la moneda de liquidación acordada en su contrato. Usted la paga mediante factura, de acuerdo con su contrato.
- Su cuenta tiene un límite de crédito. Mientras el importe adeudado esté dentro del límite, las activaciones se aceptan incluso con un depósito de cero.
- Solo se factura una activación completada. Una dirección que ya está activa (
2001) y una activación fallida no cuestan nada.
Netts habilita la facturación de pospago para una cuenta previa solicitud. Cada respuesta le indica cómo se paga la activación: paymentMode es postpaid o prepaid.
Campos de solicitud adicionales
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
test | boolean | No | true — calcula el precio y comprueba la dirección únicamente. No se activa ni se factura nada |
freezePrice | boolean | No | true — congela el precio según su contrato durante 60 segundos. No se activa ni se factura nada |
quoteId | string | No | Activa al precio de una cotización emitida por freezePrice para la misma dirección |
priceCurrency | string | No | TRX (por defecto) o la moneda de su contrato, como en settlement.asset. Para cuentas de pospago, siempre se incluyen los montos en la moneda de su contrato |
quoteId no se puede combinar con test o freezePrice. Cualquier otro campo en el cuerpo de la solicitud es rechazado.
Comprobación de precio (test: true)
{ "targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH", "test": true }{
"detail": {
"code": 10010,
"msg": "Test calculation",
"data": {
"amount": 1,
"unitPriceSun": null,
"discount": null,
"energyTRX": "0.000000",
"activationTRX": "1.100000",
"wouldCostTRX": "1.100000",
"paidTRX": 0,
"paymentMode": "postpaid",
"activationCheck": "inactive",
"alt": {"USDC": {"energy": "0.000000", "activation": "0.364333", "total": "0.364333"}},
"fxAt": "2026-10-19T07:17:33.475335+00:00",
"targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH"
}
}
}activationCheck: inactive — la dirección necesita activación y será facturada; active — la dirección ya está activa, wouldCostTRX es 0; unknown — no se pudo comprobar en este momento.
alt.<currency> — los mismos montos en la moneda de su contrato. fxAt — la fecha y hora del tipo de cambio utilizado.
Cotización de precio fijo (freezePrice: true)
- Envíe la solicitud con
"freezePrice": true. La respuesta tiene el código10011(Quote issued), los mismos campos que una comprobación de precio, másquoteIdyexpiresAt. - Dentro de los 60 segundos, envíe la solicitud con
"quoteId": "<quoteId>"y la mismatargetAddress. - La activación se factura al precio cotizado — el precio según su contrato en el momento de la cotización.
Una cotización se puede utilizar una sola vez. Una cotización vencida o ya utilizada se rechaza y no se activa nada.
Activación exitosa
{
"detail": {
"code": 10000,
"msg": "Address activated successfully, 1.1 TRX service cost, postpaid",
"data": {
"orderId": "A564125",
"targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH",
"activation_cost": 1.1,
"user_balance_before": 0.0,
"user_balance_after": 0.0,
"hash": "bd9ea6ef92ce4ba6553af3930a03abe874cdfcc2399b7fdd9abdb11570de2920",
"paymentMode": "postpaid",
"activationTRX": "1.100000",
"totalTRX": "1.100000"
}
}
}| Campo | Descripción |
|---|---|
activation_cost | Costo de la activación en TRX. Para cuentas de pospago no se deduce del depósito |
user_balance_before / user_balance_after | Su depósito — sin cambios para cuentas de pospago |
paymentMode | postpaid |
activationTRX / totalTRX | Montos exactos, 6 decimales |
quoteId, alt | Presentes cuando la activación se realizó con una cotización |
Límite de crédito alcanzado (402)
{
"detail": {
"code": 1004,
"msg": "Postpaid credit limit reached.",
"paymentMode": "postpaid",
"reason": "limit_reached"
}
}No se activa nada y no se factura nada. Las nuevas activaciones se aceptan nuevamente una vez que se registre su pago o se incremente su límite.
Códigos de error de pospago
| Código | HTTP | Descripción |
|---|---|---|
10010 | 200 | Resultado de comprobación de precio (test) |
10011 | 200 | Cotización emitida (freezePrice) |
1004 | 402 | Límite de crédito de pospago alcanzado |
4100 | 400 | Solicitud inválida |
4101 | 400 | priceCurrency no compatible |
4102 | 400 | quoteId combinado con test o freezePrice |
4103 | 409 | Cotización ya utilizada |
4104 | 409 | Cotización expirada |
4106 | 404 | Cotización no encontrada |
4107 | 409 | Los parámetros de solicitud difieren de la cotización |
4108 | 400 | Formato de quoteId inválido |
4109 | 422 | No disponible para subcuentas |
5032 | 503 | Precio no disponible temporalmente |
5033 | 503 | Tipo de cambio no disponible temporalmente |
5034 | 503 | Facturación no disponible temporalmente — no se aceptó la activación |
5036 | 503 | Comprobación de crédito no disponible temporalmente — reintente más tarde |
Para todas las respuestas 4xx y 503 anteriores, no se activa nada y no se factura nada.
Notas
- La idempotencia depende de usted. El endpoint no cuenta con una clave de idempotencia. Repetir una solicitud para una dirección que ya está activa es seguro y gratuito (
2001), pero dos solicitudes simultáneas para la misma dirección completamente nueva pueden proceder ambas. Serialice la activación por dirección de su lado. - El formato de
orderIdesA+ dígitos y es único entre las activaciones. - Actualmente no se envía ningún webhook para la activación — la respuesta y el
hashson la confirmación. Actualmente, los webhooks solo cubren delegaciones de energía confirmadas; consulte Webhooks.