No Fianto fee during the beta. Any fee comes with at least 30 days notice. See pricing
Solana6 min read

Token-2022 and the original Token program compared, from the side of the wallet that gets paid.

Token-2022, also called Token Extensions, is a second Solana token program at a different address that does everything the original Token program does and adds opt-in extensions such as transfer fees, a permanent delegate, transfer hooks and pausing. The original program has no extensions and will get no new instructions. USDC on Solana is on the original Token program, so none of those extensions can touch a USDC payment, and Fianto builds every transfer for that program.

On this page
What is the difference between Token-2022 and the Token program?How do Token-2022 and the Token program compare?Which Token-2022 extensions matter when you get paid?Which token program does USDC on Solana use?Does the Solana Subscriptions program support Token-2022?Which token program should a merchant care about?SourcesQuestions
TL;DR
  • Token-2022 is a strict superset of the Token program, deployed at TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb; mints opt in to extensions one by one.
  • USDC on Solana is owned by the original Token program (read on chain, 15 October 2026), so it cannot carry a transfer fee or a permanent delegate.
  • The Solana Foundation's Subscriptions program supports both programs; Fianto uses it with USDC only.

What is the difference between Token-2022 and the Token program?

The difference is extensions: Token-2022 accepts every instruction the Token program accepts and adds new features that a token can switch on. The Token-2022 documentation calls it "a superset of the functionality provided by the Token Program" and explains why it is a separate program: developers kept forking the original to add features, and a fork is hard to get adopted across the ecosystem. So Token-2022 was "deployed to a different address than the Token program", leaving existing tokens untouched.

Both programs are SPL token programs. If the term is new, what is an SPL token explains mints, token accounts and the program that owns them, and the crypto payment glossary defines the other terms in one place.

How do Token-2022 and the Token program compare?

The table sets the two programs side by side, from the solana-program.com and solana.com documentation as read on 15 October 2026.

Token program (original)Token-2022 (Token Extensions)
Program addressTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DATokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
Instructions25, numbered 0 to 24; no new ones plannedThe same 25, byte for byte, plus new ones from 25
Account and mint layout165-byte accounts, 82-byte mintsThe same first 165 and 82 bytes, with extension data after them
Fee on every transferNot possiblePossible with the transfer fee extension
Issuer moves or burns any holder's tokensNot possiblePossible with the permanent delegate extension
Custom code on every transferNoPossible with a transfer hook
Pause all transfersNoPossible with the pausable extension
Freeze one accountYes, if the mint has a freeze authorityYes, if the mint has a freeze authority
Associated token accountsThe one Associated Token Account programThe same program

Solana's token overview sums up the original as "Immutable and widely used". Token-2022's page lists eight completed audits by six firms as of 20 March 2025.

Which Token-2022 extensions matter when you get paid?

The extensions that matter to a merchant are the ones that change what arrives, who can move it afterwards, or whether it can move at all. Each is chosen by the token's creator, so two Token-2022 stablecoins can behave very differently. From the Token-2022 extension guide:

  • Transfer fees. "On every transfer, some amount is withheld on the recipient account, untouchable by the recipient." A price of 100 tokens on a mint with a 1% fee leaves you 99 you can spend, or more if the mint's maximum fee caps it lower.
  • Permanent delegate. The guide says this authority "has unlimited delegate privileges over any account for that mint, meaning that it can burn or transfer any amount of tokens", and gives a stablecoin issuer seizing assets from sanctioned entities as one use.
  • Transfer hook. The mint names a program that Token-2022 calls on every transfer. The guide's example is royalties, which the original program cannot enforce because it has no way to stop a transfer at the protocol level.
  • Pausable. While a mint is paused, the guide says, "it is not possible transfer, mint, or burn tokens."
  • Memo required on incoming transfers. An account extension: the program "enforces that all incoming transfers must have an accompanying memo instruction right before the transfer instruction."

Configured is not the same as active. On 15 October 2026 we read the mint of PayPal USD (PYUSD) on Solana: it is owned by Token-2022 and carries a transfer fee configuration set to 0 basis points, a permanent delegate, a transfer hook with no program named, confidential transfers and on-chain metadata. Today a PYUSD transfer withholds nothing, but the fee authority set on the mint can change that. How the stablecoins on Solana differ is the subject of PYUSD, USDG and EURC on Solana.

Which token program does USDC on Solana use?

USDC on Solana uses the original Token program. Reading the mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v on mainnet on 15 October 2026 returned the owner TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA and a size of 82 bytes, a plain mint with no extension data.

