FibX
Ejecución DeFi en Base, Citrea, HyperEVM y Monad mediante agregación de Fibrous: cotizaciones de swap, swaps, transferencias, cartera entre cadenas y Aave V3.
Documentación
FibX
Una herramienta de línea de comandos y servidor MCP para operaciones DeFi en Base, HyperEVM y Monad, impulsada por la agregación de Fibrous. Firme con su propia billetera a través de WalletConnect, con una billetera de servidor Privy, o con una clave importada — cada camino limitado por una política de firma que vive en su máquina.
Características
- Soporte Multi-Cadena: Base, HyperEVM y Monad
- Portafolio: Vista de portafolio entre cadenas con valoraciones en USD y posiciones DeFi
- Intercambio de Tokens: Enrutamiento óptimo mediante agregación de Fibrous con deslizamiento automático
- Transferencias: Envíe ETH o cualquier token ERC-20
- Aave V3: Provea, pida prestado, pague, retire y explore mercados en Base
- Servidor MCP: Integración integrada de agentes de IA para Cursor, Claude Desktop y Antigravity (19 herramientas)
- La aplicación FibX, en el chat: en hosts que renderizan la interfaz de MCP Apps como Claude Desktop,
open_fibxmuestra la billetera, saldos, política de firma y un formulario de intercambio con la ruta de Fibrous en línea — el modelo lo abre, y usted presiona Simular e Intercambiar - Habilidades de Agente: Habilidades de IA basadas en prompts mediante fibx-skills
- Su propia billetera: Vincule a través de WalletConnect y apruebe cada transacción en su teléfono
- Billeteras de Servidor Privy: Firma del lado del servidor — el CLI recibe cargas útiles de transacciones firmadas o firmas, no credenciales de la aplicación Privy ni claves sin procesar
- Importación de Clave Privada: Use una billetera existente con almacenamiento local cifrado AES-256-GCM
- Política de firma local: Un archivo que usted posee — límite de valor nativo por cadena, cadenas permitidas, destinos permitidos, expiración — aplicado antes de cada firma en los tres caminos (Privy añade su propia política del lado del servidor encima)
- Verificaciones Previas: Los flujos de transacciones validan o estiman la ejecución donde el RPC subyacente lo soporta
- Modo de Prueba:
--simulateprevisualiza operaciones de escritura sin transmitir; las estimaciones de gas se incluyen cuando están disponibles - Salida JSON: Bandera
--jsonpara scripts y pipelines - Instalación de Cero Dependencias: Paquete de un solo archivo mediante tsup —
npx fibxse ejecuta casi instantáneamente
Cadenas Soportadas
| Cadena | Token Nativo | Aave V3 |
|---|---|---|
| Base | ETH | ✅ |
| HyperEVM | HYPE | — |
| Monad | MON | — |
Instalación
Ejecute directamente con npx (sin necesidad de instalar):
npx fibx status
O instale globalmente:
npm install -g fibx
Requisitos
- Node.js >= 18
- Una instancia de fibx-server en ejecución (requerida para operaciones de billetera Privy; no necesaria para importaciones de clave privada)
Inicio Rápido — Primer Intercambio en 3 Minutos
Paso 1: Obtenga una Cotización de Precio (sin autenticación)
Pruebe FibX al instante — sin registro, sin billetera, sin claves:
npx fibx quote 0.01 ETH USDC # Check price on Base
npx fibx quote 100 USDC DAI --chain base # Compare pairs
npx fibx quote 0.5 MON USDC --chain monad # Check Monad prices
Paso 2: Autentíquese (elija una)
Opción A — Inicio de Sesión con Correo (Billetera de Servidor Privy, sin claves que gestionar):
npx fibx auth login you@email.com # Sends OTP to your email
npx fibx auth verify you@email.com 123456 # Verify & create wallet
Opción B — Importar Clave Privada (use una billetera existente):
npx fibx auth import # Paste your key (encrypted at rest)
Paso 3: Ejecute
npx fibx trade 0.01 ETH USDC # Execute the swap
npx fibx balance # Check your balances
Eso es todo. Tres pasos de cero a su primer intercambio.
Uso
Cómo elige FibX firmar
Ejecute fibx auth setup y preguntará. Los tres caminos difieren en una cosa:
| Camino | Clave en manos de | Se ejecuta mientras usted está ausente | Limitado por |
|---|---|---|---|
auth connect | su propia billetera | no | usted, en su teléfono |
auth login | Privy | sí | la política de firma de Privy |
auth import | esta máquina | sí | la política local que usted establece |
Mantener su propia billetera y tener a FibX actuando sin supervisión requiere ERC-7715, que las billeteras aún no exponen a través de WalletConnect. fibx auth setup explica las opciones más cercanas.
Seguridad: Al usar
auth import, su clave privada está cifrada en reposo con AES-256-GCM. La clave de cifrado se genera automáticamente por máquina y se almacena en el directorio de configuración del sistema operativo (por ejemplo,~/.config/fibx-nodejs/encryption-keyen Linux). También puede establecer la variable de entornoFIBX_SESSION_SECRETpara entornos CI/Docker.
Conecte su propia billetera
npx fibx auth connect
Vincula FibX con una billetera que ya tenga — MetaMask, Rabby, Rainbow, Phantom — a través de WalletConnect. Aparece un código QR en la terminal; escanéelo con su teléfono. Cada transacción se aprueba entonces en su billetera, por lo que las claves nunca la abandonan.
La cadena en la que opera debe estar ya en su billetera, y se aprueba cuando se vincula. Si intenta firmar en una cadena que la sesión no lleva, FibX se detiene antes de contactar la billetera y nombra la cadena: agréguela en su billetera, luego ejecute npx fibx auth connect de nuevo para que la nueva cadena se incluya.
Con --json, la salida es NDJSON — un documento JSON por línea, no un documento para toda la ejecución: la URI de vinculación se imprime primero como {"uri":"wc:..."} para que un script pueda actuar sobre ella mientras espera, luego el resultado se imprime como su propia línea JSON compacta una vez que la billetera aprueba.
npx fibx auth logout termina la conexión en ambos lados: le dice a su billetera que elimine la sesión, por lo que FibX deja de aparecer en su lista de aplicaciones conectadas, y elimina las claves de vinculación del disco junto con la sesión.
Un ID de proyecto compartido de WalletConnect se incluye en el paquete publicado, por lo que esto funciona sin configuración. Es público por necesidad — un CLI no tiene origen para incluir en la lista blanca — por lo que su única exposición real es la cuota consumida por terceros. Si la vinculación comienza a fallar por cuota, cree un proyecto gratuito en cloud.reown.com y establezca FIBX_WC_PROJECT_ID a su propio ID.
auth login (OTP por correo) y auth import (clave privada) no cambian y permanecen disponibles.
Política de firma
fibx policy limita lo que FibX puede firmar, además de cualquier camino de la tabla anterior que tenga la clave — un límite del lado del cliente evaluado antes de cada transacción de clave local, Privy o WalletConnect:
npx fibx policy show # Print the active policy
npx fibx policy set base.maxValue 0.05
npx fibx policy set allowedChains base,monad
npx fibx policy set base.allowedDestinations 0xYourColdWallet,0xTheRouter
npx fibx policy set expiry 2026-12-31 # UTC midnight starting that day
npx fibx policy clear base.maxValue # Remove one rule
npx fibx policy clear # Remove the whole policy (asks first)
Una política local que protege una clave local es de carácter consultivo: cualquier cosa que pueda leer la clave puede editar la política, por lo que esto no vale nada contra malware. Lo que sí limita es al agente — un modelo que se comporta mal, o una inyección de prompt que le indique hacerlo.
Sepa qué limita cada regla, porque no son lo mismo:
maxValuelimita el valor nativo de una sola transacción — ETH en Base, HYPE en HyperEVM, MON en Monad. No limita tokens. Una transferencia ERC-20 llega a la política como una llamada al contrato del token que llevavalue: 0, por lo que el monto es invisible para ella:base.maxValue 0.05no impone límite enfibx send 50000 USDC 0xsomewhere, en el lado del token de un intercambio, ni en un préstamo de Aave. Un límite de valor de token necesita decimales y un registro de tokens, y no está en esta versión.allowedDestinationses la regla que limita tokens, al limitar a dónde puede ir cualquier cosa. Es la que debe establecer si la preocupación es un agente moviendo sus tenencias a algún lugar. Tenga en cuenta que incluir en la lista blanca el contrato de un token para que un intercambio pueda aprobarlo también permite transferencias de ese token.allowedChainsyexpiryhacen exactamente lo que dicen. Una política vencida o no analizable rechaza todo en lugar de permitirlo.
Opciones Globales
| Opción | Descripción | Predeterminado |
|---|---|---|
-c, --chain <name> | Cadena objetivo (base, hyperevm, monad) | base |
--json | Resultados de salida como JSON | false |
Saldo
npx fibx balance
npx fibx balance --chain hyperevm
Portafolio
Vista consolidada de portafolio entre cadenas con valoraciones en USD:
npx fibx portfolio # Table output across all chains
npx fibx portfolio --json # Structured JSON for scripting
Muestra todas las tenencias de tokens en Base, HyperEVM y Monad con valores en USD. Incluye posiciones DeFi (colateral/deuda de Aave V3) y valor neto total del portafolio. Los precios de tokens se obtienen en vivo de Fibrous.
Enviar
npx fibx send 0.001 0xRecipient # Send native token on Base (ETH)
npx fibx send 10 0xRecipient USDC # Send ERC-20 on Base
npx fibx send 1 0xRecipient --chain monad # Send MON on Monad
npx fibx send 0.1 0xRecipient --simulate # Preview without sending
Cotización
Obtenga precios de intercambio sin autenticación:
npx fibx quote 0.01 ETH USDC # Price check on Base
npx fibx quote 1 MON USDC --chain monad # Check Monad prices
npx fibx quote 0.1 ETH USDC --json # JSON output for scripts
No se requiere billetera ni autenticación. Use
quotepara explorar precios, luegotradepara ejecutar.
Intercambio
npx fibx trade <amount> <from> <to>
npx fibx trade 0.0001 ETH USDC
npx fibx trade 20 USDC DAI
npx fibx trade 1 MON USDC --chain monad
npx fibx trade 0.1 ETH USDC --simulate # Preview without broadcasting
Opciones: --slippage <n> (predeterminado: 0.5%), --approve-max, --simulate, --json
Nota: El comando
tradedetecta automáticamente operaciones de Envolver (Nativo -> Envuelto) y Desenvolver (Envuelto -> Nativo) y las ejecuta directamente mediante llamadas a contratos, omitiendo el enrutamiento del agregador para ahorrar gas.
Estado de Transacción
npx fibx tx-status <hash>
npx fibx tx-status 0x123...abc --chain monad
Información de Billetera
npx fibx address # Print active wallet address
npx fibx wallets # Show active wallet details
Aave V3 (Base)
npx fibx aave status # Account health
npx fibx aave markets # List all active reserves with APY & TVL
npx fibx aave supply 1 ETH # Auto-wraps ETH -> WETH and supplies
npx fibx aave supply 100 USDC # Supply ERC-20
npx fibx aave borrow 50 USDC # Borrow
npx fibx aave repay 50 USDC # Repay
npx fibx aave repay max ETH # Auto-wraps ETH and repays full WETH debt
npx fibx aave withdraw max ETH # Withdraws WETH and auto-unwraps to ETH
npx fibx aave supply 1 ETH --simulate # Preview without broadcasting
Nota:
supply,repayywithdrawsoportan el envolvimiento/desenvolvimiento automático de ETH <-> WETH en Base.
Configuración
Establezca URLs RPC personalizadas para evitar límites de velocidad en endpoints públicos:
npx fibx config set-rpc base https://mainnet.base.org
npx fibx config get-rpc base
npx fibx config reset-rpc base # Reset single chain to default
npx fibx config reset-rpc # Reset all chains to default
npx fibx config list
Recarga en caliente: Los cambios de configuración se detectan automáticamente — no es necesario reiniciar el CLI o el servidor MCP.
Integración de Agente de IA
Servidor MCP
fibx incluye un MCP integrado para editores de IA como Cursor, Claude Desktop y Antigravity. Consulte MCP.md para la configuración y las herramientas disponibles.
npx fibx mcp-start
El servidor MCP expone 19 herramientas: la aplicación FibX (open_fibx, list_tokens), consultas de solo lectura, tres herramientas transaccionales y gestión de sesiones y políticas. Todas las operaciones de escritura soportan una vista previa simulate=true que no transmite; las estimaciones de gas se devuelven solo cuando están disponibles.
En un host que renderiza la interfaz de MCP Apps — Claude Desktop hoy — open_fibx es el punto de entrada: pregunte sobre su billetera, un saldo, un precio o un intercambio y toda la aplicación se abre en línea, prellenada desde la conversación. No ejecuta nada por sí sola; Simular e Intercambiar son botones que usted presiona. En un host solo de texto, la misma llamada devuelve una instantánea JSON que el modelo puede resumir, y las herramientas sin interfaz hacen el resto.
Habilidades de Agente
Para integración de agentes basada en prompts (Claude Code, Cursor, etc.), consulte el repositorio fibx-skills.
Seguridad
Permitir que un agente de IA opere una billetera requiere controles fuera del modelo. fibx combina políticas de capa de firma, validación del lado del servidor, sugerencias del cliente y vistas previas explícitas. Estos controles reducen el riesgo, pero las credenciales del servidor, la configuración del cliente MCP y la política de implementación siguen siendo parte del límite de confianza:
| Capa | Qué hace |
|---|---|
| Política de firma de Privy | La política predeterminada permite cadenas configuradas, limita el token nativo de cada transacción a value, y deniega la exportación de claves. Privy evalúa la política al momento de firmar; las credenciales de fibx-server y cualquier política personalizada siguen siendo límites críticos de confianza. |
| Esquemas de fibx-server | /sign/* acepta únicamente la forma exacta de transacción que produce la CLI — los campos desconocidos, la creación de contratos y las cadenas no atendidas se rechazan antes de llegar a Privy. |
| Anotaciones de herramientas MCP | Cada herramienta transaccional anuncia destructiveHint: true; los clientes compatibles pueden usar esa pista para solicitar confirmación, dependiendo del comportamiento y la configuración del cliente. |
| Simulación | --simulate previsualiza operaciones de escritura sin transmitirlas. Algunas rutas también devuelven una estimación de gas; otras devuelven solo metadatos de operación. |
| Almacenamiento local de claves | Las claves privadas importadas se cifran en reposo con AES-256-GCM usando una clave por máquina almacenada 0600 en el directorio de configuración del sistema operativo. |
Los límites de la política de billetera se configuran por implementación — consulta la documentación de políticas de billetera de fibx-server.
Nota: las políticas se adjuntan cuando se crea una billetera. Las billeteras aprovisionadas antes de que se introdujeran las políticas siguen firmando sin ellas hasta que se migren.
Arquitectura
Este repositorio es la CLI y el servidor MCP. Tres repositorios hermanos completan el stack:
| Repositorio | Rol |
|---|---|
| fibx (este repositorio) | CLI + servidor MCP stdio, distribuido como un único paquete sin dependencias |
| fibx-server | Backend de Hono que actúa como proxy de Privy — guarda el secreto de la aplicación para que la CLI nunca lo tenga, y posee la política de firma de billetera |
| fibx-skills | Habilidades de agente basadas en prompts para Claude Code, Cursor y otros agentes compatibles con habilidades |
| fibx-telegram-bot | Bot de Telegram que impulsa esta CLI a través de MCP, con un proceso y rutas de configuración separadas por usuario activo |
src/
├── commands/ # CLI commands (auth, policy, trade, send, aave, config)
├── mcp/ # Modular MCP server
│ ├── server.ts # Entry point + MCP_INSTRUCTIONS
│ ├── ui.ts # The ui://fibx/app.html resource (the built widget, inlined)
│ ├── tools/ # Tool registrations (app, auth, wallet, trade, defi, policy)
│ └── handlers/ # Tool implementations
├── services/ # Business logic (chain, fibrous, auth, policy, walletconnect, defi, portfolio)
└── lib/ # Shared utilities (errors, fetch, format, crypto)
ui/
├── src/ # The FibX app widget — Preact, one document, no network
└── dev-host/ # A local MCP Apps host for the widget: fixtures, or a bridge to the real server
El widget se compila con Vite en un único documento HTML y se incrusta en
dist/index.js mediante tsup, por lo que el paquete publicado sigue siendo un solo archivo sin
dependencias en tiempo de ejecución.
Desarrollo
pnpm install
pnpm dev # run the CLI from source
pnpm test # vitest unit tests
pnpm typecheck # tsc --noEmit
pnpm lint # eslint
pnpm format:check # prettier
pnpm build # vite (the app widget) then tsup, to dist/
pnpm dev:ui # the app widget in a local host, against fixtures — no wallet needed
pnpm dev:ui:bridge ejecuta el mismo host contra el servidor MCP real; un Swap
allí es un swap real.
Enlaces relacionados
- Fibrous Finance — agregador de DEX que impulsa los swaps
- Documentación del agente FibX
- Paquete npm
- Listado en el registro MCP —
finance.fibrous/fibx