seoincorporation
Legendary
Offline
Activity: 3584
Merit: 3287
|
 |
July 16, 2025, 02:14:23 AM |
|
Sniper bots en DEX (Solana, BSC, Base): búsqueda de tokens recién listados o preventas con alta volatilidad, entrada y salida rápidas.
Yo diría que esa es la mejor opción, y crear el bot no es complejo del todo: # Versión mejorada del sniper bot en Solana con: # Filtro de liquidez y volumen mínimos # Simulación de venta (honeypot check) # Solo tokens "vendibles" # Requiere: solana-py, requests # Instalación: pip install solana requests
from solana.rpc.api import Client from solana.keypair import Keypair from solana.rpc.types import TxOpts from solana.transaction import Transaction from solana.rpc.commitment import Confirmed from base64 import b64decode import requests import time
# === CONFIGURACIÓN === RPC_URL = "https://api.mainnet-beta.solana.com" WALLET_SECRET_KEY = [ 155,234,12,78,165,103,27,22,195,15,57,127,86,23,61,77, 201,103,234,124,72,14,9,33,88,254,12,9,87,164,23,112, 12,123,190,45,87,9,3,140,54,111,93,29,76,34,123,99, 250,87,34,12,9,234,198,77,13,65,43,122,87,11,99,2 ] BUY_AMOUNT_LAMPORTS = 1_000_000 # 0.001 SOL SLIPPAGE_BPS = 100 # 1% MIN_LIQUIDITY_USD = 5000 MIN_VOLUME_USD = 500
# === INICIALIZAR CONEXIÓN === client = Client(RPC_URL) keypair = Keypair.from_secret_key(bytes(WALLET_SECRET_KEY)) wallet = keypair.public_key print(f"✅ Wallet conectada: {wallet}")
# === DETECTAR TOKENS NUEVOS CON FILTROS === def get_filtered_solana_pairs(): url = "https://api.dexscreener.com/latest/dex/pairs/solana" try: res = requests.get(url) data = res.json() filtered = [] for pair in data['pairs']: liq = float(pair.get('liquidity', {}).get('usd', 0)) vol = float(pair.get('volume', {}).get('h24', 0)) if pair.get('newListing') and liq > MIN_LIQUIDITY_USD and vol > MIN_VOLUME_USD: filtered.append(pair) return filtered except Exception as e: print("Error al obtener tokens:", e) return []
# === SIMULADOR DE VENTA (Honeypot check) === def simulate_sell_via_jupiter(input_mint: str): url = "https://quote-api.jup.ag/v6/quote" params = { "inputMint": input_mint, "outputMint": "So11111111111111111111111111111111111111112", # SOL "amount": 1000000, "slippageBps": 300, } try: r = requests.get(url, params=params) data = r.json() out_amount = int(data.get("outAmount", 0)) return out_amount > 0 except: return False
# === COMPRAR CON JUPITER === def buy_token_via_jupiter(output_mint: str): url = "https://quote-api.jup.ag/v6/swap" params = { "inputMint": "So11111111111111111111111111111111111111112", "outputMint": output_mint, "amount": BUY_AMOUNT_LAMPORTS, "slippageBps": SLIPPAGE_BPS, "userPublicKey": str(wallet), } response = requests.get(url, params=params) if response.status_code != 200: print("❌ Error al obtener ruta de swap.") return tx_data = response.json() swap_tx = tx_data.get("swapTransaction") if not swap_tx: print("❌ Transacción no encontrada.") return
# Firmar y enviar la transacción decoded_tx = b64decode(swap_tx) tx = Transaction.deserialize(decoded_tx) tx.sign(keypair) tx_sig = client.send_transaction(tx, keypair, opts=TxOpts(skip_confirmation=False, preflight_commitment=Confirmed)) print(f"✅ Compra enviada: {tx_sig['result']}")
# === LOOP PRINCIPAL CON FILTROS Y HONEYPOT CHECK === def main_loop(): vistos = set() while True: tokens = get_filtered_solana_pairs() for token in tokens: mint = token['baseToken']['address'] if mint in vistos: continue vistos.add(mint) nombre = token['baseToken']['name'] print(f"🔍 Token potencial: {nombre} ({mint})") # Check honeypot if simulate_sell_via_jupiter(mint): print(f"✅ Honeypot check pasado, comprando {nombre}") buy_token_via_jupiter(mint) time.sleep(5) else: print(f"❌ {nombre} parece ser honeypot, saltando.") time.sleep(30)
# === EJECUTAR === main_loop()
Por lo que he leido, de las cuatro opciones que ofreces y con ese capital, esta es la que ofrece mejores rendimientos. Hablamos de entre un 5-30% al día.
|