Buenas. Vamos al grano. Cada vez que metes un BUY или SELL en spot o en futuros, el exchange te mete la mano en la cartera. Da igual si eres maker o taker, te va a tocar pagar comisiones (fees) sí или sí. Lo gracioso es que el 90% de los retail con manos de lechuga ni se enteran de cuánta pasta se les va en comisiones de trading. Pero si eres un scalper activo o tienes un bot algorítmico corriendo, al mes se te junta una cantidad con la que podrías pagarte un servidor dedicado brutal. O dos. Pásate por esta calculadora de comisiones y echa cuentas de todo lo que estás palmando.
Ayer mismo estuve revisando los logs de uno de mis bots de market making. Miré el fee acumulado y... en fin. Total, que hoy vamos a hablar de los rebates: cómo hacer que te devuelvan hasta el 40-50% de esas comisiones directamente a tu balance. Cashback puro y duro. Sin movidas ni trampa ni cartón; solo necesitas configurar bien tu cuenta y un par de líneas de código.
Qué es un rebate y de dónde sale esa pasta
Los CEX viven del volumen. Necesitan liquidez como el comer. Para que operes en su plataforma y no en la de la competencia, están dispuestos a repartir una parte de lo que ganan. Un rebate es, básicamente, la devolución de una parte de las comisiones que ya has pagado.
Aunque bueno, frena un momento... Vamos a separar los conceptos para no mezclar churras con merinas. Hay dos formas de recuperar ese dinero que no tienen nada que ver entre sí:
- Cashback por afiliación (Referidos). La opción fácil para los vagos. Te registras con el enlace adecuado (por ejemplo, el de un partner de primer nivel o vinculando una subcuenta), y el exchange te ingresa cada hora o una vez al día un porcentaje de tus propios fees de vuelta en tu billetera de spot.
- Tarifas negativas del exchange (Rebate VIP/B2B). Esto ya es juego para profesionales. Cuando dejas una orden límite (maker) en el libro y alguien la ejecuta, el exchange no solo no te cobra comisión, sino que TE PAGA a ti un porcentaje del volumen de la operación. Tu fee se vuelve negativo.
Hace un tiempo te habría dicho que esto solo estaba al alcance de fondos de inversión que mueven millones al día. Pero estamos en 2026, la competencia entre exchanges es una auténtica carnicería y hoy en día conseguir el estatus de VIP-1 o una tarifa especial es mucho más fácil. A veces basta con presentar un extracto de volumen de otro exchange y te dan el mismo nivel VIP del tirón gracias a los programas de Fast Track.
La matriz del ahorro: Spot vs Futuros
Vamos a hacer números rápidos de forma sencilla. Son cifras promedio del mercado (calculadas sobre un CEX típico de Tier-1 o Tier-2), pero reflejan la realidad a la perfección.
| Tipo de orden / Nivel | Fee base (Maker / Taker) | Descuento por token nativo (BNB/KCS/OKB) | Kickback de referidos (Ref-back) | Pérdida/ganancia neta por cada $100k de volumen |
|---|---|---|---|---|
| Retail promedio (Mano blanda) | 0.1% / 0.1% | 0% | 0% | menos $100 |
| Avanzado (con tokens) | 0.075% / 0.075% | Desactivado (paga en fiat/stable) | 0% | menos $75 |
| Espabilado (Tokens + Ref-back) | 0.06% / 0.06% | Activado (25% off) | 20% | menos $45 |
| VIP Maker (Algorítmico) | -0.005% / 0.03% | Según el caso | 30% (vía subcuenta) | MÁS $5 (en volumen maker) |
¿Ves la diferencia? Moviendo el mismo volumen de cien mil pavos, uno le regala un billete de cien al exchange y el otro se lleva cinco limpios al bolsillo. Ahora multiplica esto por el apalancamiento y la frecuencia de operaciones que se maneja en futuros. Ahí el volumen se genera de la nada y escala a millones volando.
Ajustes de tu cuenta que te has pasado por el forro
Parece que las interfaces de los exchanges estén diseñadas por psicópatas para despistar al personal. Las pestañas y los botones que de verdad importan suelen estar tan escondidos en el fondo del perfil que no los encuentras ni de coña si no vas a tiro hecho.
Botón #1: Pagar comisiones con tokens nativos
Esto es primero de cripto. BNB en Binance, HTX en Huobi, OKB en OKX. Si estás operando en Binance y no tienes ni una pizca de BNB en el balance, o tienes desactivada la opción de "Usar BNB para pagar comisiones" en tu perfil, le estás financiando directamente el próximo yate a CZ. Activar esto te reduce el fee un 25% en spot y un 10% en futuros de inmediato.
¿O me lo parece a mí? Dejadme en los comentarios si todavía queda algún iluminado que piensa que holdear el shitcoin del exchange para tener descuento es un riesgo de mercado enorme. Riesgo real es estar ganando pasta y regalarle un cuarto de tus ganancias al CEX en cada transacción.
Botón #2: Estructura correcta de subcuentas (Sub-accounts)
Si manejas un volumen decente, deja de operar desde la cuenta principal. Hazlo desde una subcuenta. ¿Por qué? Porque algunos exchanges te dejan vincular subcuentas a diferentes códigos de referidos o configurar comisiones personalizadas a través de la API. Puedes montarte el código de referido para ti mismo (si el exchange prohíbe el self-referral y se pone tonto con las IPs, usa los datos de un colega, de tu novia o de tu perro) y rascar el máximo cashback posible.
Automatizando el proceso: Script para comprobar tus fees reales
La mayoría de los traders miran el saldo final y se piensan que todo va bien. Lo suyo es que saques los logs por API y calcules el fee neto. Vamos a picar un script sencillo en Python usando la librería ccxt. Se conecta a los endpoints privados del exchange, calcula lo que has pagado de verdad en las últimas operaciones y te saca la tasa efectiva.
import ccxt
import time
# Conectamos al exchange. Usamos Bybit de ejemplo porque su API es bastante decente.
exchange = ccxt.bybit({
'apiKey': 'YOUR_API_KEY',
'secret': 'YOUR_SECRET_KEY',
'enableRateLimit': True,
})
def analyze_my_fees(symbol='BTC/USDT', limit=50):
try:
# Sacamos los últimos trades ejecutados para el par
print(f"[+] Descargando los últimos {limit} trades de {symbol}...")
trades = exchange.fetch_my_trades(symbol, since=None, limit=limit)
total_volume = 0.0
total_fee = 0.0
for trade in trades:
# Calculamos volumen del trade: precio * cantidad
price = trade['price']
amount = trade['amount']
volume = price * amount
total_volume += volume
# Extraemos la info del fee
# A veces el exchange devuelve el fee en monedas raras (USDT, BTC, BNB...)
if 'fee' in trade and trade['fee'] is not None:
fee_cost = trade['fee']['cost']
fee_currency = trade['fee']['currency']
# Parche rápido: asumimos que todo viene en USDT para no liar el script.
# Si usas BNB, habría que meter un conversor con el precio actual. Qué pereza a estas horas.
total_fee += fee_cost
if total_volume == 0:
print("[-] No hay trades que analizar. Deja de ver los toros desde la barrera.")
return
effective_fee_rate = (total_fee / total_volume) * 100
print("\n=== REPORTE DE TU CARTERA ===")
print(f"Volumen total movido: {total_volume:.2f} USDT")
print(f"Comisión retenida (Fee): {total_fee:.4f} USDT")
print(f"Tasa de fee efectiva: {effective_fee_rate:.4f}%")
if effective_fee_rate > 0.06:
print("⚠️ ¡TE ESTÁN TRASQUILANDO! Cambia los ajustes de la cuenta ya o búscate un servicio de rebate.")
else:
print("✅ Todo en orden. Se puede operar. Parece que los descuentos funcionan.")
except Exception as e:
print(f"[!] Error cazado: {e}")
if __name__ == "__main__":
# Probado y corriendo. Funciona.
analyze_my_fees('BTC/USDT', 20)
Letra pequeña y trampas ocultas de los rebates
¿Te creías que todo iba a ser un camino de rosas? Qué va. Los exchanges son casinos y juegan con ventaja.
Primero: Las cláusulas ocultas del ref-back. Típica jugada: te registras prometiéndote un 40% de devolución. Operas un mes, luego otro... y cuando miras las estadísticas, te están devolviendo un 10% con suerte. Vas a quejarte a soporte y te saltan con un: "Ah, es que en los términos pone en letra pequeña que si abres órdenes dentro del spread o usas subcuentas con API, la tasa disminuye".
Segundo: Órdenes por API y el flag Post-Only. Si estás programando un bot y quieres asegurar el rebate como maker, tu orden TIENE que enviarse obligatoriamente con el flag Post-Only (en ccxt esto se pasa en los parámetros tal que así: params={'timeInForce': 'PostOnly'}). Si te olvidas de esto, en cuanto haya un pico de volatilidad y el mercado se mueva rápido, tu orden límite se puede ejecutar a mercado contra el límite de otro usuario. Te convertirás en taker de golpe. Y en vez de cobrar el rebate, pagarás el fee más alto de la plataforma. Por palmar un milisegundo en el timing... acabas palmando pasta.
Vamos a seguir tirando de este hilo hasta que queden al descubierto todos los trapos sucios de las CEX.
Trampa Oculta #3: Tipos de cambio cruzados y el impuesto fantasma del spread
Cuando te prometen, por ejemplo, un 30% de rebate en futuros, tu cabeza calcula automáticamente: "Vale, si opero y acumulo 100 USDT en comisiones, me devuelven 30 USDT a la cuenta". Suena lógico, ¿verdad? Totalmente. ¡Pero ni de coña! La plataforma suele pagarte ese rebate en su token nativo o en la moneda de margen del contrato. Y aquí viene la jugada sucia: calculan el tipo de cambio justo en el momento ANTES DEL CRÉDITO.
- Metes un trade en el perpétuo de ETH.
- La comisión se te descuenta en USDT.
- El rebate te lo ingresan en BNB o en puntos internos del exchange.
- En mitad de ese swap forzado, el exchange te la cuela colándote un spread interno de entre el 1% y el 2%.
Al final, tu flamante 30% se queda en un mísero 27.5%. ¿Una minucia? Para cuentas pequeñas, quizás. Pero si mueves un volumen mensual de varias decenas de "kilos" de billetes verdes, esa "minucia" acumulada te cuesta lo mismo que un buen cochazo importado de gama alta alemán.
Hack para espabilados: La jugada del VIP Sharing (VIP Fast Track)
Esto es algo que poquísima gente aprovecha en el ecosistema cripto, a pesar de ser una oportunidad cantada. Digamos que tradeas fuerte en Bybit y ya tienes un estatus respetable, no sé, un VIP-2 o VIP-3. Ahí las comisiones ya son un caramelo. Pero de repente listan un nuevo shitcoin en OKX o Gate, y te entra el gusanillo de meterle un scalp rápido. ¿Vas a entrar ahí con una cuenta a cero, operando como un simple "retail promedio" y pagando una burrada del 0.1% de comisión? Ni de coña, hombre.
Casi todas las CEX grandes tienen un servicio bajo cuerda (que no van pregonando por ahí): el VIP Match. Te pones en contacto con su soporte o le tiras un DM directo a su gestor de cuentas (sales manager / BD) por Telegram. Le pasas una captura de tu dashboard de Bybit donde se vea claro tu UID y tu volumen de los últimos 30 días. Y le dices clarito: "Quiero mover mi volumen con vosotros, dadme el nivel VIP equivalente ya mismo o no abro una sola orden aquí".
En el 95% de los casos, te sueltan al instante un Welcome VIP-level provisional de 30 a 60 días. Sin pedirte que deposites millones de dólares desde el minuto uno. Entras a la nueva plataforma por la puerta grande, con las comisiones más bajas y los rebates más altos.
Cómo se ve esto en el código: Capturando el status correcto de la orden (Post-Only)
Volvamos a los bots. Ya os he dado bastante la brasa con la importancia del flag Post-Only. Si haces market making o vas a la caza de rebates con órdenes límite, te va la vida en saber, en cuestión de milisegundos, si tu orden se ejecutó como maker o como taker. Si entraste a mercado (market order), acabas de quemar pasta en comisiones. Si te quedaste plantado en el order book y te rellenaron, el rebate va para tu saca.
Aquí tienes un boilerplate en Python usando el asíncrono ccxt.pro, que monitoriza en tiempo real el stream privado de tus trades vía WebSockets para validar si estás rascando profit de las comisiones o si te están desplumando.
import asyncio
import ccxt.pro as ccxtpro
# Picado de madrugada, lleno de parches temporales, pero tira como un reloj suizo.
async def watch_my_trades_and_fees():
# Tiramos de OKX, sus WebSockets vuelan
exchange = ccxtpro.okx({
'apiKey': 'YOUR_API_KEY',
'secret': 'YOUR_SECRET_KEY',
'password': 'YOUR_API_PASSWORD', # OKX tiene la pijada de pedir passphrase
'enableRateLimit': True,
})
symbol = 'BTC/USDT:USDT' # Futuro perpetuo
print(f"[+] Conectando al WebSocket stream para {symbol}...")
try:
while True:
# Escuchando el canal privado de trades del usuario
trades = await exchange.watch_my_trades(symbol)
for trade in trades:
trade_id = trade.get('id', 'N/A')
side = trade.get('side', 'unknown')
price = trade.get('price', 0)
amount = trade.get('amount', 0)
# Lo crucial: extraer si la orden fue maker o taker
# Los exchanges lo devuelven en el campo 'takerOrMaker'
role = trade.get('takerOrMaker', 'unknown')
fee_info = trade.get('fee', {})
fee_cost = fee_info.get('cost', 0) if fee_info else 0
fee_curr = fee_info.get('currency', '') if fee_info else ''
print(f"\n[!] ¡Trade {trade_id} ejecutado!")
print(f" Dirección: {side.upper()} | Rol: {role.upper()}")
print(f" Precio: {price} | Volumen: {amount}")
if role == 'maker':
# Si el coste de la fee es negativo, ¡la CEX nos está pagando!
if fee_cost < 0:
print(f" 💰 ¡REBATE CAPTURADO! Profit rascado de comisiones: {abs(fee_cost)} {fee_curr}")
else:
print(f" 😐 Ejecutada como maker, pero solo aplica descuento: {fee_cost} {fee_curr}")
elif role == 'taker':
print(f" 🚨 ¡ALERTA TAKER! Agrediste el book y pagaste comisión: {fee_cost} {fee_curr}")
print(" Revisa la lógica de entrada del bot. Te estás comiendo un slippage fino.")
except Exception as e:
print(f"[-] El bot ha petado, saca el botiquín: {e}")
finally:
await exchange.close()
if __name__ == "__main__":
# Arrancamos el loop asíncrono. Sin esto no rula.
asyncio.run(watch_my_trades_and_fees())
Checklist: Cómo configurar tu cuenta antes de meter el primer trade
Resumen rápido y sin rodeos. Si vas a abrir una cuenta nueva o quieres darle una vuelta a la vieja, este es tu plan de acción:
- Auditoría del Ref-Link: Si tu cuenta es antigua y está "limpia" (registrada sin código de afiliado), llora un poco al soporte exigiendo que te vinculen manualmente a un partner que ofrezca cashback real. Algunos exchanges (como HTX o Gate) tragan con este ajuste retroactivo durante los primeros días tras el registro. Si se ponen flamencos y pasan, no te compliques: hazle el KYC a tu colega o a alguien de tu familia y monta una cuenta limpia desde cero. Viendo los números a la larga, el engorro vale totalmente la pena.
- Cargar combustible: Compra una cantidad mínima del token nativo del exchange (BNB, OKB, etc.) enfocada exclusivamente a mitigar las comisiones. No te olvides de activar la casilla de "Pagar comisiones con el token nativo" en los ajustes de tu perfil.
- Estrategia de Subcuentas: Separa a rajatabla tu operativa de spot, tus bots de futuros y tus trades manuales en subcuentas distintas. Así te ahorras dolores de cabeza para trackear el PnL neto y auditar los rebates que van cayendo.
- Testeo de API: Pon a rodar mi script de arriba en cuanto lleves tus primeros 10 o 20 trades. Comprueba cuál está siendo tu tasa de comisión real efectiva. Si el coste está por encima del ratio estipulado en tu nivel VIP, te la están jugando en alguna parte: o tu código está agrediendo el libro de órdenes constantemente sin darte cuenta (entrando como taker), o el exchange pasa de aplicarte los descuentos acordados.
Y con esto, cerramos el chiringuito por hoy. Ya tienes toda la trastienda de los rebates expuesta ante tus ojos. Usa la cabeza, echa números de tus costes reales de ejecución y deja de regalarle a las CEX un dinero que, por derecho propio, debería estar engordando el margen de tu cuenta. Si hay dudas, las vemos abajo en los comentarios. ¡Venga, un saludo!