Todos los artículos

Simplificando las transacciones cross-chain con intents

·
18 sept 2025
·
7 min de lectura
·
••• visitas
·
••• me gusta

Traducido del artículo original en inglés. Leer en inglés

Simplificando las transacciones cross-chain con intents

Sigamos este escenario: estás intentando cambiar 1,000 USDC en Ethereum por algo de SOL en Solana. Con los bridges tradicionales, tendrías que hacer wrap de tus USDC, encontrar un bridge (rezando para que no lo hackeen), esperar 20 minutos o más para la finalidad, pagar comisiones ridículas y luego hacer unwrap del otro lado. Para cuando terminas, el precio ya se movió, te has quemado $50 en gas y estás cuestionando tus decisiones de vida, ¡Rayos!

¿Y si te dijera que hay una forma mejor? ¿Y si pudieras simplemente decir quiero 100 SOL por mis 1000 USDC y dejar que la blockchain resuelva el resto? Eso es exactamente lo que hacen los intents. Te permiten declarar exactamente lo que quieres en lugar de pasar por todo el lío de conseguirlo.

¿Qué son los intents?

Piensa en los intents como la diferencia entre decirle a alguien "maneja hasta el supermercado, gira a la izquierda en ilford high road, estaciona en el lugar 11 y camina hasta el pasillo 5..." y simplemente decirle "tráeme leche". El resultado es básicamente el mismo, pero un enfoque es declarativo "(exactamente lo que quieres) mientras que el otro es imperativo (instrucciones paso a paso).

En términos técnicos, los intents son mensajes firmados que expresan el resultado que desea un usuario sin especificar los detalles de ejecución. En lugar de armar tú mismo secuencias de transacciones complejas, transmites tu intent a una red de solvers (actores sofisticados) que luego compiten para cumplir tu solicitud.

Así se ve un intent de ejemplo:

 {
  "user": "alice.near",
  "intent_type": "token_swap",
  "give": {
    "token": "usdc.near",
    "amount": "1000000000"
  },
  "receive": {
    "token": "sol.near", 
    "min_amount": "100000000000"
  },
  "deadline": 1735689600,
  "signature": "0x..."
}

Bastante simple, ¿verdad? A Alice de verdad no le importa la complejidad del enrutamiento, solo quiere sus SOL a cambio de sus USDC y eso es todo.

Por qué existen los intents: el problema cross-chain

Los protocolos DeFi cross-chain son bastante complejos para el usuario normal. Necesita entender distintos protocolos, manejar varios tokens de gas y moverse entre un montón de riesgos de seguridad. Las soluciones tradicionales suelen implicar:

  1. Flujos de trabajo complejos de varios pasos entre distintas cadenas
  2. Vulnerabilidades de seguridad por el wrapping y el bridging de activos
  3. Una mala experiencia para el usuario común, que exige conocimientos técnicos profundos
  4. Liquidez fragmentada y precios poco óptimos

Los intents le dan la vuelta a este modelo. En lugar de empujar la complejidad hacia los usuarios, el sistema la absorbe en una red competitiva de solvers. Los usuarios expresan lo que desean, los solvers resuelven la ejecución, todos ganan 🔥.

¿Qué son los solvers y cómo funcionan?

En este contexto, los solvers son la columna vertebral de los sistemas basados en intents. Son actores especializados, pueden ser market makers, agentes de IA o traders sofisticados - que compiten para cumplir los intents de los usuarios dentro del sistema.

Así es como funciona: cuando transmites un intent, varios solvers lo analizan y envían cotizaciones que compiten entre sí. Pueden enrutar a través de distintos DEXs, usar liquidez off-chain o incluso agrupar tu intent con otros para conseguir mejores precios. Gana la mejor solución.

Ahora, piensa en los solvers como tus asistentes personales de trading que entienden cada protocolo conectado, cada fuente de liquidez y cada truco de optimización en DeFi. Ganan dinero ofreciendo una mejor ejecución de la que podrías lograr tú mismo y te ahorran muchísimo tiempo.

Intents tradicionales

Las arquitecturas basadas en intents no son un concepto totalmente nuevo. UniswapX fue pionero del concepto en Ethereum, procesando más de $2B en volumen mediante Dutch auctions donde los "fillers" compiten para cumplir las solicitudes de swap.

