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

Time Status API

Obtenha informações de status para endereços no Host Mode — todos os endereços da sua conta ou um único endereço.

Existem dois endpoints:

  1. POST /apiv2/time/status — status de todos os seus endereços (com paginação opcional e resumo no nível da conta).
  2. GET /apiv2/time/status/{address} — status de um endereço específico.

POST /apiv2/time/status

URL do endpoint

POST https://netts.io/apiv2/time/status

Autenticação

Forneça sua chave de API no corpo da requisição (api_key) ou no cabeçalho X-API-KEY. O IP da requisição deve estar na lista de permissões configurada para sua chave de API.

Corpo da requisição

json
{
    "api_key": "your_api_key",
    "page": 1,
    "page_size": 50
}
ParâmetroTipoObrigatórioDescrição
api_keystringSimChave de API (ou cabeçalho X-API-KEY).
pageintegerNãoNúmero da página, ≥ 1. Requer page_size.
page_sizeintegerNãoEndereços por página, 1–100. Requer page.

Paginação: se page e page_size forem fornecidos, os resultados serão paginados e um objeto pagination será incluído. Sem eles, todos os endereços são retornados (até 1000), ordenados pelo horário de criação (mais recentes primeiro).

Exemplos

cURL (todos os endereços):

bash
curl -X POST https://netts.io/apiv2/time/status \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "YOUR_API_KEY_HERE" }'

cURL (paginado):

bash
curl -X POST https://netts.io/apiv2/time/status \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "YOUR_API_KEY_HERE", "page": 1, "page_size": 50 }'

Python:

python
import requests

resp = requests.post(
    "https://netts.io/apiv2/time/status",
    json={"api_key": "YOUR_API_KEY_HERE"},  # add "page"/"page_size" to paginate
    timeout=30,
)
result = resp.json()

if result["code"] == 0:
    for a in result["data"]["addresses"]:
        # cycles_remaining is None in infinity mode — no limit to count down
        left = "unlimited" if a["cycles_remaining"] is None else f"{a['cycles_remaining']} left"
        print(a["address"], a["mode"], a["status"], left,
              f"spent {a['total_spent']} TRX")
else:
    print("Error:", result["msg"])

Node.js:

javascript
const axios = require('axios');

axios.post('https://netts.io/apiv2/time/status', { api_key: 'YOUR_API_KEY_HERE' })
    .then(({ data: result }) => {
        if (result.code === 0) {
            result.data.addresses.forEach(a => {
                // cycles_remaining is null in infinity mode — no limit to count down
                const left = a.cycles_remaining === null ? 'unlimited' : `${a.cycles_remaining} left`;
                console.log(a.address, a.mode, a.status, left, `spent ${a.total_spent} TRX`);
            });
        } else {
            console.error('Error:', result.msg);
        }
    })
    .catch(err => console.error('Request failed:', err.response?.data || err.message));

Resposta

json
{
    "code": 0,
    "msg": "Status retrieved successfully",
    "data": {
        "summary": {
            "total_addresses": 3,
            "active_addresses": 2,
            "infinity_mode_count": 1,
            "total_cycles_ordered": 25,
            "total_open_orders": 3
        },
        "order_statistics": {
            "total_orders": 12,
            "open_orders": 3,
            "closed_orders": 9,
            "total_cycles_in_open_orders": 25,
            "total_delegations": 340,
            "total_amount_spent": 1502.4471
        },
        "addresses": [
            {
                "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
                "status": "active",
                "mode": "normal",
                "cycles_ordered": 25,
                "cycle_set": 25,
                "cycles_completed": 10,
                "cycles_remaining": 15,
                "cycles_total_lifetime": 214,
                "current_cycle_no": 3,
                "open_orders": 1,
                "total_spent": 962.1184,
                "bandwidth_delegated": true,
                "created_at": "2026-07-08T12:00:00.000000",
                "updated_at": "2026-07-09T10:00:00.000000"
            },
            {
                "address": "TYn8Y3khEsLJW2ChVWFMSMeRDow6KcbMTF",
                "status": "active",
                "mode": "infinity",
                "cycles_ordered": null,
                "cycle_set": 0,
                "cycles_completed": 83,
                "cycles_remaining": null,
                "cycles_total_lifetime": 115,
                "current_cycle_no": 5,
                "open_orders": 1,
                "total_spent": 519.1234,
                "bandwidth_delegated": true,
                "created_at": "2026-07-08T08:00:00.000000",
                "updated_at": "2026-07-09T09:30:00.000000"
            }
        ],
        "timestamp": "2026-07-09T12:34:50.123456"
    }
}

Com paginação, data também contém:

json
"pagination": {
    "page": 1,
    "page_size": 50,
    "total_items": 150,
    "total_pages": 3,
    "has_next": true,
    "has_prev": false
}

Campos de summary

CampoDescrição
total_addressesNúmero de endereços na sua conta
active_addressesEndereços atualmente ativos
infinity_mode_countEndereços ativos operando no modo infinity
total_cycles_orderedSoma dos ciclos pedidos em pedidos abertos (pedidos infinity excluídos)
total_open_ordersNúmero de pedidos abertos em todos os endereços

Campos de order_statistics

