---
title: "Token-2022 en Solana: extensiones para tokens regulados y su equivalencia con ERC-3643"
url: "https://www.unknowngravity.com/articulos/token-2022-solana-tokens-regulados"
site: Unknown Gravity
published: "2026-10-16T15:25:43+00:00"
modified: "2026-10-16T15:25:47+00:00"
language: es
description: "Extensiones de Token-2022 para un valor tokenizado (transfer hook, delegado permanente, pausa), su uso en cumplimiento y su equivalencia con ERC-3643."
section: "Inicio > Blog > Token-2022 en Solana: extensiones para tokens regulados y su equivalencia con ERC-3643"
---

# Token-2022 en Solana: extensiones para tokens regulados y su equivalencia con ERC-3643

**Token-2022 (Token Extensions) es el programa de tokens de Solana que añade funciones opcionales al token, como congelar las cuentas nuevas, ejecutar un programa en cada transferencia o recuperar saldos.** Con ellas se reproduce buena parte de ERC-3643, pero no su registro de identidad de inversores: eso lo construyes aparte.

Esta guía es para emisores y equipos técnicos que preparan un valor tokenizado en Solana. Explica cada extensión útil, para qué sirve en cumplimiento (KYC, congelación, recuperación por orden judicial, dividendos), cómo se compara con [ERC-3643](/glosario/erc-3643) y qué queda fuera. Las extensiones son herramientas: la obligación viene de la norma del activo, que en un valor es MiFID II y, en España, la Ley 6/2023 con su ERIR. Ninguna extensión hace que un token cumpla por sí sola. El proceso completo de una emisión está en [tokenización de activos reales en Solana](/articulos/tokenizacion-activos-reales-solana). Si buscas el servicio, está en nuestra página de [desarrollo en Solana](/blockchain/desarrollo-blockchain-solana).

## Qué es Token-2022 y en qué se diferencia del programa SPL original