CoW Protocol lo amplió con batch auctions y protección contra MEV, acumulando más de $15B en volumen de trading. ¿Su idea clave? Al agrupar intents y encontrar coincidencias de deseos, podían eliminar el MEV y a la vez mejorar la ejecución.

Pero estos sistemas son soluciones de una sola cadena. UniswapX funciona genial para trades dentro del ecosistema ETH, pero ¿cross-chain? Vuelves al infierno de la complejidad, ¡bienvenido de nuevo!

Cómo lo resolvió NEAR Protocol

NEAR Protocol construyó el primer sistema de intents realmente cross-chain. Los números hablan por sí solos: más de $1.075B en volumen total, finalidad de 2 a 3 segundos y soporte nativo de Bitcoin sin wrapping.

¿Cómo lo lograron? Chain Signatures. Mediante computación multipartita (MPC), los validadores de NEAR pueden firmar colectivamente transacciones en blockchains externas sin que ninguna parte tenga por sí sola las claves privadas. Es como tener un control remoto universal para todo el ecosistema cripto.

Creando un intent

import { createIntent, signIntent } from '@defuse-protocol/intents-sdk';
 
const intent = createIntent({
  from: 'alice.near',
  give: { token: 'usdc.near', amount: '1000000000' },
  receive: { token: 'sol.near', minAmount: '100000000000' },
  expiry: Date.now() + 300000
});
 
const signedIntent = await signIntent(intent, wallet);
await broadcastIntent(signedIntent);

Diagrama de flujo que muestra Creación del intent → Competencia entre solvers → Pipeline de liquidación con tres fases y actores diferenciados

Diagrama de flujo que muestra Creación del intent → Competencia entre solvers → Pipeline de liquidación
Diagrama de flujo que muestra Creación del intent → Competencia entre solvers → Pipeline de liquidación

El diseño de tres capas

La lógica central de verificación:

fn execute_token_diff_intents(intents: &[TokenDiff]) -> Result<(), Error> {
    let mut net_changes: HashMap<TokenId, i128> = HashMap::new();
    
    for intent in intents {
        *net_changes.entry(intent.token_in).or_default() -= intent.amount_in;
        *net_changes.entry(intent.token_out).or_default() += intent.amount_out;
    }
    
    for (_, net_change) in net_changes.iter() {
        if *net_change != 0 {
            return Err("Non-zero sum transaction".into());
        }
    }
    Ok(())
}

Este amigo garantiza el equilibrio perfecto, por cada token que sale, entra una cantidad equivalente entre todos los intents agrupados.

Diagrama que muestra la pila de tres capas con el flujo de datos entre Distribución, Redes de solvers y el Verifier, incluyendo componentes específicos como 1Click API, MPC Network y Chain Signatures

Diagrama que muestra la pila de tres capas con el flujo de datos
Diagrama que muestra la pila de tres capas con el flujo de datos

Hablemos de la 1Click API

Parte del secreto para que esto funcione a escala es la 1Click API, este amigo abstrae toda la complejidad de punta a punta. Los desarrolladores pueden crear intents cross-chain sin pensar en MPC, Chain Signatures ni solver routing. Se encarga de obtener cotizaciones de varios solvers, selecciona la mejor ruta entre DEXs y bridges, vigila la ejecución, gestiona los reintentos e incluso se ocupa de la optimización del gas y de los tiempos, todo en una sola llamada a la api, y todo lo demás se resuelve por debajo.

Construyendo con la 1Click API

Así se ve:

import { IntentsSDK } from '@near-intents/sdk';
 
const sdk = new IntentsSDK({
  network: 'mainnet',
  apiKey: process.env.NEAR_INTENTS_API_KEY
});
 
async function createSwapIntent(fromToken, toToken, amount) {
    const quote = await sdk.getQuote({
      tokenIn: fromToken,
      tokenOut: toToken,
      amountIn: amount,
    slippage: 0.005
    });
    
    const intent = await sdk.createIntent({
    tokenIn: { address: fromToken, amount },
      tokenOut: { address: toToken, minAmount: quote.amountOut },
    deadline: Date.now() + 300000
    });
    
    // watch the execution
  sdk.watchIntent(intent.id)
    .on('executed', (result) => console.log(`Done! TX: ${result.hash}`))
    .on('failed', (error) => console.error(`Failed: ${error.reason}`));
}