CampoDescrição
total_ordersTodos os pedidos já criados
open_ordersPedidos atualmente abertos
closed_ordersPedidos encerrados
total_cycles_in_open_ordersCiclos em pedidos abertos (infinity excluído)
total_delegationsDelegações efetivamente realizadas em todos os seus endereços
total_amount_spentEfetivamente cobrado, em TRX — a quantia realmente deduzida do seu saldo

Campos do objeto Address

CampoTipoDescrição
addressstringEndereço TRON
statusstring"active" ou "inactive"
modestring"normal", "infinity" ou "off" (quando inativo)
cycles_orderedinteger | nullCiclos pedidos em pedidos abertos. null no modo infinity
cycle_setintegerValor de cycle_set armazenado para o endereço
cycles_completedintegerCiclos utilizados desde a última inicialização do endereço. É reiniciado quando você interrompe o modo ou quando os ciclos pedidos se esgotam
cycles_remaininginteger | nullcycles_ordered − cycles_completed. null no modo infinity
cycles_total_lifetimeintegerTodas as delegações para este endereço ao longo de todo o seu histórico. Nunca é reiniciado
current_cycle_nointeger | nullPosição da delegação atual desde a última inicialização do endereço. null quando nenhuma delegação está ativa
open_ordersintegerNúmero de pedidos abertos para o endereço
total_spentnumberValor efetivamente cobrado para este endereço, em TRX
bandwidth_delegatedbooleanIndica se a largura de banda (Bandwidth) está delegada no momento. A Bandwidth é gratuita e está incluída no preço do ciclo
created_atstringTimestamp ISO de quando foi adicionado
updated_atstringTimestamp ISO da última atualização

Modo infinity. cycles_ordered e cycles_remaining são null, e não 0 — não há limite para contagem regressiva. Trate null como “ilimitado” e não o interprete como “sem ciclos restantes”. cycles_completed ainda informa um número real.

Três contadores de ciclos, três significados. cycles_completed conta apenas desde a última inicialização do endereço, cycles_total_lifetime conta todo o seu histórico e current_cycle_no é a posição da delegação atual. Espera-se que eles sejam diferentes — para um mesmo endereço, você pode ver 83, 115 e 5 simultaneamente.

Erros

Todos os erros usam code = -1:

msgCausa
API key required in body or X-API-KEY headerNenhuma chave de API fornecida
Invalid API key or IP not in whitelistFalha na autenticação
Page number must be >= 1page é menor que 1
Page size must be >= 1page_size é menor que 1
Page size must be <= 100page_size é maior que 100
Database error getting statusErro temporário do lado do servidor — tente novamente
Internal server errorErro inesperado — tente novamente ou entre em contato com o suporte

GET /apiv2/time/status/

Status de um único endereço.

URL do endpoint

GET https://netts.io/apiv2/time/status/{address}

Autenticação

Envie sua chave de API no cabeçalho X-API-KEY. O IP da requisição deve estar na lista de permissões.

Exemplo de Requisição

bash
curl -X GET "https://netts.io/apiv2/time/status/TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE" \
  -H "X-API-KEY: YOUR_API_KEY_HERE"
python
import requests

address = "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
resp = requests.get(
    f"https://netts.io/apiv2/time/status/{address}",
    headers={"X-API-KEY": "YOUR_API_KEY_HERE"},
    timeout=30,
)
print(resp.json())

Resposta

json
{
    "code": 0,
    "msg": "Address status retrieved successfully",
    "data": {
        "address_info": {
            "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
            "status": "active",
            "mode": "normal",
            "cycles_ordered": 25,
            "cycle_set": 25,
            "cycles_completed": 10,
            "cycles_remaining": 15,
            "cycles_total_lifetime": 214,
            "current_cycle_no": 3,
            "open_orders": 1,
            "total_spent": 962.1184,
            "bandwidth_delegated": true,
            "created_at": "2026-07-08T12:00:00.000000",
            "updated_at": "2026-07-09T10:00:00.000000"
        },
        "timestamp": "2026-07-09T12:34:50.123456"
    }
}

address_info utiliza os mesmos campos do objeto de endereço acima.

Erros

code = -1, por exemplo:

msgCausa
API key required in X-API-KEY headerCabeçalho ausente
Invalid API key or IP not in whitelistFalha na autenticação
Address not found or doesn't belong to userEndereço desconhecido para esta conta
Database error getting address statusErro temporário do lado do servidor — tente novamente
Internal server errorErro inesperado — tente novamente ou entre em contato com o suporte

Códigos de status HTTP

Ambos os endpoints retornam seus erros com HTTP 200 e um code negativo — verifique code, não o status HTTP. Corpos de erro sempre incluem "data": null.

Alguns erros são retornados antes de a requisição atingir o endpoint. Eles utilizam um status diferente de 200 e um formato de corpo distinto:

HTTPCorpoCausa
402{"detail": {"code": 1004, "msg": "Insufficient funds. Minimum balance is 4 TRX. Please top up your account."}}O saldo da conta é muito baixo
403{"detail": {"code": 1005, "msg": "API key is blocked. Contact support."}}A chave de API está bloqueada — entre em contato com o suporte
422{"detail": [ … ]}Apenas POST — o corpo da requisição falhou na validação: um campo possui o tipo incorreto ou page/page_size foram enviados sem api_key. Observe que não há campo code nesta resposta

Endpoints Relacionados

Notas

  • Os endpoints de status são somente leitura.
  • Apenas os endereços pertencentes à sua conta são retornados.
  • Os timestamps são strings no formato ISO 8601.