Desarrolladores
Guías de la API
Compra y vende, ejecuta estrategias y lanza un token con la API de Ora.
Los ejemplos de esta página usan el cliente ora() de la página API de Ora.
Comprar y vender
Sección titulada «Comprar y vender»Una operación actúa sobre las wallets de uno de tus tokens. La operación de cada wallet es una transacción propia, espaciada de modo que nunca caigan dos en el mismo bloque.
1. Lee tus posiciones
Sección titulada «1. Lee tus posiciones»GET /engine/token/{address}/positions lista cada wallet con su saldo de tokens (unidades en bruto), su SOL y su PnL. Elige las wallets con las que actuar, o deja que Ora elija.
2. Vende
Sección titulada «2. Vende»POST /engine/token/{address}/position/sell
const sale = await ora('POST', `/engine/token/${mint}/position/sell`, { amountToken: '250000000000', // raw units, string; 250,000 tokens at 6 decimals distribution: 'split', // split | each | concentrate (default) slippage: 10, // percent, optional // walletAddresses: ['…'], // optional; default: every holding wallet of the final layer // maxDelay: 4000, // ms of jitter between wallets; must be > 0 with several named wallets});// sale.results → [{ walletAddress, status: 'submitted' | 'failed', signature?, error? }]// sale.summary → { requested, filled, shortfall } (raw token units, strings)split reparte la cantidad en proporción a los holdings de cada wallet, each toma la misma cantidad de cada wallet, concentrate usa el menor número posible de wallets, las más grandes. Si pides más de lo que tienes, se vende lo que hay y el resto se indica como shortfall.
3. Compra
Sección titulada «3. Compra»POST /engine/token/{address}/position/buy
const buy = await ora('POST', `/engine/token/${mint}/position/buy`, { amountSol: 0.5, // total to spend, in SOL (the chain's gas asset) distribution: 'each', slippage: 10,});// buy.summary is in lamports: { requested, filled, shortfall }Ambas aceptan priorityFee y bribeFee (en SOL) para sustituir las comisiones por defecto. Para una salida total de emergencia, POST /engine/token/{address}/position/nuke vende todo de una vez.
Estrategias
Sección titulada «Estrategias»Las estrategias operan por ti mientras tu script está desconectado. Una venta limit se dispara cuando el market cap del token alcanza un objetivo:
POST /engine/strategies/limit-sells
await ora('POST', '/engine/strategies/limit-sells', { mint, strategies: [{ triggerMarketCapUsd: 250000, sellTokens: '100000000000', // raw token units to sell when it fires wallets: [walletA, walletB], // which of the token's wallets sell durationSeconds: 86400, // optional expiry; omit to keep it until it fires }],});La misma estructura existe para las ventas mirror (/engine/strategies/mirror-sells, que venden a medida que otras wallets compran) y las ventas TWAP (/engine/strategies/twap-sells, repartidas en el tiempo). Cada estrategia se puede listar, editar con PATCH, activar, desactivar y eliminar; GET /engine/strategies?mint=… lista todas las estrategias de un token. La página Estrategias explica cómo se comporta cada tipo.
Estrategias de compra
Sección titulada «Estrategias de compra»Todas las estrategias funcionan también en el otro sentido: son los Mirror Buy, TWAP Buy y Limit Buy de la app. Pasa side: 'buy' al crear una y comprará el token con el activo emparejado de las propias wallets: SOL o ETH, o el token emparejado del lanzamiento si tiene uno. El lado se fija al crearla y no se puede cambiar. Sin él, la estrategia vende.
await ora('POST', '/engine/strategies/limit-sells', { mint, strategies: [{ side: 'buy', triggerMarketCapUsd: 80000, // buys once the market cap drops to this sellTokens: '500000000', // quote to spend, in base units (here 0.5 SOL) wallets: [walletA], }],});Los campos conservan sus nombres, pero en una compra todas las cantidades van en unidades base del activo emparejado:
| Estrategia | Qué hace side: 'buy' |
|---|---|
| Mirror | Responde con compras a las ventas de otras wallets. sellTokens es el presupuesto en activo emparejado, tokensPerSellMin el mínimo de activo emparejado por compra. |
| TWAP | Gasta targetTokens de activo emparejado a lo largo de la duración. |
| Limit | Se dispara cuando el market cap baja hasta triggerMarketCapUsd y gasta sellTokens de activo emparejado. |
Cada estrategia que lees lleva side y executedAmount: los tokens vendidos, o el activo emparejado gastado, hasta el momento. Una estrategia activa reserva lo que aún puede gastar. GET /engine/token/{address}/positions lo indica por wallet como lockedTokens (ventas) y lockedQuote (compras), y una compra o una venta manual solo gasta el resto.
Lanzar un token
Sección titulada «Lanzar un token»Un lanzamiento es la misma secuencia de llamadas que hace el formulario de despliegue de la app:
POST /upload/{protocol}: sube el nombre, el símbolo, la imagen y los enlaces. Devuelve el ID de la información del token.POST /engine/deploy/plan: obtén una distribución de wallets y la estimación completa del costo para tu configuración.POST /engine/prepare: crea el token y sus wallets a partir del plan. Devuelve el mint.POST /engine/fund: devuelve las transacciones de financiación que firma tu wallet (consulta Transacciones que firmas tú). Envíalas y luego llama aPOST /engine/fund/confirm.POST /engine/launchcon{ "mint": "…" }. El lanzamiento se ejecuta del lado de Ora.GET /engine/tokens/{mint}/stream: síguelo en tiempo real.
El cuerpo de prepare lleva todas las opciones del formulario de despliegue (launchpad, activo emparejado, capas, ajustes específicos del launchpad), así que es largo. La forma más fácil de acertar es configurar primero un lanzamiento en la app y reproducirlo. Pide al soporte de Ora el esquema actual de cualquier ruta.