For a merchant, that rules things out. The extension guide says "In the Token program, it is impossible to assess a fee on every transfer", so 25 USDC sent is 25 USDC received. No permanent delegate exists that could let the issuer pull USDC out of your account, and no hook or pause switch sits on the mint. What USDC does have is a freeze authority, the same as any mint that sets one; can USDC be frozen covers what that means.

Fianto is built around that fact. Its backend accepts exactly one mint, USDC, paired with the original Token program's address, and both the one-off payment and every subscription charge are built for that program. A token on Token-2022 is never treated as a payment, whatever it is called; checking real USDC on Solana shows how to confirm the mint yourself.

Take USDC on the original Token program, straight into your own wallet.

Accept USDC on Solana

Does the Solana Subscriptions program support Token-2022?

Yes. The Solana Foundation's Subscriptions program, which Fianto uses for recurring USDC payments, says in its README: "This works for both token programs: SPL Token and Token-2022." It also supports Token-2022 mints with a transfer hook, by passing the hook's accounts through to the transfer.

One limit is written down. The README says destination accounts with the memo-required extension are not supported: the program sends no memo, "so Token-2022 rejects the transfer atomically (no funds move)." Anyone building on the program with a Token-2022 token has to check the receiving account for it.

Fianto does not offer that choice. Its subscriptions run on the program with USDC on the original Token program only, so the extension questions above never come up for a Fianto merchant. How the program's capped approval works is in Solana token delegation explained, and the merchant view of renewals in Solana subscriptions.

Which token program should a merchant care about?

Which program matters depends on what you are doing with tokens, and for most merchants taking USDC the answer is neither: the issuer chose it already.

If you are...What to do
Taking USDC through FiantoNothing to choose. USDC is on the original program and Fianto accepts nothing else.
Accepting a Token-2022 stablecoin elsewhereRead its mint before you price in it: a transfer fee changes what you receive, a permanent delegate means the issuer can move your balance, and pausing can stop it moving.
Issuing your own tokenToken-2022 if you need an extension such as metadata on the mint, fees or non-transferable tokens; the original program if you need none.
Building a wallet or checkoutSupport both programs: they share the same transfer layout, but Token-2022 tokens may need extra accounts or a checked transfer.
Sources
Questions

Questions about Token-2022.

Is Token-2022 the same as Token Extensions?

Yes. Token Extensions is the other name for the Token-2022 program, at TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb.

Is USDC on Solana a Token-2022 token?

No. USDC on Solana is owned by the original Token program, TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA, as its mint account showed on 15 October 2026.

Can a Token-2022 token charge a fee when I receive it?

Yes, if its mint has the transfer fee extension with a fee above zero. Part of each transfer is withheld in the receiving account, and you cannot spend that part.

Do Token-2022 tokens use different token accounts?

They use accounts owned by Token-2022 instead of the Token program, so the associated token account address is different. One Associated Token Account program creates both kinds.

Can I accept PYUSD or other Token-2022 stablecoins with Fianto?

No. Fianto accepts USDC on Solana only, on the original Token program.

Read next.

Solana6 min read

What is an SPL token? Solana's token standard in plain English

An SPL token is a token on Solana that is created and moved by one of Solana's two shared token programs, rather than by its own smart contract. Each SPL token is defined by a mint account, and every holder keeps the balance in a separate token account. USDC on Solana is an SPL token on the original Token program, with 6 decimals, and a one-off payment through Fianto moves it with the Token program straight from the customer's USDC account to the merchant's.

Solana8 min read

Programs, not smart contracts: how Solana runs a subscription payment

A Solana program is what other chains call a smart contract, with one structural difference: the program account holds only executable code, and every piece of state it works on lives in separate accounts that the program owns. A payment program on Solana is therefore a program plus a set of accounts, usually at program derived addresses. The Subscriptions program behind Fianto shows the pattern: a plan account for each price and its terms, one subscription account per subscriber and plan, and one authority account per wallet and token.

Stablecoins7 min read

PYUSD, USDG, EURC: other stablecoins on Solana, compared with USDC

Besides USDC, three regulated stablecoins with their own Solana mints are PayPal USD (PYUSD) and Global Dollar (USDG), both from Paxos entities, and Circle's euro coin EURC. They differ in issuer, currency and token program: PYUSD and USDG run on Token-2022 with a permanent delegate, a key that can move or burn tokens in any holder's account, while USDC and EURC run on the original Token program without one. Fianto, which publishes this post, accepts native USDC only.

Read the mint before the price.

For USDC on Fianto, the program is already decided.

New posts are announced on X and Discord.