API

SDK

Dos clientes oficiales, Python y TypeScript, generados a partir del contrato OpenAPI: cada ruta es un método tipado con el nombre de su ruta, la paginación se sigue por ti, los errores son excepciones tipadas con el error.code estable, los reintentos respetan Retry-After y el flujo WebSocket se reconecta solo.

#Instalar

Los paquetes se publican como adjuntos de cada versión del repositorio público github.com/bytnode/bytnode-SDK, con su código fuente y su registro de cambios. Aún no están en PyPI ni en npm: instala el adjunto de la versión, por su URL.

pip install https://github.com/bytnode/bytnode-SDK/releases/download/v0.2.1/bytnode-0.2.1-py3-none-any.whl
# with pandas: pip install "bytnode[pandas] @ https://github.com/bytnode/bytnode-SDK/releases/download/v0.2.1/bytnode-0.2.1-py3-none-any.whl"
export BYTNODE_API_KEY="your_key"

Ambos leen la clave de la variable de entorno BYTNODE_API_KEY, el nombre que usan todos los ejemplos de esta documentación.

#Primeras llamadas

from bytnode import Bytnode

client = Bytnode()  # reads BYTNODE_API_KEY

rate = client.funding.rate("BTCUSDT")
print(rate.data.rate_pct, rate.data.time)

# every page of a history, followed for you, into one DataFrame
df = client.klines.iter("BTCUSDT", "1h", since="2026-10-01").to_pandas()

#Lo que los clientes hacen por ti

  • La URL es el método. /v1/funding/rate/history es client.funding.rate.history(...); cada fila es un modelo tipado con los nombres de campo de la API y las fechas ya convertidas.
  • Paginación. .iter() sigue next página tras página hasta que vale null, con las páginas más grandes que permite la ruta; límites de tiempo como fecha, cadena ISO o milisegundos epoch.
  • Errores. Una excepción por situación (petición no válida, acceso denegado, límite de velocidad...) con code, param y el mensaje de la API.
  • Reintentos. 429 y 503 esperan Retry-After; 502, 503, 504 y los errores de red reintentan con espera aleatoria; una cuota mensual agotada falla de inmediato.
  • Flujo. Reconexión con espera creciente, resuscripción, mensajes tipados y detección de pérdidas a partir de seq.

#Generar tu propio cliente

El contrato está hecho para generadores de código: cada operación tiene un operationId legible (getFundingRateHistory), cada respuesta un esquema con nombre (FundingRate, Kline, Trade...), y los valores cerrados son enum (timeframe, asset, order). Para otro lenguaje, genera a partir de https://api.bytnode.com/openapi.json:

bash
# TypeScript types
npx openapi-typescript https://api.bytnode.com/openapi.json -o bytnode.d.ts

# Python client
pipx run openapi-python-client generate --url https://api.bytnode.com/openapi.json

#Versiones

La versión del SDK sigue su propio registro de cambios; cada versión se genera a partir de una versión del contrato, que toda respuesta de la API anuncia en la cabecera BytNode-Contract-Version. Compara ambas para saber si la API ha cambiado desde que se generó tu cliente. Ver Versiones y migración.

bytnode 0.2.1 · contract 2.0.0