Conversor de decimales de tokens

Los contratos almacenan los saldos de tokens como enteros. Elige los decimales del token (6 para USDT y USDC, 8 para WBTC, 18 para la mayoría de ERC-20) y convierte entre el valor bruto y el importe que mostraría una billetera.

Se convierte en tu navegador con JavaScript. Las direcciones nunca se suben ni se almacenan.

¿Qué es un conversor de decimales de tokens?

Un conversor de decimales de tokens traduce entre el entero bruto que almacena un contrato de token y el importe legible que muestra una billetera, usando el valor decimals del token: importe = bruto ÷ 10decimales. Los contratos ERC-20 y TRC-20 lo exponen mediante decimals(); un mint SPL lo guarda en la cuenta mint. USDT y USDC usan 6, WBTC 8, y los tokens tipo ETH 18.

Decimales de tokens habituales

TokenDecimales1 token como entero bruto
USDT (Ethereum, Tron, Solana, Polygon, Arbitrum)61,000,000
USDC (todas las cadenas principales)61,000,000
USDT en BNB Smart Chain (Binance-Peg)181,000,000,000,000,000,000
WBTC, cbBTC8100,000,000
ETH, WETH, DAI, LINK, UNI, AAVE181,000,000,000,000,000,000
SOL y la mayoría de tokens SPL91,000,000,000
GUSD2100

Cómo funciona la conversión

legible = bruto ÷ 10decimales y bruto = legible × 10decimales. La trampa está en la precisión: los valores de 18 decimales superan lo que puede representar un número de coma flotante, así que esta página usa enteros de precisión arbitraria. Introducir más decimales de los que admite el token se rechaza, porque la cadena no puede representar ese importe.

Ejemplo práctico

Un evento Transfer de ERC-20 muestra value = 2500000. Si el token es USDC (6 decimales), son 2.5 USDC. Si el mismo número viniera de una transferencia de DAI (18 decimales), serían 0.0000000000025 DAI, una cantidad de polvo. En sentido contrario, para enviar 0.0025 WBTC (8 decimales) el argumento de transfer debe ser 0.0025 × 108 = 250,000, y enviar 1 LINK (18 decimales) requiere 1,000,000,000,000,000,000.

Errores comunes

En código

Para monedas nativas consulta el conversor de unidades de Ethereum, el conversor de satoshi, el conversor de lamports y el conversor de sun.

Preguntas frecuentes

¿Qué son los decimales de un token?

Un número almacenado en el contrato del token que indica cuántos dígitos del entero bruto son fraccionarios. USDT tiene 6 decimales, así que un saldo bruto de 1,500,000 son 1.5 USDT. ETH y la mayoría de tokens ERC-20 usan 18.

¿Dónde encuentro los decimales de un token?

En la página del token en Etherscan, Tronscan o Solscan, o llamando a decimals() en un contrato ERC-20 / TRC-20. Para tokens SPL está en la cuenta mint.

¿Por qué mi transferencia aparece como un número enorme?

Estás viendo el valor bruto. Divide entre 10decimales: una transferencia de USDT de 25000000 son 25 USDT; una transferencia de un token tipo ETH de 1000000000000000000 es 1 token.

¿Puedo usarlo para códigos QR EIP-681?

Sí. El parámetro uint256 de una transferencia de token EIP-681 debe ser el entero bruto. Introduce aquí el importe legible y copia el valor bruto, o simplemente usa el generador de QR de USDT ERC-20, que lo hace automáticamente.

¿Por qué la mayoría de tokens ERC-20 usan 18 decimales?

Porque el propio ETH tiene 18 (1 ETH = 1018 wei) y los primeros contratos de tokens copiaron esa convención. Las stablecoins eligieron 6 para reflejar la contabilidad a nivel de céntimo con margen, y los tokens de Bitcoin envuelto usan 8 para coincidir con los satoshis.

¿Los decimales de USDT son los mismos en todas las cadenas?

USDT usa 6 en Ethereum, Tron, Solana, Polygon y la mayoría de cadenas, pero algunas versiones puenteadas difieren (por ejemplo 18 en BNB Smart Chain). Comprueba siempre el contrato concreto.