En Solana un token no es un contrato propio: es una cuenta «mint» de un programa de tokens ya desplegado. Hay dos programas de tokens principales, el original y Token Extensions (Token-2022). El segundo añade funciones opcionales, llamadas extensiones, al mint o a la cuenta de cada titular ([documentación de extensiones](https://solana.com/docs/tokens/extensions)).

Tres reglas condicionan todo el diseño:

- **Se eligen al crear la cuenta.** La documentación indica que la mayoría de extensiones no se pueden añadir después de inicializarla. Un token ya emitido sin la extensión que necesitas obliga a emitir otro.
- **Hay combinaciones prohibidas.** Por ejemplo, Scaled UI Amount no se combina con Interest-Bearing: el programa rechaza esa combinación al inicializar el mint.
- **Los activos regulados se apoyan en Token-2022.** La guía oficial de tokenización de solana.com, con sus ejemplos de entrega contra pago y de NAV de fondos, está construida sobre este programa y sus extensiones.

## Las extensiones útiles para un valor tokenizado

| Extensión | Qué hace, según la documentación | Para qué sirve en cumplimiento |
| --- | --- | --- |
| Default Account State | Las cuentas nuevas nacen congeladas y no operan hasta que la autoridad de congelación las descongela | Alta del inversor solo después del KYC |
| Transfer Hook | Ejecuta un programa propio en cada transferencia; la documentación cita listas blancas o negras de receptores | Reglas de transmisibilidad: lista de inversores, bloqueo de sancionados, límites propios |
| Permanent Delegate | Autoriza transferencias y quemas desde cualquier cuenta del token; el titular no puede revocarlo | Ejecutar una orden judicial, recuperar tokens tras un fraude o la pérdida de claves, reflejar un gravamen |
| Pausable | Pausa transferencias, emisiones y quemas de todo el token | Suspensión de la negociación o incidente de seguridad |
| Freeze authority (programa base) | Congela una cuenta de token concreta | Bloquear la cartera de un inversor por orden de una autoridad o por el KYC |
| Metadata Pointer y Token Metadata | Guarda los metadatos en el propio mint, con campos adicionales | Enlazar el documento de la emisión; la guía oficial de NAV guarda ahí el valor liquidativo |
| Scaled UI Amount | Multiplicador actualizable del importe mostrado; no crea tokens | Desdoblamientos, dividendos o rendimiento |
| Interest-Bearing | Guarda un tipo de interés anual en el mint; solo cambia el importe mostrado | Mostrar el devengo de un instrumento con interés |
| Confidential Balances | Oculta importes y saldos, no las direcciones; admite una clave de auditor | Confidencialidad frente al público, con visibilidad para el auditor que designe el emisor |

La congelación de cuentas no es una extensión: la autoridad de congelación ya existe en el programa base, y la guía de solana.com sobre ERC-3643 la presenta como una función nativa que actúa sin lógica de contrato.

## KYC y lista de inversores: Default Account State, transfer hook y Token ACL

Hay tres formas documentadas de controlar quién puede tener el token:

- **[Default Account State](https://solana.com/docs/tokens/extensions/default-state).** Cada cuenta nueva nace congelada y la autoridad de congelación la descongela cuando el inversor supera el [KYC](/glosario/kyc-know-your-customer). Es simple y no añade lógica a las transferencias, pero el alta es manual.
- **[Transfer Hook](https://solana.com/docs/tokens/extensions/transfer-hook).** El token llama a tu programa en cada transferencia y la operación entera se revierte si el programa devuelve error. Tiene un límite: las cuentas de la transferencia llegan al programa en solo lectura y sin la firma del remitente. Es un programa propio, así que necesita auditoría y una política sobre su autoridad de actualización.
- **[Token ACL (sRFC 37)](https://solana.com/docs/tokenization/token-acl).** El mint delega su autoridad de congelación en Token ACL, y el inversor descongela su propia cuenta si un «gate program» lo aprueba. El programa de referencia admite lista de permitidos, de bloqueados o ambas, y la de bloqueados prevalece. Puedes escribir tu propio gate program, por ejemplo integrado con un protocolo de identidad o de KYC en la red.

La documentación de Token ACL compara las dos últimas: Token ACL solo actúa al congelar o descongelar y deja las transferencias como estándar; el hook actúa en cada transferencia, cuesta cómputo y cuentas extra, y muchos protocolos DeFi excluyen estos tokens. Se pueden combinar: Token ACL para quién puede tener el token y hook para cómo se mueve. A 16 de octubre de 2026, el programa de Token ACL y su gate de referencia ya están desplegados en mainnet: lo indica su [repositorio oficial](https://github.com/solana-foundation/token-acl), que publica sus auditorías, y lo confirma nuestra consulta al RPC público de mainnet de esa fecha. Un apartado de la documentación aún dice que solo están en devnet.

## Congelación, pausa y delegado permanente: los poderes del emisor

- **Congelar una cuenta.** La autoridad de congelación bloquea la cuenta de un inversor concreto. Es el equivalente directo a congelar una cartera en ERC-3643.
- **[Pausar el token](https://solana.com/docs/tokens/extensions/pausable).** Con Pausable, el programa rechaza transferencias, emisiones y quemas de todo el mint hasta que se reanuda.
- **[Delegado permanente](https://solana.com/docs/tokens/extensions/permanent-delegate).** Puede transferir o quemar desde cualquier cuenta del token, el titular no puede revocarlo y el propio delegado puede traspasarlo después a otra clave. La guía de solana.com sobre ERC-3643 lo presenta como la vía para cumplir órdenes legales o recuperar tokens en casos de fraude. En un valor español, es la herramienta para que el registro en la red refleje lo que inscribe la ERIR, que lleva los eventos corporativos, las inscripciones y los gravámenes (art. 8.4 de la Ley 6/2023).

Estos poderes tienen dos caras. Para el emisor son una función de cumplimiento; para el inversor, un riesgo de contraparte: alguien puede mover o quemar su saldo. Por eso deben constar en la documentación de la emisión, con quién tiene cada llave y en qué casos se usa. La guía de solana.com sitúa al administrador de cumplimiento en una PDA o en un multisig dueño del mint, no en una clave suelta.

## Dividendos, cupones y eventos corporativos

[Scaled UI Amount](https://solana.com/docs/tokens/extensions/scaled-ui-amount) aplica un multiplicador al importe que ven las carteras. La documentación lo plantea para activos reales, como un desdoblamiento o un dividendo, y también para distribuir rendimiento. El multiplicador puede cambiar al momento o programarse para una fecha futura. No crea tokens: el saldo guardado en cada cuenta no cambia, solo el importe mostrado.

[Interest-Bearing](https://solana.com/docs/tokens/extensions/interest-bearing-tokens) guarda un tipo de interés anual en el mint y también cambia solo lo que se muestra. Las dos extensiones son incompatibles entre sí, así que hay que elegir antes de emitir.

Un matiz práctico: ninguna de las dos paga nada. Un cupón en euros o en una stablecoin es un pago aparte, y el registro de la ERIR tiene que reflejar el evento. Además, la guía oficial de [entrega contra pago](https://solana.com/docs/tokenization/dvp) advierte de que el programa de DvP que mantiene la Fundación Solana rechaza los mints con Scaled UI Amount; para esos mints propone el patrón por delegación.

## Transferencias confidenciales: qué ocultan y qué pasó en 2025 y 2026

[Confidential Balances](https://solana.com/docs/tokens/extensions/confidential-transfer) cifra los importes y los saldos, pero las direcciones siguen siendo públicas. El mint puede guardar una clave de auditor global: quien tenga esa clave puede descifrar los importes de las transferencias de ese token. La Fundación Solana indica que la ocultación de direcciones está en desarrollo.

Su historia importa para un comité de riesgos:

- **11 de junio de 2025:** el programa Token-2022 se actualizó para desactivar las transferencias confidenciales tras un fallo comunicado de forma responsable ([post-mortem de la Fundación](https://solana.com/news/post-mortem-june-25-2025)).
- **19 de junio de 2025:** se desactivó en mainnet el programa de pruebas ZK ElGamal, del que dependen, al inicio de la época 805.
- **4 de junio de 2026:** se activó en mainnet la función que lo vuelve a habilitar («Re-enables zk-elgamal-proof program»), al inicio de la época 982. El dato sale de nuestra consulta al RPC público de mainnet del 16 de octubre de 2026.
- **17 de junio de 2026:** se desplegó en mainnet la versión 11.0.0 del programa Token-2022, cuyas [notas de versión](https://github.com/solana-program/token-2022/releases/tag/program%40v11.0.0) indican que vuelve a habilitar las transferencias confidenciales. Lo comprobamos en la misma consulta: fecha del último despliegue y huella del binario.
- **Hoy:** la [Fundación la presenta como activa en mainnet](https://solana.com/privacy) y habilitable al crear el token. Como la mayoría de extensiones no se añaden después, un token ya emitido sin ella no puede activarla.

Para un valor tokenizado, la clave de auditor es la pieza que permite combinar privacidad frente al público y visibilidad para quien tenga que ver los importes.

## Equivalencias entre Token-2022 y ERC-3643 (T-REX)

[ERC-3643](https://eips.ethereum.org/EIPS/eip-3643) es un estándar de Ethereum en estado final para tokens de valores. Define el token y cinco piezas más: dos registros de identidad (Identity Registry e Identity Registry Storage), un contrato de cumplimiento (Compliance), un registro de emisores de atestaciones autorizados y un registro de los tipos de atestación exigidos (Claim Topics Registry). Entre sus requisitos están un sistema de recuperación si el inversor pierde la clave, congelar tokens de forma parcial o total, pausar, forzar transferencias desde un agente y operar por lotes. Lo explicamos en [ERC-3643: el estándar técnico de los security tokens](/articulos/erc-3643-estandar-security-tokens).

| Función | En ERC-3643 | En Solana (Token-2022) | Diferencia que importa |
| --- | --- | --- | --- |
| Verificar al receptor | Identity Registry e isVerified(): identidad en la red con atestaciones firmadas por emisores de confianza | Transfer hook propio o gate program de Token ACL | Token-2022 no trae un registro de identidad estándar: lo diseñas tú |
| Reglas de cumplimiento (país, número de inversores) | Contrato Compliance y canTransfer() | Lógica del transfer hook | El hook recibe las cuentas de la transferencia en solo lectura; Token ACL solo actúa al congelar o descongelar |
| Congelar una cartera | setAddressFrozen() | Autoridad de congelación (programa base) | Equivalente |
| Congelación parcial | freezePartialTokens() | No figura en el mapa oficial de solana.com | Requiere lógica propia |
| Pausa | pause() y unpause() | Pausable | Pausable también bloquea emisiones y quemas |
| Transferencia forzosa | forcedTransfer(), que exige un receptor verificado | Delegado permanente | Lo que se compruebe del receptor depende de tu hook y del estado de su cuenta |
| Recuperar una cartera perdida | recoveryAddress(), con la cartera perdida, la nueva y la identidad del inversor | Delegado permanente hacia la cuenta nueva | No figura en el mapa oficial; la identidad la gestionas fuera |
| Roles | Owner y Agent | Autoridades del mint (emisión, congelación, pausa, delegado) en una PDA o un multisig | Cada autoridad es una llave distinta |
| Operaciones por lotes | batchTransfer(), batchForcedTransfer() y otras | Varias instrucciones en una transacción atómica | Límite de 1,4 millones de unidades de cómputo por transacción |

La [guía de solana.com](https://solana.com/developers/evm-to-svm/erc3643) publica su propio mapa: lista de KYC → programa de transfer hook; congelación → freeze_authority; transferencia forzosa → permanent_delegate; lógica en la transferencia → callback del hook; administrador de cumplimiento → PDA o multisig. Ese mapa no incluye la recuperación de carteras ni la congelación parcial.

Si prefieres ERC-3643 sobre una red EVM española, la documentación de ISBE ofrece una plantilla ERC-3643; lo vemos en [tokenizar valores en ISBE](/articulos/tokenizar-valores-isbe-erc-3643-erir).

## Lo que Token-2022 no cubre por sí solo

- **Identidad del inversor.** No hay un equivalente estándar a la identidad en la red de ERC-3643. Necesitas un proveedor de KYC, un hook o un gate program, y una forma de vincular cada cartera a una persona.
- **El registro legal.** En un valor español, la [ERIR](/glosario/erir-entidad-de-registro-e-identificacion-registral) identifica a los titulares y lleva los eventos corporativos y los gravámenes (art. 8.4 de la Ley 6/2023). La red guarda saldos; la ERIR responde del registro. Lo desarrollamos en [Ley 6/2023 y la tokenización de valores](/articulos/lmvsi-ley-6-2023-tokenizacion).
- **Los pagos.** Scaled UI Amount e Interest-Bearing cambian lo que se muestra; el cupón o el dividendo se pagan aparte.
- **El programa propio.** Un hook o un gate program se audita y sigue siendo actualizable mientras exista su autoridad de actualización. Con «verified builds» puedes demostrar que el binario desplegado corresponde al código publicado.
- **Integraciones.** Un token con hook necesita carteras y aplicaciones que pasen sus cuentas extra; según la documentación de Token ACL, muchos protocolos DeFi no los admiten.
- **Disponibilidad.** Token ACL y su gate de referencia están en mainnet, pero son programas actualizables: quién controla su autoridad de actualización entra en tu análisis de riesgos.

**Cómo lo abordamos.** En Unknown Gravity elegimos las extensiones a partir de las obligaciones de la emisión, escribimos y auditamos el hook o el gate program cuando hace falta, y diseñamos el reparto de autoridades y la conciliación con la ERIR. Somos una empresa española de tecnología de tokenización: no somos ERIR, empresa de servicios de inversión ni despacho de abogados.

## Cómo se configura un mint para un valor tokenizado (CLI)

Este ejemplo crea un mint de Token-2022 con cuentas congeladas por defecto, delegado permanente, pausa, metadatos y transfer hook. Hemos comprobado cada opción contra el código fuente de la versión 5.6.1 de [spl-token CLI](https://github.com/solana-program/token-2022/releases/tag/cli%40v5.6.1) (12 de junio de 2026). El programa del hook tiene que estar desplegado antes, y sus cuentas extra se inicializan aparte.

```
# 1. Mint de Token-2022 con controles de cumplimiento (spl-token CLI 5.6.1)
spl-token --program-2022 create-token 
  --decimals 0 
  --enable-freeze 
  --default-account-state frozen 
  --enable-permanent-delegate 
  --enable-pause 
  --enable-metadata 
  --transfer-hook <ID_PROGRAMA_HOOK>

# 2. Metadatos en el propio mint: nombre, símbolo y URI del documento
spl-token initialize-metadata <MINT> "Bono Ejemplo 2027" "BEJ27" https://example.com/bono.json

# 3. Alta de un inversor tras el KYC: crear su cuenta y descongelarla
spl-token create-account <MINT> --owner <CARTERA_INVERSOR>
spl-token thaw <CUENTA_DE_TOKEN>

# 4. Pausa de emergencia y reanudación
spl-token pause <MINT>
spl-token resume <MINT>
```

Dos detalles del CLI: `--default-account-state` exige `--enable-freeze`, y `--interest-rate` no se puede usar junto con `--ui-amount-multiplier`. Las órdenes que reciben el mint o la cuenta detectan solas el programa de tokens.

## Preguntas frecuentes

### ¿Qué diferencia hay entre SPL Token y Token-2022?

Son los dos programas de tokens principales de Solana. Token-2022 añade extensiones opcionales, como transfer hook, delegado permanente, cuentas congeladas por defecto o pausa, que el programa original no tiene. Para un activo regulado, la documentación oficial de tokenización usa Token-2022.

### ¿Token-2022 equivale a ERC-3643?

En parte. Cubre la congelación, la pausa, la transferencia forzosa y la lógica en cada transferencia. No trae un registro de identidad de inversores ni, en el mapa oficial de solana.com, la recuperación de carteras o la congelación parcial: eso se construye con un programa propio.

### ¿Se puede añadir una extensión a un token ya creado?

En general, no: la documentación indica que la mayoría de extensiones no se pueden añadir después de inicializar la cuenta. Si el token ya existe sin la extensión que necesitas, la vía habitual es emitir uno nuevo y migrar a los titulares.

### ¿Puede el emisor recuperar tokens de un inversor por orden judicial?

Técnicamente, sí, si el token tiene delegado permanente: puede transferir o quemar desde cualquier cuenta y el titular no puede revocarlo. Ese poder debe constar en la documentación de la emisión, y en un valor español la operación tiene que cuadrar con lo que inscriba la ERIR.

### ¿Funcionan hoy las transferencias confidenciales en Solana?

Sí, para tokens creados con la extensión. Se desactivaron en junio de 2025; el programa de pruebas del que dependen se reactivó en mainnet el 4 de junio de 2026, y la versión de Token-2022 que las vuelve a habilitar está en mainnet desde el 17 de junio de 2026. Ocultan importes y saldos, no direcciones, y admiten una clave de auditor.

## Fuentes

- [Solana: Token Extensions](https://solana.com/docs/tokens/extensions)
- [Solana: Default Account State](https://solana.com/docs/tokens/extensions/default-state)
- [Solana: Transfer Hook](https://solana.com/docs/tokens/extensions/transfer-hook)
- [Solana: Permanent Delegate](https://solana.com/docs/tokens/extensions/permanent-delegate)
- [Solana: Pausable Mint](https://solana.com/docs/tokens/extensions/pausable)
- [Solana: Scaled UI Amount](https://solana.com/docs/tokens/extensions/scaled-ui-amount)
- [Solana: Interest Bearing Tokens](https://solana.com/docs/tokens/extensions/interest-bearing-tokens)
- [Solana: Metadata Pointer y Token Metadata](https://solana.com/docs/tokens/extensions/metadata)
- [Solana: Confidential Balances](https://solana.com/docs/tokens/extensions/confidential-transfer)
- [Solana Foundation: post-mortem del 25-6-2025](https://solana.com/news/post-mortem-june-25-2025)
- [Solana Foundation: privacidad en Solana](https://solana.com/privacy)
- [Solana: Permissioned Tokens with Token ACL (sRFC 37)](https://solana.com/docs/tokenization/token-acl)
- [Solana Foundation: repositorio de Token ACL (GitHub)](https://github.com/solana-foundation/token-acl)
- [Token-2022 11.0.0: notas de versión (GitHub)](https://github.com/solana-program/token-2022/releases/tag/program%40v11.0.0)
- [Solana: Delivery vs Payment](https://solana.com/docs/tokenization/dvp)
- [Solana: What is ERC3643 on Solana?](https://solana.com/developers/evm-to-svm/erc3643)
- [ERC-3643: T-REX, Token for Regulated EXchanges](https://eips.ethereum.org/EIPS/eip-3643)
- [spl-token CLI 5.6.1 (GitHub)](https://github.com/solana-program/token-2022/releases/tag/cli%40v5.6.1)
- [Ley 6/2023, de los Mercados de Valores y de los Servicios de Inversión (BOE)](https://www.boe.es/buscar/act.php?id=BOE-A-2023-7053)

*Marco verificado a 16 de octubre de 2026.* ¿Necesitas traducir las obligaciones de tu emisión a extensiones de Token-2022? [Hablemos](/meeting).