Lee más al respecto aquí.

Echando un vistazo a Defuse Protocol

Defuse muestra justamente cómo construir interfaces DEX de producción con intents. En lugar de gestionar una lógica de enrutamiento compleja, obtienes:

import { DefuseKit } from '@defuse-protocol/intents-sdk';
 
const defuse = new DefuseKit({ network: 'mainnet' });
 
const quotes = await defuse.requestQuotes({
  tokenIn: 'ethereum:0x...', 
  tokenOut: 'solana:native',
  amountIn: amount
});
 
const bestQuote = quotes.reduce((best, current) => 
  BigInt(current.amountOut) > BigInt(best.amountOut) ? current : best
);
        
const result = await defuse.executeIntent(bestQuote);

Esto te da:

El cliente se encarga de toda la complejidad, los usuarios solo ven el mejor precio y la ejecución más rápida, y siguen con lo suyo.

Echando un vistazo a Paycrest

Paycrest conecta los intents de blockchain con los sistemas de pago tradicionales. Así es como funciona:

  1. Creación del intent: El usuario dice "paga esta factura con cualquier token"
  2. Descubrimiento de rutas: El sistema encuentra la ruta de conversión crypto-to-fiat óptima
  3. Ejecución: Cambia automáticamente el crypto a un activo estable y luego a un pago en fiat
func (a *Aggregator) ProcessPaymentIntent(intent *PaymentIntent) error {
    routes := a.findPaymentRoutes(intent)
    bestRoute := a.selectOptimalRoute(routes)
    
    switch bestRoute.Type {
    case "crypto_to_fiat":
        return a.executeCrossSystemPayment(intent, bestRoute)
    case "direct_crypto":
        return a.executeCryptoPayment(intent, bestRoute)
    }
}

El principal reto está en los pagos entre sistemas que conectan cripto y fiat. Paycrest lo resuelve en varias etapas:

Por qué esto escala

  1. Competencia entre solvers: Un mercado competitivo de solvers garantiza una ejecución eficiente on-chain. A medida que aumenta el número de solvers en la red, la competencia reduce los costos y mejora la velocidad de ejecución para los usuarios. Este mercado abierto también fomenta el soporte de una mayor variedad de activos y permite integrar solvers avanzados, como agentes de IA, capaces de operaciones algorítmicas complejas.

  2. Efectos de red del batching: Un mayor volumen de intents de usuarios permite que un verifier agrupe varias operaciones en una sola transacción on-chain optimizada, lo que reparte poco a poco los costos fijos (como las comisiones de gas) entre muchos usuarios, y eso se traduce en comisiones más bajas y una mayor eficiencia de capital para todos en la red.

  3. Paralelización multi-chain: Los intents se pueden paralelizar y ejecutar en varias blockchains, lo que mejora de forma significativa el modelo de procesamiento secuencial de muchos bridges tradicionales. Un trade complejo con activos en Ethereum, Solana y Bitcoin se puede liquidar de forma concurrente, reduciendo el tiempo total y la latencia de las transacciones cross-chain.

Simplificando el enrutamiento complejo

Estos mecanismos abstraen la complejidad operativa subyacente para que el usuario no la vea. El siguiente snippet muestra cómo un usuario puede especificar en una sola solicitud una transacción cross-chain con varios saltos y optimizada en gas:

const response = await fetch('https://api.near-intents.org/v1/quote', {
  method: 'POST',
  body: JSON.stringify({
    tokenIn: 'usdc.near',
    tokenOut: 'bitcoin:native',
    routing: {
      maxHops: 3,
      excludeProtocols: ['slow_bridge'],
      preferredSolvers: ['defuse', 'paycrest'],
      gasOptimization: true
    }
  })
});

La API se encarga automáticamente de la optimización, los tiempos y la recuperación ante fallos.

Reflexiones finales

NEAR no es el único que está haciendo esto. UniswapX domina el trading en Ethereum, CoW Protocol destaca en protección contra MEV, 1inch Fusion ofrece agregación de DEX.

Enlaces esenciales

•••
Comparte este artículo:

Mantente al día

Recibe los últimos artículos en tu bandeja de entrada.