Chord
Intercambia quotes + transacciones sin firmar en 7 cadenas EVM, tableros de tokens, velas, PnL de billetera, dinero inteligente. Sin clave.
Servidor MCP alojado
npx add-mcp 'https://api.getchord.xyz/v1/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Chord
API de trading sin custodia y agente de IA. Una sola llamada de cotización encuentra la mejor ruta entre los DEX de ocho cadenas EVM (Ethereum, Monad, Robinhood Chain, Arc, Avalanche, Base, BNB Chain y Arbitrum One), y un solo contrato de router la ejecuta en una única transacción. En Solana, Chord cotiza swaps a través de su propio router de Solana y Jupiter, y devuelve una transacción sin firmar para la billetera del usuario. Además del trading, Chord mantiene un índice en vivo de swaps, tenedores, posiciones de LP y PnL de billeteras en las nueve cadenas, que las aplicaciones y agentes de IA pueden consultar.
- App (Ask, agente de trading con IA + billetera): https://getchord.xyz/ask
- Documentación y referencia de API: https://getchord.xyz/docs
- API: https://api.getchord.xyz/v1 (lo que sirve cada cadena: https://api.getchord.xyz/v1/chains)
- Estado, medido cada minuto desde Cloudflare: https://getchord.xyz/status
- Servidor MCP alojado:
https://api.getchord.xyz/v1/mcp
Chord comenzó como NullTerminal, un agregador de DEX en Monad. Los nombres de contratos y paquetes que comienzan con Null provienen
de ese período; los contratos Chord* en contracts/src/chord/ son las versiones actuales del mismo código.
Úsalo desde un agente de IA
El servidor MCP alojado no requiere clave ni instalación (HTTP Streamable). ?chain=<key> fija una cadena predeterminada.
claude mcp add --transport http chord https://api.getchord.xyz/v1/mcp
gemini extensions install https://github.com/getchordlabs/chord # Gemini CLI, reads gemini-extension.json
17 herramientas, cada una con un chain: chord_chains, chord_status, chord_overview, chord_tokens, chord_search,
chord_token, chord_trades, chord_candles, chord_wallet, chord_wallet_trades, chord_smart_money,
chord_holders, chord_lp_pools, chord_lp_positions, chord_quote, chord_swap_tx y chord_ask. Nada firma
ni envía: chord_swap_tx devuelve una transacción sin firmar, la aprobación que necesita y una simulación ejecutada como el tomador.
Listado en el Registro MCP oficial como io.github.getchordlabs/chord (server.json en este repositorio) y en
Smithery como tuantqse90/chord. Otras formas de acceso: la API REST con su
especificación OpenAPI (openapi/), la Skill de Agente (skills/chord/), el MCP de Documentación en https://getchord.xyz/docs/mcp y el
manifiesto de llamada a funciones en https://api.getchord.xyz/v1/mcp/tools.json.
Cadenas
| Cadena | ID de cadena | Swaps (cotización + transacción sin firmar) | Datos |
|---|---|---|---|
| Ethereum | 1 | sí | tokens, operaciones, velas, PnL de billetera |
| Monad | 143 | sí | tokens, operaciones, velas, PnL de billetera, dinero inteligente, LP |
| Robinhood Chain | 4663 | sí | tokens, operaciones, velas, PnL de billetera, dinero inteligente, tenedores, LP |
| Arc | 5042 | sí | tokens, operaciones, velas, PnL de billetera, dinero inteligente, tenedores, LP |
| Avalanche C-Chain | 43114 | sí | tokens, operaciones, velas, PnL de billetera |
| Base | 8453 | sí | tokens, operaciones, velas, PnL de billetera |
| BNB Chain | 56 | sí | tokens, operaciones, velas, PnL de billetera |
| Arbitrum One | 42161 | sí | tokens, operaciones, velas, PnL de billetera |
| Solana | ninguna | sí, a través de /v1/sol/trade/* (aún no en las herramientas MCP) | tokens, operaciones, velas, PnL de billetera, traders inteligentes, LP |
GET /v1/chains responde la misma tabla con la ruta detrás de cada capacidad (los swaps de Solana viven bajo
/v1/sol/trade/*, fuera de esa tabla).
Qué hay en este repositorio
| Carpeta | Contenido |
|---|---|
contracts/ | Proyecto Foundry: ChordRouter (UUPS), AdapterRegistry, FeeCollector, un adaptador por familia de venues (Uniswap V2/V3/V4, Algebra y Algebra Integral, Solidly, Liquidity Book, PancakeSwap Infinity, Metric, WOOFi, DODO V2, depósito ERC-4626, Curve, Balancer y más), RhStockZap / RhTokenZap para compras entre cadenas en Robinhood Chain, SwapAndBridgeCCTP, scripts de despliegue y pruebas de fork por cadena |
agent/ | chord-agent: un puente stdio hacia el servidor MCP alojado para clientes que solo hablan stdio, y el manifiesto de llamada a funciones (tools.json) |
skills/chord/ | Skill de Agente para Claude Code, Codex y otros agentes: SKILL.md, referencias con salida de API en vivo, cliente chord.py |
docs-mcp/ | Servidor MCP de Documentación (stdio, y alojado en https://getchord.xyz/docs/mcp) |
openapi/ | Especificación OpenAPI de la API pública (openapi.json) y el script que la construye |
sdk/ | El SDK original de TypeScript del período de Monad |
El motor de enrutamiento (Rust) y el servidor de API (TypeScript) no están en este repositorio. Se ejecutan detrás de
api.getchord.xyz.
Contratos
Los tres proxies están en las mismas direcciones en las ocho cadenas EVM (nonces de despliegue alineados):
| Contrato | Dirección |
|---|---|
| ChordRouter (proxy UUPS) | 0x1b1fee89a381e595fe6536b99ba91f3e16e9601a |
| AdapterRegistry (proxy UUPS) | 0x6cf25d2af1a58d7094b0ac253ae616a8e1f2ea3f |
| FeeCollector (proxy UUPS) | 0x6c66229675fd9ceda9a9b2ea2bd983b3d8255834 |
Cada adaptador fija el router como inmutable y revierte NotRouter para cualquier otro llamador. El router solo llama a
adaptadores que el registro aprueba. Las tarifas se establecen en cadena por FeeCollector.feeBpsFor(outputToken): 5 bps por defecto en
cada cadena, 0 bps para stablecoins, principales y las acciones tokenizadas listadas en Robinhood Chain.
Robinhood Chain (ID de cadena 4663)
| Contrato | Dirección |
|---|---|
| Implementación de ChordRouter (actualizada 2026-10-02) | 0x209e38890533469337488588cB9e4A44943EE8FE |
| Adaptador Uniswap V4 | 0x3622116c527896Ab9C1510A45f3344AaBD03973a |
| Adaptador V3 any-fork (Uniswap V3, Ramses y otros forks de V3) | 0x3A7D13a420c8FBC29Bf4A1feDB22A5Dae3A8913E |
| Adaptador V2 | 0xC4b930D9E5d20cc8b4C67f2118FE0cD8E6e36b72 |
| Adaptador Algebra | 0x63bd5402aCC3129c9b38c7d52f327b82f24B497D |
| RhStockZap | 0x66627Ce32af8801525930B7C2a1Db4905193bb51 |
Actualización del router en Robinhood Chain: tx 0x9111f311319d778d2b53cce16fe7d471a15e61b8e00bdd08de074a5bcc571aa3.
Arbitrum One (ID de cadena 42161, desplegado 2026-10-14)
| Contrato | Dirección |
|---|---|
| Implementación de ChordRouter | 0x1cd8CeED960dE0c9787295c8F1BF278D4A36698c |
| ChordV3Adapter (Uniswap V3, PancakeSwap V3, SushiSwap V3) | 0xd55fe37e30435cF15fe2C7fcAAF1aBf19d13b195 |
| ChordV2Adapter (Uniswap V2, SushiSwap V2) | 0xa61C202C4c989a1724E1B432C96A9f064856574d |
| ChordV4Adapter | 0xFE82b7714c36083AB518067f03680C59ac57840a |
| ChordMetricV1Adapter | 0x4e48D8bEDB4A781493e6193776FDa37e57Ce07b1 |
| ChordAlgebraIntegralAdapter (Camelot V3) | 0x3D26860E5d5ddE28FDcd11e14573CE7b103fA081 |
| ChordWooFiAdapter | 0xfdC2e11793197B9D16Ae1eDBa8049dcc9Fc15748 |
| ChordDodoV2Adapter | 0x3E46e23C171aAC3124D85BbCa33A2C0422342fA4 |
Todos verificados en Sourcify. Cada venue se intercambió en ambos sentidos en mainnet a través del router antes de que el motor lo enrutara.
Ethereum (ID de cadena 1, desplegado 2026-10-15)
Mismas direcciones que en Arbitrum One para la implementación del router y los tres adaptadores principales:
| Contrato | Dirección |
|---|---|
| Implementación de ChordRouter | 0x1cd8CeED960dE0c9787295c8F1BF278D4A36698c |
| ChordV3Adapter (Uniswap V3, PancakeSwap V3, SushiSwap V3) | 0xd55fe37e30435cF15fe2C7fcAAF1aBf19d13b195 |
| ChordV2Adapter (Uniswap V2, SushiSwap V2) | 0xa61C202C4c989a1724E1B432C96A9f064856574d |
| ChordV4Adapter | 0xFE82b7714c36083AB518067f03680C59ac57840a |
Los 9 contratos del stack coinciden en Sourcify; cada venue se intercambió en ambos sentidos en mainnet antes de hacerse público.
Compilar y probar
git submodule update --init --recursive
cd contracts
forge build
forge test --no-match-contract 'ForkTest$'
Desde el buildathon (5 al 15 de octubre de 2026)
- Arbitrum One: stack Chord alineado, script de despliegue y prueba de fork (
edd957a), swaps y el lado de Ask (c28203c), público el 15 de octubre (ca79736). - Ethereum: stack Chord alineado, script de despliegue y prueba de fork (
79233bc), swaps y el lado de Ask (8a46f39), tokens que requierenapprove(0)primero, como USDT (69a06af), público el 15 de octubre (38b466e). - Nuevos venues: Metric v1 en Monad y Avalanche (
80daf2c,23bfe8c), depósito ERC-4626 en Monad, que acuña aprMON, shMON y gMON a la tasa de la bóveda cuando los pools cotizan por debajo de ella (a41a703), WOOFi (83283af), Camelot V3 a través del adaptador Algebra Integral (454091c), DODO V2 en Avalanche y Arbitrum (1975d08), LFJ Liquidity Book v2.1 (147f862), y dos fábricas de liquidez concentrada en Arc a través de ChordV3Adapter r3 (95e65be). - Agentes: el agente stdio se convirtió en un puente hacia el servidor MCP alojado (
02f7201), operaciones de billetera en cada cadena (5256c20), datos de Solana, traders inteligentes y rutas de LP en la especificación OpenAPI y la skill (710b14d,74957c2,d13d3ef), una página de documentación por red (0306a08). - Swaps en Solana: el router propio de Solana de Chord y Jupiter en la documentación pública y la skill (
ee2d912), abierto a todos el 15 de octubre (41b3fdc).
Trabajo realizado durante el Buildathon de Arbitrum Open House Singapore (13 de septiembre al 4 de octubre de 2026)
Chord existía antes del buildathon. Este repositorio se extrajo de nuestro monorepo con su historial de commits real
para estas carpetas, por lo que cada commit con fecha 2026-09-13 o posterior se realizó durante o después del buildathon
(git log --since=2026-09-13). Destacados:
- ChordRouter: implementaciones con nombre Chord del router, registro y recolector de tarifas (
08dcb96), y un script que actualiza solo el proxy del router, utilizado en Robinhood Chain, Monad y Arc el 2 de octubre (dfb5386). - Compras entre cadenas en Robinhood Chain: RhTokenZap, un zap de destino genérico a través del router, y
SwapAndBridgeCCTP, swap más quema de Circle CCTP en una sola llamada (
9814cba). - Nuevos adaptadores: UniV2TaxSafeAdapter, con precio basado en lo que el par realmente recibió (
0dc387b); Uniswap V4 con USDC nativo en Arc (0cc5ff3); ChordSolidlyAdapter (3775c10,f9a6fae); ChordLBPairAdapter (b3136f1); ChordAlgebraIntegralAdapter (b20d1de); ChordInfinityCLAdapter (95db92d). - Superficies de agente: Skill de Agente (
014875e), MCP de Documentación (54ffb71), herramientas de agente para Arc, LP y el meta-agregador (98cd499,d751aeb,ad9f222), especificación OpenAPI mantenida en línea con la API (3c4ea54,5130d2a). - Billetera Ask en Robinhood Chain (principalmente en la API cerrada y la aplicación web, parcialmente aquí): USDC en Arbitrum se convierte
a USDG en Robinhood Chain con una sola firma (
609f37a), Convert explícito y billetera multicadena (f2b4244).
Licencia
MIT, ver LICENSE. Cubre todo en este repositorio: contratos, agente, skill, MCP de Documentación, especificación OpenAPI
y SDK. Los submódulos en contracts/lib/ mantienen sus propias licencias (OpenZeppelin MIT, forge-std MIT o Apache-2.0).
Las fuentes verificadas en cadena antes del 2026-10-15 aún leen SPDX-License-Identifier: UNLICENSED; el código es el mismo y
es MIT desde esa fecha.