Token Extensions

Permissioned tokens on a permissionless network

Built in collaboration with large institutions, token extensions unlock rich native functionality designed for complex behaviors, without compromising on security or scalability. Get started today.

Hello! Use the editor to add your copy!

Read the technical paper

Token extensions represent a leap forward for the Solana protocol. Dig into the technical explanation, a look at specific token extensions, and potential use cases.

Get native support for enterprise features — without third party tooling.

Build a better stablecoin

Token extensions make it easier to issue a stablecoin for your project by providing for native support for stablecoins and monetization options.

Simplify payments with native metadata

Transactions no longer have to occur in a vacuum. Using token extensions to couple metadata with transactions, institutions can enable simplified payment reconciliation.

Guide consumers with permanent delegation

Create an ideal user experience. Using permanent delegation, token transfers can be gated by digital assets like NFTs or loyalty cards, and make it easier to update tokens that are tied to ownership of real-world assets.

Protect privacy with native support

Issuers on Solana can create token extensions that natively promote the preservation of user privacy by masking account balances and transfer amounts, how much is sent in a transaction — while preserving auditing rights to ensure regulatory compliance.

Dig into token extensions

Token extensions unlocks new business standards and use cases on the Solana blockchain.

Want to build? Get in touch.

Frequently ASked Questions

Learn more about token extensions

What are token extensions?

Token extensions are new token program-level features, enabled by the new open-source token minting program available on the Solana blockchain. Token extensions enable the next generation of features for digital assets and stablecoins on the Solana blockchain by imbuing the assets with a native set of rich features ranging from confidentiality to token-gated access to required metadata. Assets minted using this program can bring to life the promise of true programmability of money and assets on the blockchain

How is this different from Token-2022?

Token-2022 is the technical name and GitHub repository for the new SPL token program, as released by Solana Labs. Token extensions, on the other hand, are what the new token standard enables. Think of them as a list of new features and functions that can now function at the token program level.

What are the benefits of using token extensions versus the legacy Solana token standard?

Token extensions takes the core functionality of tokens on Solana and imbues them with an entirely new, native set of features that open up a whole new set of use cases for digital assets. In the past, application developers had to rely on a mix of ad-hoc protocols, code bases and projects to enable true programmability. Minting tokens that have token extensions enabled allows the developer to natively have access to all of those programmability features, with the flexibility to decide which features to enable or disable.

A few examples of what is possible natively with token extensions:

  • Confidential transfers: The ability to mask token balances and the amounts of token transfers, with auditability from the issuer of the token
  • Token gated transfers: The ability to control which wallets can receive tokens based on KYC identifiers
  • Transfer Fees: The issuer of the token can charge transfer fees to assist in monetization of transactions
  • Required metadata: Metadata about transfers can be mandatory, allowing payment attribution data to be bound to the transaction itself. 

There are several other extensions that enable additional rich functionality for digital asset issuers.

Are tokens minted using token extensions backwards compatible with dApps that support Solana tokens today?

Tokens minted with token extensions belong to a new protocol. While the protocol is backwards compatible with the existing SPL Token standard, dApps must be upgraded to handle tokens minted with specific extensions.

Have token extensions been audited?

Yes, the program has gone through 5 audits from the following security firms: Halborn, Zellic, NCC, Trail of Bits, and OtterSec.

Are there examples of stablecoins or digital assets that have been created using this new token standard?

There are several projects about to launch RWA and stablecoins using this program. Paxos recently launched USDP on Solana leveraging token extensions, GMO Trust plans to launch a regulated stablecoin and several other major enterprises are planning on launching throughout the course of 2024.

Can I use multiple extensions?

Yes — however, some combinations are not yet ready to work in tandem. For example, transfer hooks and confidential transfers do not currently work together. For that particular case, a fix is being developed and can be tracked here,

Are all of the extensions available today?

With the exception of confidential transfers, all of the extensions are available for use today. Confidential transfers will be available once version 2.0 of the core Agave validator client is released and has been adopted by the network, which is expected to happen by EOY 2024.

Can the program used for transfer hooks / permanent mint delegation be changed after mint initialization?

Yes! As long as the requisite authority is reserved, the program used for both or either of those extensions can be updated to new PDAs.

Can I create the destination ATA for a confidential transfer?

While you can create the destination ATA for public transfers, the owner of that account needs to set up an encryption key, thus meaning that the owner must configure their account to accept confidential transfers before receiving confidential transfers.

Can multiple auditors be set for the confidential transfer authority?

 No. Only a single ElGamal public key (derivable from an ed25519 private key) can be set, and without a fancy key-sharing implementation that single key is the only one capable of auditing transfer amounts.

I am a developer for a wallet or dApp. What do I need to know to integrate token extensions?

Developer documents can be found here.