API para bots de trading y MCP para IA
Un bot escrito para Binance USD-M Futures funciona en la cuenta demo de BuyCrypt sin reescribirlo: solo cambia la dirección de la API. Y Claude, ChatGPT y Cursor, a través del servidor MCP de BuyCrypt, ven los torneos, el rating de los traders y su cuenta demo.
{ "symbol": "BTCUSDT", "price": "…" }
El bot opera. El asistente responde preguntas.
API para bots de trading
El formato de las solicitudes, las firmas y las respuestas es el de Binance USD-M Futures. El bot coloca órdenes en su cuenta demo de BuyCrypt: precios de mercado, dinero demo.
- Las mismas librerías: binance-futures-connector o su propio código con requests
- REST, WebSocket privado por listenKey, velas y precio de marca en el stream
- La clave se crea en la app y solo funciona con una cuenta demo
MCP para asistentes de IA
Una dirección en los ajustes de Claude, ChatGPT o Cursor, y el asistente consulta por sí mismo los datos de BuyCrypt cuando usted le pregunta.
- Torneos, premios, tabla de participantes, líderes por moneda
- Pasaporte del trader: rating sobre 1000, nivel, estilo de trading
- Su cuenta demo: saldo, posiciones y órdenes (con una clave de solo lectura)
MCP: conecte BuyCrypt a Claude, ChatGPT y Cursor
MCP es un estándar abierto con el que los asistentes de IA se conectan a datos y herramientas externos. El servidor de BuyCrypt le da al asistente datos en vivo de la plataforma. No necesita registro ni clave; la clave solo hace falta para su cuenta demo.
https://buycrypt.com/mcp
- Abra claude.ai o la app Claude Desktop → Customize → Connectors.
- Pulse + Add → Add custom connector.
- Nombre: BuyCrypt; dirección: https://buycrypt.com/mcp; después, Continue.
- En la sección Authentication, elija No sign in y pulse Add.
Los conectores propios están disponibles en todos los planes de Claude; en el gratuito, uno. En los equipos Team y Enterprise, el conector lo añade el propietario de la organización en Organization settings → Connectors. Para su cuenta demo, añada la clave en el bloque Request headers de esa misma ventana: cómo hacerlo.
- Ejecute un solo comando en el terminal:
claude mcp add --transport http buycrypt https://buycrypt.com/mcp
Comprobación: claude mcp list; en la lista aparecerá buycrypt. Añada --scope user para que el servidor esté disponible en todos los proyectos.
- Abra chatgpt.com/plugins en el navegador.
- Pulse + → Add custom MCP server.
- Nombre: BuyCrypt; en la sección Connection, elija la dirección pública e indique https://buycrypt.com/mcp.
- Authentication: No authentication. Confirme el aviso I understand and want to continue y pulse Create.
En ChatGPT, los servidores MCP propios solo se añaden en la versión web y no están en todos los planes. Si no ve la opción, la ha bloqueado su plan o el administrador del espacio de trabajo. En ChatGPT no se puede conectar su cuenta demo: no envía claves al servidor. Para eso sirven Claude, Claude Code y Cursor.
El botón abre Cursor con la configuración lista. O a mano: añada a ~/.cursor/mcp.json (para todos los proyectos) o a .cursor/mcp.json en la raíz del proyecto:
{
"mcpServers": {
"buycrypt": {
"url": "https://buycrypt.com/mcp"
}
}
}Sirve cualquier cliente compatible con Streamable HTTP: indique la dirección https://buycrypt.com/mcp; no hace falta autorización. Si el cliente solo puede ejecutar servidores locales (stdio), conéctelo mediante el puente mcp-remote (requiere Node.js):
{
"mcpServers": {
"buycrypt": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://buycrypt.com/mcp"]
}
}
}Comprobar el servidor sin asistente: npx @modelcontextprotocol/inspector --cli https://buycrypt.com/mcp --transport http --method tools/list
Qué hace el servidor
platform_overviewQué torneos están en curso, cuál empieza a continuación, cuántos traders hay en los torneos, últimos premios.
sin clavelist_tournamentsTorneos en curso, próximos y finalizados: moneda, método de puntuación, bolsa de premios, entrada, participantes.
sin claveget_tournamentUn torneo: premios por puesto y tabla de participantes con sus resultados.
sin claveleaderboardLíderes por moneda en 7, 30 o 90 días, como en la página «Top traders».
sin clavetrader_profilePasaporte del trader por nick: rating sobre 1000, nivel, las cinco partes de la evaluación, estilo. Solo perfiles públicos.
sin clavemarket_tickerPrecio y variación en 24 horas de un contrato perpetuo, por ejemplo BTCUSDT.
sin clavedemo_accountSaldo, margen y posiciones abiertas de su cuenta demo.
su clavedemo_open_ordersÓrdenes abiertas de su cuenta demo.
su clavedemo_recent_resultsÚltimos resultados de la cuenta demo: beneficio y pérdida de las operaciones cerradas, comisiones.
su claveNinguna herramienta coloca órdenes, entra en torneos ni mueve dinero: el servidor solo lee.
Qué preguntarle al asistente
Pulse una pregunta para copiarla.
Así ve el asistente BuyCrypt
Abajo está la respuesta real del servidor https://buycrypt.com/mcp en este momento. El asistente recibe estos mismos datos y los resume con sus propias palabras.
Su cuenta demo en el asistente
Las herramientas demo_account, demo_open_orders y demo_recent_results leen su cuenta demo. Para usarlas, el cliente envía al servidor su clave API en dos encabezados: X-BuyCrypt-Api-Key y X-BuyCrypt-Api-Secret. Para el asistente, cree una clave de solo lectura: ve el saldo, las posiciones y las órdenes, pero BuyCrypt no ejecutará con ella órdenes, cancelaciones ni cambios de apalancamiento (respuesta 403). Cómo obtenerla.
claude mcp add --transport http buycrypt https://buycrypt.com/mcp \ --header "X-BuyCrypt-Api-Key: SU_API_KEY" \ --header "X-BuyCrypt-Api-Secret: SU_API_SECRET"
{
"mcpServers": {
"buycrypt": {
"url": "https://buycrypt.com/mcp",
"headers": {
"X-BuyCrypt-Api-Key": "SU_API_KEY",
"X-BuyCrypt-Api-Secret": "SU_API_SECRET"
}
}
}
}- Al añadir el conector (Customize → Connectors → Add custom connector), después de la dirección elija No sign in.
- En el bloque Request headers, añada dos cabeceras: X-BuyCrypt-Api-Key y X-BuyCrypt-Api-Secret con sus valores.
- Pulse Add. Si el conector ya estaba añadido sin clave, elimínelo y vuelva a añadirlo con las cabeceras.
Solo lectura
El servidor MCP no coloca ni cancela órdenes. Necesita la clave para leer el saldo, las posiciones y las órdenes. Una clave de solo lectura no permite operar, aunque caiga en manos ajenas.
Una cuenta demo
La clave de BuyCrypt solo funciona con la cuenta demo para la que se creó. No da acceso a cuentas reales de exchange.
Una clave aparte
Cree para el asistente una clave de solo lectura aparte. La clave solo se envía a buycrypt.com; el servidor no la guarda ni la escribe en los registros. Puede revocarla en el mismo lugar donde la creó.
API compatible con Binance USD-M Futures
Rutas, firma HMAC-SHA256, parámetros y formato de respuesta como en Binance USD-M Futures. La única diferencia: las órdenes se ejecutan en su cuenta demo de BuyCrypt a precios de mercado y no llegan a ningún exchange real. Así puede probar una estrategia en el mercado sin arriesgar dinero.
Cómo empezar
- Cuenta. Inicie sesión en el terminal web o en la app de BuyCrypt con Google o Apple. La cuenta demo aparece al instante.
- Clave. En el terminal web o en la app: Perfil → Claves API → su cuenta demo → bloque Bot API keys → Generate API key. Copie apiKey y apiSecret: el secreto se muestra una sola vez. Para un asistente de IA o para monitorización, el terminal web tiene el botón Generate read-only key (for MCP).
- Dirección. En su librería, indique https://api.buycrypt.com en lugar de https://fapi.binance.com. Las rutas /fapi/v1/… no cambian.
- Comprobación. Solicite el saldo con GET /fapi/v2/balance: la respuesta mostrará los USDT de su cuenta demo.
Qué conviene saber
- Solo contratos en USDT y modo de posición única (one-way); el modo hedge no está soportado.
- Precio del ticker: /fapi/v1/ticker/price. La ruta /fapi/v2/ticker/price, que usan las versiones nuevas de las librerías, todavía no está soportada.
- El stream público envía velas @kline_1m (cada 5 s) y @markPrice (cada segundo).
- recvWindow: 5.000 ms por defecto, hasta 60.000 ms. Sincronice el reloj con /fapi/v1/time.
- Una cuenta con una clave API de trading recibe el distintivo 🤖 en el rating de la app: todos ven que opera un programa.
- Permisos de la clave: una clave normal (READ_TRADE) lee y opera; una clave de solo lectura (READ) solo admite solicitudes GET y listenKey. Una orden, cancelación, cambio de apalancamiento o de margen con ella devuelve HTTP 403 y el código -2015.
import os from binance.um_futures import UMFutures client = UMFutures( key=os.environ["BUYCRYPT_API_KEY"], # clave de la app de BuyCrypt secret=os.environ["BUYCRYPT_API_SECRET"], base_url="https://api.buycrypt.com", # la única línea que cambia ) print(client.balance()) # USDT de la cuenta demo client.change_leverage(symbol="BTCUSDT", leverage=5) order = client.new_order(symbol="BTCUSDT", side="BUY", type="MARKET", quantity=0.002) print(order["orderId"], order["status"]) print(client.get_position_risk(symbol="BTCUSDT"))
import hashlib, hmac, os, time, urllib.parse, requests API = "https://api.buycrypt.com" KEY = os.environ["BUYCRYPT_API_KEY"] SECRET = os.environ["BUYCRYPT_API_SECRET"] def signed(method, path, **params): params["timestamp"] = int(time.time() * 1000) query = urllib.parse.urlencode(params) sig = hmac.new(SECRET.encode(), query.encode(), hashlib.sha256).hexdigest() r = requests.request(method, f"{API}{path}?{query}&signature={sig}", headers={"X-MBX-APIKEY": KEY}, timeout=10) r.raise_for_status() return r.json() print(signed("GET", "/fapi/v2/balance")) print(signed("POST", "/fapi/v1/order", symbol="BTCUSDT", side="BUY", type="LIMIT", timeInForce="GTC", quantity=0.002, price=60000))
# datos públicos, sin clave curl "https://api.buycrypt.com/fapi/v1/ticker/price?symbol=BTCUSDT" curl "https://api.buycrypt.com/fapi/v1/klines?symbol=ETHUSDT&interval=1h&limit=3" # saldo de la cuenta demo: solicitud firmada KEY="SU_API_KEY"; SECRET="SU_API_SECRET" Q="timestamp=$(date +%s)000" SIG=$(printf '%s' "$Q" | openssl dgst -sha256 -hmac "$SECRET" | sed 's/^.* //') curl -H "X-MBX-APIKEY: $KEY" "https://api.buycrypt.com/fapi/v2/balance?$Q&signature=$SIG"
Métodos
Dirección base de REST: https://api.buycrypt.com. Los métodos firmados requieren la cabecera X-MBX-APIKEY, timestamp y signature.
Datos de mercado sin clave
Cuenta y posiciones firmados
Trading firmados
Streams WebSocket
Límites y errores
Suscriptores para su bot (beta)
Puede registrar el bot como público: el usuario pulsa «Conectar» en la app, BuyCrypt le abre una cuenta demo aparte con 1.000 USDT demo y emite una clave solo para esa cuenta. La clave llega a su webhook con el evento subscription.created, y el bot opera en la cuenta demo del suscriptor. Cuando el usuario se desconecta, las posiciones se cierran, la clave deja de funcionar y usted recibe subscription.disconnected.
El bot no recibe las cuentas reales ni las claves de exchange de los usuarios, solo la clave de una cuenta demo aparte.
Registro: POST /fapi/v1/bot/profiles firmado con los parámetros slug, displayName, webhookUrl (solo HTTPS) y webhookSecret (32 caracteres como mínimo); el bot queda en estado PENDING_REVIEW hasta la revisión. Cada evento va firmado: cabecera X-BuyCrypt-Signature = HMAC-SHA256(webhookSecret, timestamp + "." + cuerpo), con la hora en X-BuyCrypt-Timestamp. La entrega se reintenta hasta 6 veces (al instante, a los 10 s, 30 s, 2 min, 10 min y 1 h); tras 10 entregas fallidas seguidas, el webhook se desactiva y el soporte puede volver a activarlo.
import hashlib, hmac, os, time WEBHOOK_SECRET = os.environ["BUYCRYPT_WEBHOOK_SECRET"] def verify(headers, raw_body: bytes) -> bool: ts = int(headers["X-BuyCrypt-Timestamp"]) if abs(time.time() * 1000 - ts) > 5 * 60 * 1000: # más de 5 minutos: rechazar return False expected = hmac.new(WEBHOOK_SECRET.encode(), f"{ts}.".encode() + raw_body, hashlib.sha256).hexdigest() return hmac.compare_digest(expected, headers["X-BuyCrypt-Signature"])
La clave de BuyCrypt solo abre la cuenta demo
Vinculada a una cuenta
La clave API se crea para una cuenta demo concreta y solo funciona con ella. Las cuentas reales de los exchanges no están disponibles a través de esta API. Una clave de solo lectura tampoco opera en esta cuenta.
El secreto se muestra una sola vez
Guarde la clave y el secreto en variables de entorno o en un gestor de secretos, no en el código ni en repositorios públicos.
Revocación en un segundo
En el terminal web o en la app, en el mismo bloque «Bot API keys», pulse «Revoke»: todas las solicitudes con esa clave recibirán al instante el error 401.
Preguntas frecuentes
¿El bot opera con dinero real?
No. La API de BuyCrypt ejecuta las órdenes en su cuenta demo: precios de mercado, saldo en USDT demo. Las órdenes no se envían a ningún exchange, así que puede probar la estrategia sin riesgo.
¿Hay que reescribir el bot para BuyCrypt?
Normalmente no. Si el bot funciona con Binance USD-M Futures, cambie la dirección base por https://api.buycrypt.com y ponga la clave de BuyCrypt. Las rutas, la firma y el formato de las respuestas son los mismos. Compruebe que el bot no use el modo hedge ni la ruta /fapi/v2/ticker/price.
¿Dónde consigo la clave API?
En el terminal web o en la app de BuyCrypt: Perfil → Claves API → su cuenta demo → Bot API keys → Generate API key. Para MCP y asistentes de IA, use «Generate read-only key (for MCP)» en el terminal web: esa clave ve la cuenta, pero no opera. El secreto se muestra una sola vez; guárdelo de inmediato. Allí mismo puede revocar la clave.
¿Qué es MCP y para qué sirve?
MCP (Model Context Protocol) es un estándar abierto con el que los asistentes de IA se conectan a datos externos. Si conecta el servidor https://buycrypt.com/mcp, puede preguntar a Claude, ChatGPT o Cursor por los torneos, los líderes y el pasaporte del trader, y el asistente responderá con datos en vivo de BuyCrypt.
¿Hace falta registrarse para conectar MCP?
No. Los torneos, el rating, los pasaportes de traders y los precios están disponibles sin clave. La clave solo hace falta para las tres herramientas que leen su cuenta demo, y basta con una clave de solo lectura.
¿Puede un asistente de IA operar a través de MCP?
No. Las nueve herramientas del servidor solo leen datos: no se colocan ni cancelan órdenes, nadie entra en torneos y no se mueve dinero.
¿El desarrollador del bot recibirá mis claves de exchange?
No. Cuando conecta un bot de terceros, BuyCrypt abre para él una cuenta demo aparte y emite una clave solo para ella. Sus cuentas y claves reales de exchange no se pasan al bot. Más sobre la protección de datos en la página de «Seguridad».
Empiece con la cuenta demo
La cuenta de BuyCrypt es gratuita: cuenta demo para el bot, clave API en la app, torneos y un ranking donde se ve lo que vale la estrategia.