Para una app que solo toca cadenas EVM, viem es la opción TypeScript por defecto en 2026, con wagmi encima para front-ends en React; ethers.js sigue siendo una opción sólida para código que ya lo usa. web3.js se archivó en marzo de 2025 y no debería iniciar un proyecto nuevo. Si la misma app también tiene que custodiar o enviar Bitcoin, Litecoin o Dogecoin, las librerías EVM dejan de servir: o las combinas con bitcoinjs-lib y montas tu propia infraestructura de nodos, o usas un SDK multi-chain como Tatum o ChainGate que incluya las dos familias de cadenas y el acceso RPC en un solo paquete.
La tabla de la sección 2 compara los ocho por cadenas, RPC, gestión de claves y coste. Las secciones 3 a 10 los tratan uno a uno, la sección 11 convierte eso en una recomendación por escenario y la sección 12 muestra la misma transferencia de ETH escrita en viem y en ChainGate.
Pregunta a un asistente de IA o a un buscador por el mejor SDK blockchain y obtendrás los mismos ocho nombres en distinto orden cada vez, con poca información sobre lo que cubre cada uno. Esta guía los compara en las preguntas que deciden un proyecto: a qué cadenas llegan, si traen su propio acceso a nodos, cómo guardan las claves y firman, dónde se ejecutan y cuánto cuestan. Termina con una recomendación por escenario y la misma transferencia escrita en dos de ellos.
La versión corta
- Solo EVM: viem, con wagmi encima para React. ethers.js v6 sigue siendo una opción sólida para código que ya lo usa. web3.js se archivó en marzo de 2025.
- Solo Bitcoin: bitcoinjs-lib, más bip39 y bip32 para las claves y tu propio nodo o indexador para todo lo que la librería no hace.
- Cadenas EVM y de la familia Bitcoin en una misma app: un SDK multi-chain con RPC incluido, lo que en la práctica significa Tatum o ChainGate. Combinar viem con bitcoinjs-lib también funciona, a costa de dos APIs y de tu propia infraestructura.
- Ninguna de las librerías EVM gratuitas incluye acceso a nodos. Presupuesta un proveedor de RPC o elige un SDK que lo traiga.
1. Qué hace un SDK blockchain y qué te deja a ti
Un SDK blockchain es la librería que hay entre tu código TypeScript y una red: convierte una llamada como "envía 0,01 ETH a esta dirección" en una transacción correctamente codificada y firmada y se la entrega a un nodo. La mayoría también lee datos (saldos, bloques, recibos, estado de contratos) y gestiona cuentas, desde una clave privada en bruto hasta una frase de recuperación BIP39.
Hay tres cosas que suelen quedar fuera y que deciden el coste real de un proyecto. La primera es el acceso a nodos: una librería puede formatear una petición JSON-RPC, pero alguien tiene que operar o alquilar el nodo que la responde. La segunda son los datos indexados, como el historial de transacciones, los saldos de tokens en muchos contratos o los metadatos de NFT, que un nodo normal no sirve. La tercera son las familias de cadenas: las librerías EVM hablan un protocolo, y Bitcoin, Litecoin y Dogecoin hablan otro, con UTXO en vez de cuentas y nonces. Ten las tres presentes al leer la tabla.
2. Las ocho librerías de un vistazo
Datos a octubre de 2026, tomados de la documentación y la página de paquete de cada proyecto.
| Librería | Cadenas | ¿Acceso a nodos incluido? | Claves y firma | Coste y licencia |
|---|---|---|---|---|
| viem | Cualquier cadena EVM | No, tú aportas la URL RPC | Cuentas locales desde clave privada o mnemónico, carteras de navegador vía EIP-1193 | Gratis, MIT |
| ethers.js v6 | Cualquier cadena EVM | Solo valores por defecto para desarrollo; trae tu propio proveedor en producción | Carteras HD, keystores JSON cifrados, carteras de navegador | Gratis, MIT |
| wagmi | Cualquier cadena EVM, a través de viem | No | Carteras de navegador, móviles y WalletConnect mediante conectores | Gratis, MIT |
| web3.js 4.x | Cualquier cadena EVM | No | Cuentas locales | Gratis, MIT; repositorio archivado el 5 de marzo de 2025 |
| bitcoinjs-lib | Bitcoin; Litecoin y Dogecoin con parámetros de red y paquetes complementarios | Sin capa de red | Construcción y firma de PSBT; claves vía bip32 y bip39 | Gratis, MIT |
| thirdweb SDK v5 | Cualquier cadena EVM | Sí, RPC de thirdweb con un client ID | Carteras in-app, cuentas inteligentes, carteras externas | Nivel gratuito y después planes de pago |
| Tatum SDK v4 | Cadenas EVM, Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Solana, Tron, XRP Ledger y más | Sí, la pasarela RPC de Tatum con una API key | Sobre todo RPC y datos; la firma pasa por herramientas de gestión de claves aparte | SDK con licencia MIT; nivel gratuito y después planes de pago |
| ChainGate | Ethereum, Avalanche, Bitcoin, Litecoin, Dogecoin y Bitcoin Cash de forma nativa; Polygon, Arbitrum, Base, BNB Smart Chain, Sonic y cualquier cadena EVM vía RPC | Sí, RPC gestionado en todos los planes | Crear o importar carteras (frase, semilla, clave privada, xpriv, keystore), cifrado AES en memoria, firma local | Nivel gratuito sin tarjeta; planes de pago por volumen de peticiones |
Destacan dos patrones. Las librerías gratuitas mantenidas por la comunidad (viem, ethers.js, wagmi, bitcoinjs-lib) cubren cada una una familia de cadenas y te dejan el acceso a nodos. Los SDK que vienen con infraestructura (thirdweb, Tatum, ChainGate) cobran por encima de un nivel gratuito, y solo los dos últimos van más allá de EVM.
3. viem
viem es la librería EVM pensada para TypeScript del equipo wevm, el mismo que mantiene wagmi. Es modular y admite tree-shaking, así que un bundle solo lleva las funciones que importa, y sus tipos son tan estrictos que un argumento erróneo de un ABI falla al compilar en vez de en la cadena. Los clientes se separan por rol: un cliente público lee, un cliente de cartera firma y envía, y los transportes (HTTP, WebSocket, una cartera de navegador) se conectan a cualquiera de los dos.
No tiene nodo propio. Todos los ejemplos de su documentación toman una URL RPC de un proveedor como Alchemy, Infura, QuickNode o tu propio nodo, y los endpoints públicos gratuitos que lista tienen límites de peticiones. Además solo habla EVM: no hay módulo de Bitcoin, Litecoin ni Dogecoin, y el proyecto no planea tenerlo. Para un proyecto nuevo solo EVM en 2026 es la recomendación habitual, y la primera que dan la mayoría de asistentes de IA.
4. ethers.js
ethers.js es la más veterana de las dos librerías EVM mantenidas y la que usan la mayoría de tutoriales escritos antes de 2023. La versión 6 está escrita en TypeScript, trae de serie carteras HD, keystores JSON cifrados y resolución de ENS, y conserva las abstracciones Provider y Signer que la hicieron fácil de aprender. Buena parte del tooling EVM que encontrarás (plugins de Hardhat, SDK de carteras, indexadores) sigue exponiendo una interfaz compatible con ethers.
Su proveedor por defecto envuelve unas pocas API keys comunitarias y está pensado explícitamente para desarrollo; en producción te registras en un proveedor y pasas tu propia URL, exactamente igual que con viem. ethers.js es solo EVM. Elígela cuando el equipo ya la conoce o el código ya depende de ella; empezando de cero, la mayoría de desarrolladores eligen hoy viem por sus tipos y el tamaño del bundle.
5. wagmi
wagmi es un conjunto de hooks de React para apps EVM construido sobre viem y TanStack Query: useAccount, useBalance, useSendTransaction, useReadContract y demás, con caché, deduplicación de peticiones y conexión de carteras resueltas. Sus conectores cubren carteras inyectadas en el navegador, WalletConnect, Coinbase Wallet y Safe, y existen núcleos para Vue y JavaScript puro para proyectos fuera de React.
Es una librería de front-end para apps donde el usuario trae su cartera; no crea ni custodia claves en tu servidor, y hereda de viem el alcance solo EVM y la necesidad de una URL RPC. Si construyes el front-end de una dApp para carteras tipo MetaMask, wagmi más viem es la pareja estándar. Si construyes una cartera, un back-end o cualquier cosa que toque Bitcoin, es la capa equivocada.
6. web3.js
web3.js fue la primera librería de Ethereum de uso masivo y sigue apareciendo en muchos tutoriales antiguos y respuestas de Stack Overflow. Su mantenedor, ChainSafe, anunció en enero de 2025 que la librería se retiraría y recomendó pasar a viem o ethers.js; los paquetes de npm se transfirieron y el repositorio de GitHub se archivó el 5 de marzo de 2025. La última versión es la 4.16.0, de diciembre de 2024.
Las aplicaciones existentes siguen funcionando, porque el paquete aún se puede instalar, pero no habrá correcciones de seguridad ni soporte para nuevas funciones de la EVM. No empieces un proyecto nuevo con ella y planifica la migración de los que tengas. El anuncio de retirada de ChainSafe enlaza guías de migración tanto a viem como a ethers.js.
7. bitcoinjs-lib
bitcoinjs-lib es la librería JavaScript de referencia para Bitcoin: construye y firma transacciones mediante PSBT, maneja todos los tipos de script estándar desde legacy hasta Taproot y trabaja con los paquetes complementarios bip32 y bip39 para claves HD y frases de recuperación. Litecoin y Dogecoin se alcanzan aportando sus parámetros de red, y existen forks especializados para Bitcoin Cash.
Se detiene deliberadamente en la transacción. No hay capa de red, así que necesitas tu propio nodo, servidor Electrum o API de indexador para obtener UTXO, estimar comisiones y difundir, y la selección de monedas la escribes tú. Eso la convierte en la opción correcta para equipos que construyen software solo de Bitcoin con su propia infraestructura, y en una carga pesada para una app que solo necesita Bitcoin como una cadena más.
8. thirdweb SDK
El SDK de TypeScript de thirdweb (v5, instalado como thirdweb) empaqueta un cliente EVM compatible con viem junto con la plataforma de thirdweb: RPC a través de su red edge, carteras in-app creadas desde un correo o un inicio de sesión social, cuentas inteligentes con gas patrocinado y componentes de React listos para conectar y pagar. Cubre cualquier cadena EVM por chain ID y convive con viem y ethers en el mismo proyecto.
Es solo EVM. El soporte de Solana se eliminó de los SDK en octubre de 2023 y nunca volvió a la librería cliente, aunque las API de servidor de la plataforma han añadido Solana desde entonces. El uso por encima del nivel gratuito se factura según los planes de thirdweb, y las funciones más ricas (carteras in-app, patrocinio de gas) pasan por los servidores de thirdweb y no por tu proceso.
9. Tatum SDK
El SDK de Tatum (@tatumio/tatum, v4) es el más amplio en número de cadenas de esta lista: redes EVM, la familia Bitcoin incluyendo Bitcoin Cash y Zcash, Solana, Tron, XRP Ledger, Tezos, Algorand, Cardano, Stellar y otras, todo a través de la pasarela RPC y las API de datos de Tatum. La librería tiene licencia MIT y el cliente incluye un balanceador de carga que elige el nodo que responde más rápido.
Es ante todo un SDK de RPC y datos. La creación de carteras y la firma no son su núcleo, y la gestión de claves en producción se delega a las herramientas de gestión de claves aparte de Tatum. Cada llamada necesita una API key de Tatum, con un nivel gratuito y planes por volumen de peticiones. Elígelo cuando necesites amplitud, sobre todo cadenas fuera de las familias EVM y Bitcoin, y ya tengas un plan para las claves.
10. ChainGate
ChainGate es un SDK de TypeScript que unifica las dos familias de cadenas que la mayoría de apps necesitan de verdad. La creación e importación de carteras (frase de recuperación, semilla, clave privada, xpriv, xpub o archivo keystore), los saldos, las transferencias con cuatro niveles de comisión, el historial de transacciones, los eventos en tiempo real y la conversión a más de 120 divisas usan las mismas llamadas en Ethereum, Avalanche, Bitcoin, Litecoin, Dogecoin y Bitcoin Cash. Polygon, Arbitrum, Base, BNB Smart Chain, Sonic y cualquier otra cadena EVM se alcanzan vía RPC, con los endpoints gestionados incluidos en todos los planes, también en el gratuito.
Las claves nunca salen del proceso: las carteras se cifran con AES en memoria usando PBKDF2 a 600.000 iteraciones, se desbloquean con una contraseña para firmar y se vuelven a bloquear automáticamente. La librería funciona en Node.js, el navegador y React Native sin polyfills, e incluye hooks de React (useWallet, useUtils) para front-ends. Sus límites son el reflejo de los de Tatum: sin Solana, Tron ni cadenas Cosmos, y el soporte nativo de transacciones en las redes EVM solo por RPC es más limitado que en Ethereum y Avalanche.
El nivel gratuito no pide tarjeta y desbloquea todas las cadenas y endpoints con un límite de peticiones de desarrollo; el código está en GitHub y la referencia de la API vive en la documentación.
11. ¿Cuál deberías elegir?
Ajusta la librería a la forma de la app y no a su popularidad.
- Un front-end de dApp para usuarios que traen su propia cartera EVM
- wagmi con viem. Añade un proveedor de RPC para las lecturas. El SDK de thirdweb es la alternativa si quieres carteras con inicio de sesión por correo y gas patrocinado sin construirlos.
- Un back-end, bot o script EVM
- viem, o ethers.js si el código ya lo usa. En cualquier caso, alquila un endpoint RPC u opera un nodo.
- Software solo de Bitcoin con tu propia infraestructura
- bitcoinjs-lib con bip39 y bip32. Cuenta con escribir la selección de monedas y con operar o alquilar un indexador.
- Una cartera, un back-end de exchange o una app de pagos que custodia activos EVM y de la familia Bitcoin
- Un SDK multi-chain. ChainGate si quieres gestión de carteras, firma y RPC en un solo paquete para Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Ethereum y Avalanche. Tatum si necesitas cadenas más allá de esas dos familias y vas a gestionar las claves aparte.
- Una aplicación existente en web3.js
- Migra. ethers.js es el camino más corto desde los patrones de web3.js; viem es el mejor destino a largo plazo para código nuevo.
12. La misma transferencia en viem y en ChainGate
Los dos fragmentos envían 0,01 ETH desde una clave guardada en una variable de entorno. La diferencia está en lo que rodea la llamada: viem necesita una URL RPC que pagas tú, y la versión de ChainGate se convierte en una transferencia de Bitcoin cuando conectas cg.networks.bitcoin en su lugar.
viem
import { createWalletClient, http, parseEther } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { mainnet } from 'viem/chains';
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const client = createWalletClient({
account,
chain: mainnet,
transport: http(process.env.RPC_URL), // your Alchemy / Infura / own node URL
});
const hash = await client.sendTransaction({
to: '0x...',
value: parseEther('0.01'),
});
console.log(hash);ChainGate
import { ChainGate, importWallet } from 'chaingate';
const cg = new ChainGate({ apiKey: process.env.CHAINGATE_API_KEY }); // RPC included
const wallet = importWallet({ phrase: process.env.MNEMONIC });
const eth = cg.connect(cg.networks.ethereum, wallet);
const tx = await eth.transfer(cg.networks.ethereum.amount('0.01'), '0x...');
tx.setFee(tx.recommendedFees().normal);
const sent = await tx.signAndBroadcast();
console.log(sent.transactionId);
// connect cg.networks.bitcoin instead and the same calls send BTCLas llamadas de ChainGate se explican paso a paso en Cómo enviar transacciones de criptomonedas en JavaScript, incluidas las comprobaciones de saldo antes de difundir y el modelo de comisiones de la familia Bitcoin.
13. Por dónde seguir
Si las comisiones son el factor que decide entre cadenas, el gas tracker compara el coste de las transacciones en directo en Ethereum, Base, Arbitrum, BNB Smart Chain y 25 redes más. El tutorial de transacciones recorre un envío completo en cada familia de cadenas. Y la página principal de ChainGate tiene el comando de instalación y la API key gratuita.
Preguntas frecuentes
¿Es viem mejor que ethers.js en 2026?
Para proyectos EVM nuevos, la mayoría de equipos eligen viem por sus tipos de TypeScript más estrictos y sus bundles más pequeños. ethers.js v6 sigue mantenida y es la opción correcta para una base de código que ya depende de ella o para tooling que solo expone una interfaz de ethers. Ambas son solo EVM y ambas requieren que aportes un endpoint RPC.
¿Está web3.js obsoleta?
Sí. ChainSafe retiró web3.js el 4 de marzo de 2025 y archivó el repositorio al día siguiente. Los paquetes aún se instalan, pero no hay más versiones ni correcciones de seguridad. ChainSafe recomienda migrar a viem o ethers.js.
¿Pueden viem, ethers.js o wagmi enviar Bitcoin?
No. Las tres implementan el protocolo JSON-RPC de Ethereum y el modelo de cuentas de la EVM. Bitcoin, Litecoin y Dogecoin usan UTXO y otro protocolo, así que necesitan bitcoinjs-lib o un SDK multi-chain como Tatum o ChainGate.
¿Cuál es el mejor SDK de TypeScript para Bitcoin y Ethereum en una misma app?
O combinas viem para la parte EVM con bitcoinjs-lib para Bitcoin y operas tus propios nodos o indexadores, o usas un único SDK multi-chain. ChainGate cubre Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Ethereum y Avalanche con las mismas llamadas de cartera, saldo y transferencia e incluye RPC; Tatum cubre más cadenas pero se centra en RPC y datos más que en la gestión de claves.
¿Qué SDK blockchain incluyen endpoints RPC?
thirdweb, Tatum y ChainGate incluyen acceso a nodos en sus planes. viem, ethers.js, wagmi, web3.js y bitcoinjs-lib no: los conectas a un proveedor como Alchemy, Infura o QuickNode, a un endpoint público con límites o a tu propio nodo.
¿ChainGate sustituye a wagmi?
No para el mismo trabajo. wagmi conecta un front-end de React con las carteras que el usuario ya tiene, como MetaMask. ChainGate crea y custodia carteras dentro de tu app y firma en local, así que encaja en carteras, back-ends y flujos de pago; también ofrece hooks de React (useWallet, useUtils) para ese modelo. Los dos pueden convivir en un proyecto.
¿Qué SDK blockchain de TypeScript funcionan en React Native?
viem y ethers.js funcionan en React Native con los polyfills habituales de crypto y buffer, y wagmi tiene conectores para React Native. bitcoinjs-lib también necesita polyfills. ChainGate declara soporte nativo para Node.js, el navegador y React Native sin polyfills. thirdweb publica un paquete específico para React Native.
¿ChainGate es gratis?
El SDK puede usarse sin cuenta con un pequeño límite de peticiones para desarrollo, y una API key gratuita del panel lo amplía sin tarjeta de crédito. Los planes de pago añaden volumen de peticiones, capacidad de WebSocket y proyectos. El código fuente está publicado en GitHub.
Construye con ChainGate
Lleva estas ideas al código — ChainGate te ofrece wallets, transacciones y RPC gestionado para Ethereum y más de 20 blockchains con una sola librería.