Conversor de direcciones SS58 de Polkadot: clave pública ↔ cualquier prefijo

Pega una dirección 1… de Polkadot, C…–J… de Kusama o genérica 5… y obtén la clave pública de la cuenta más su escritura en todas las redes Substrate principales. O pega una clave pública 0x para codificarla.

Polkadot (1…), Kusama (C… a J…), Substrate genérico (5…) y otros prefijos SS58, o una clave pública / ID de cuenta hex de 32 bytes. Solo claves públicas; nunca pegues una frase semilla en ningún sitio.

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

¿Qué es una dirección SS58?

SS58 es el formato de dirección de Polkadot, Kusama y todas las cadenas basadas en Substrate: un prefijo de red, la clave pública de 32 bytes (ID de cuenta) y un checksum de 2 bytes, codificados en Base58. El formato está documentado en la wiki de Polkadot y los prefijos se asignan en el registro SS58. Un conversor de direcciones SS58 decodifica la cadena, verifica el checksum, extrae la clave pública y la recodifica para otros prefijos.

Cómo funciona la codificación SS58

  1. Bytes de prefijo. Los prefijos 0–63 ocupan un byte. Los prefijos mayores (hasta 16383) ocupan dos bytes en forma empaquetada: el primer byte contiene los bits 2–7 del prefijo más un marcador 0b01, y el segundo contiene los bits 8–13 y los bits 0–1.
  2. Checksum. Se calcula BLAKE2b-512 sobre SS58PRE + bytes de prefijo + clave pública, y se añaden los dos primeros bytes del digest.
  3. Base58. Todo el búfer (1 o 2 + 32 + 2 bytes) se codifica en Base58 con el alfabeto de Bitcoin. El prefijo 0 siempre produce una dirección que empieza por 1, el prefijo 2 por una letra mayúscula de C a J, y el prefijo 42 por 5.

Ejemplo práctico

La conocida cuenta de desarrollo Alice tiene la clave pública 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d. Con el prefijo 0 se codifica como 15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5 (Polkadot), con el prefijo 2 como HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F (Kusama) y con el prefijo 42 como 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY (Substrate genérico). Pega cualquiera de ellas arriba para ver las tres, y catorce más.

Prefijos y primeros caracteres

PrefijoRedLa dirección empieza porPrefijoRedLa dirección empieza por
0Polkadot136Centrifuge4
2KusamaC, D, E, F, G, H, J38KILT4
5AstarV, W, X, Y, Z, a, b42Substrate (genérico)5
6Bifrostb, c, d, e, f, g, h63Hydration7
7Edgewareh, i, j, k, m, n, o73ZeitgeistdD, dE
8Karurao, p, q, r, s, t, u2032Interlaywd
10Acala2, z2092Kintsugia3
12Polymesh210041BasiliskbX
30Phala3, 4

Los caracteres iniciales son un efecto secundario de Base58 y del valor del prefijo; son una pista visual rápida, no una garantía. Fíate siempre del prefijo decodificado que muestra la herramienta.

Por qué importa el checksum

Base58 no tiene detección de errores incorporada, así que SS58 añade un checksum BLAKE2b de dos bytes que detecta cualquier carácter mal escrito y la gran mayoría de los errores de varios caracteres. En la práctica no existe ninguna billetera ni exchange que acepte una dirección con un checksum incorrecto; esta herramienta también la rechaza y te indica que el checksum falló en lugar de adivinar. Ten en cuenta que el checksum incluye el prefijo, y por eso una dirección de Kusama se rechaza como dirección de Polkadot inválida aunque la clave que contiene sea la misma: el remitente debe recodificarla, no volver a escribirla.

Usos habituales

Solo claves públicas y direcciones: esta página nunca pide una frase semilla ni una clave privada, y nada de lo que pegues sale de tu navegador. Para otros formatos consulta el validador de direcciones cripto.

Preguntas frecuentes

¿Por qué la misma cuenta tiene direcciones distintas en Polkadot y Kusama?

SS58 antepone a la clave pública de 32 bytes un identificador de red antes de codificar: 0 para Polkadot, 2 para Kusama, 42 para Substrate genérico. La clave es idéntica; la cadena de la dirección cambia porque cambian el prefijo y el checksum. Los fondos en cada cadena se asocian a la clave, así que convertir la dirección nunca mueve nada.

¿Cómo se calcula el checksum SS58?

El checksum son los dos primeros bytes de BLAKE2b-512 sobre la cadena ASCII SS58PRE seguida del byte o bytes de prefijo y la clave pública. Esta página implementa BLAKE2b en JavaScript y lo comprueba contra el vector de prueba del RFC 7693 antes de usarlo.

¿Qué es la clave pública 0x?

La clave pública sr25519 o ed25519 de 32 bytes, también llamada ID de cuenta. Polkadot.js la muestra como ID de cuenta en hex, y es lo que necesitas para la derivación de multifirmas, la configuración de proxies y la mayoría de las llamadas RPC. Es información pública y se puede compartir sin riesgo; la frase semilla no.

¿Qué prefijos están incluidos?

Polkadot (0), Kusama (2), Astar (5), Bifrost (6), Edgeware (7), Karura (8), Acala (10), Polymesh (12), Phala (30), Centrifuge (36), KILT (38), Substrate genérico (42), Hydration (63), Zeitgeist (73), Interlay (2032), Kintsugi (2092) y Basilisk (10041), tomados del registro SS58. Una dirección con otro prefijo se decodifica y se muestra bajo su propio prefijo.

¿Puedo convertir una dirección de Moonbeam?

No. Moonbeam y Moonriver usan cuentas H160 de 20 bytes al estilo Ethereum, escritas como direcciones 0x, no claves de 32 bytes, así que no tienen forma SS58 en el sentido habitual. La herramienta lo explica si pegas una.

¿El conversor necesita mi frase semilla?

Nunca. Trabaja a partir de la clave pública, que está incrustada en cada dirección. Ningún sitio web ni herramienta necesita una frase semilla para convertir, validar o mostrar una dirección.