What Does the Interest-Bearing Token Extension Do on Solana?
Solana's Token-2022 interest-bearing extension stores an annual rate on the mint so the displayed balance grows over time. No new tokens are ever created.
The interest-bearing extension is probably the most misunderstood thing in the Token-2022 toolbox. The name suggests your tokens quietly multiply in your wallet, which is exactly what most people assume the first time they read it. That's not what happens, and the gap between what it sounds like and what it does is worth closing before you mint anything with it.
TL;DR
- The interest-bearing extension (
InterestBearingConfig) stores an annualized interest rate directly on a Token-2022 mint account. - It does not create tokens. Solana's documentation states plainly that interest bearing tokens do not add more tokens to token accounts over time.
- What grows is the UI amount — the display value the token program returns when asked to convert a raw balance into a human-readable one.
- The rate is set in basis points, where 100 basis points equals 1%. It is signed, so a negative rate is valid and makes the displayed balance shrink.
- Interest is continuously compounded against the network's own clock, not paid out at intervals.
- A rate authority can change the rate later. That authority can also be reassigned or revoked.
- The extension can only be enabled when the mint is created. There is no way to add it to a token that already exists.
What Is the Interest-Bearing Token Extension?
The interest-bearing extension is a Token-2022 mint extension that records an annualized interest rate on the mint account itself. When any program or client asks the token program to convert a raw token amount into a display amount, the program adds the interest accrued since the mint was initialized. No custom smart contract is involved — the behavior lives in the token program.
It arrived with token extensions, the set of protocol-level features that shipped with the Token-2022 program and replaced what used to require bespoke contract code. It is the quieter sibling of the transfer fee extension: both are mint-level economics, but the transfer fee moves real tokens and this one does not.
Does an Interest-Bearing Token Actually Create New Tokens?
No, and this is the single most important thing to understand about it.
Solana's interest-bearing tokens documentation puts it directly: "Interest bearing tokens do not add more tokens to token accounts over time." The token amount in an account stays exactly where it is until a mint, transfer, or burn instruction moves it. Total supply is untouched.
The Token-2022 extension guide is even blunter: "No new tokens are ever created, the UI amount returns the amount of tokens plus all interest the tokens have accumulated. The feature is entirely cosmetic."
So what's actually growing? The UI amount. That's the number the token program returns when something asks it "what should I show a human for this balance?" The raw amount sits at 1,000,000 and stays there. The UI amount is 1,000,000 today and something larger next month, calculated on demand from the rate and the elapsed time.
That distinction isn't a limitation to work around. It's the design. The extension gives you a trustworthy, on-chain, program-computed accrual curve without inflating supply, without a rebase, and without anyone having to run a distribution bot.
How Is the Interest Calculated?
Interest is continuously compounded based on the network timestamp. There is no daily tick, no epoch boundary, no payout event. Ask for the UI amount two seconds apart and you get two slightly different answers.
The program does the math in two parts, which matters if the rate has ever changed:
- From the mint's initialization timestamp up to the last rate update, using
pre_update_average_rate— a time-weighted average of every rate that was in force during that window. - From that last update to now, using the
current_rate.
When the rate authority calls UpdateRate, the program recalculates that historical average before writing the new rate and timestamp. Past accrual is preserved rather than retroactively rewritten, so changing the rate in year two does not quietly restate year one.
What Are Basis Points Here?
The rate is expressed in basis points, where 100 basis points equals 1%. A few reference points:
- 500 basis points = 5% per year
- 1,000 basis points = 10% per year
- -250 basis points = -2.5% per year, so the displayed balance shrinks
The field is a signed 16-bit integer, which bounds it to the range -32,768 to 32,767 basis points. Negative rates are not a quirk — they are a legitimate way to model demurrage, decaying loyalty points, or anything meant to lose display value the longer it sits.
Who Can Change the Rate?
At initialization you nominate a rate authority: the one address permitted to call UpdateRate on that mint. Everything else about the token is untouched by it. The rate authority cannot mint, cannot freeze, and cannot change metadata.
You have three sensible options:
- Keep it on your own wallet, if you expect to adjust the rate as conditions change.
- Assign it to another address, a multisig, or a program address so a protocol governs the rate rather than a person.
- Revoke it at creation, which permanently locks the rate. Nobody can ever change it, including you.
Revocation is the strongest signal you can send holders about a rate, for the same reason revoking mint authority is the strongest signal you can send about supply. It's also irreversible, so decide deliberately.
Where Does the Grown Balance Actually Show Up?
There are two ways to read the accrued value, and the difference explains why your wallet may look frozen:
- Off-chain calculation. A client fetches the mint account and the clock sysvar and computes the UI amount locally. No transaction, no fee, no network round trip beyond the two reads.
- On-chain instruction.
AmountToUiAmountruns inside the token program and hands the result back as transaction return data. This is what a program calls when it needs the token program itself to be the source of truth.
Here's the practical catch: most wallets and explorers display the raw token amount, not the UI amount. They call the ordinary balance endpoint and render whatever number comes back. Your holders may well see a balance that has not moved in six months, even though the accrual is real and any integration that asks for the UI amount will see it.
Solana's documentation also flags a smaller caveat worth repeating: "Due to drift that may occur in the network timestamp, the accumulated interest could be lower than the expected value. Thankfully, this is rare." The clock the program reads is the network's clock, and the network's clock can wobble.
Interest-Bearing vs Rebasing vs Staking Rewards
These three get conflated constantly, so it's worth separating them cleanly:
- Interest-bearing extension. No tokens move. No supply is created. A rate stored on the mint changes what the display value should be. Enforced by the token program, computed on demand, costs nothing to run.
- Rebasing. Real token amounts in real accounts are adjusted, usually by a program that touches every holder. Supply changes. Wallets show the new number because the new number is genuinely there. Expensive and complex at scale.
- Staking or reward distribution. Real tokens are transferred from a treasury or minted into holders' accounts. Supply usually grows. Somebody has to fund it, and somebody has to run the distribution.
Only the first one is free, automatic, and supply-neutral. Only the last two put more tokens in anyone's hands.
What Are Interest-Bearing Tokens Actually For?
The extension is at its most useful where the concept of accruing value is central and the token is a claim on something rather than the thing itself:
- Instruments with a stated yield. A token representing a bond, a note, or a deposit where the accrual schedule is known up front and the display value should reflect it without a distribution event.
- Receipt and share tokens. A token that stands for a position in a pool, where a single mint-level rate is a cleaner representation than reissuing balances.
- Points that decay. Set a negative rate and the displayed value falls on a schedule, which is a neat fit for expiring credits or loyalty balances.
- Any accounting where supply must stay fixed. Because nothing is minted, total supply remains a clean, auditable number no matter how long interest accrues.
One thing the extension explicitly does not do is create the value it displays. If a holder is ever meant to redeem the accrued amount for something real, you have to fund and honor that yourself, in another program or off-chain entirely. The extension is the accounting display. It is not the treasury.
The Caveats Worth Knowing Before You Mint
- It is display-only. The token program is doing arithmetic, not distribution. Never describe it to holders as if tokens are being paid out.
- It is mint-time only. The initialization instruction has to run in the same transaction that creates the mint account, before
InitializeMint. That ordering is why the extension can never be added afterwards. - Wallet support varies. Assume most interfaces will show the raw amount. If the accrued value matters to your users, you'll probably need to surface it in your own interface.
- Integrations need to be told. Exchanges, pricing services, and any program that reads balances will read the raw amount unless they are built to ask for the UI amount.
- Timestamp drift exists. Accrual can come in marginally under the theoretical figure. It is rare, and it is documented.
- Decide the rate authority up front. Keeping it means you can adapt; revoking it means holders can be certain. You cannot have both.
How Do You Create an Interest-Bearing Token Without Code?
Because the extension has to be written into the mint at creation, this is one of the decisions you have to get right before you sign anything — there's no later.
The interest-bearing extension is a Token-2022 feature, so it sits on the Pro tier of our builder. You toggle it on under Economics, type the annual rate in basis points, pick whether the rate authority stays with you, goes to another address, or is revoked, and sign. The builder assembles the whole thing — account creation, extension initialization and mint initialization — into the correctly ordered transaction for you.
If you're still deciding which tier you need, the token creator walks through the differences. The short version: if you need any Token-2022 extension at all, including this one, Pro is the only path, because none of them can be added to a token that already exists.
Disclaimer
This guide is for educational purposes only and is not financial, legal, or investment advice. The interest-bearing extension changes a displayed value and does not distribute, generate, or guarantee any return. SoulMinter is an independent software tool and is not affiliated with, endorsed by, sponsored by, or partnered with the Solana Foundation, Solana Labs, or any other third party mentioned or linked in this article. External links are provided for reference only; we do not control their content. All product names, trademarks, and brands are the property of their respective owners and are used for identification purposes only. Always do your own research and use any third-party service at your own risk.
How to create an interest-bearing token on Solana
Enable the Token-2022 InterestBearingConfig extension at mint time using a no-code builder, set the annual rate in basis points, and choose who can change it later.
- 01
Open the Pro builder and connect a wallet
The interest-bearing extension only exists in the Token-2022 program, so it lives on the Pro tier. Connect the Solana wallet you want to mint from.
- 02
Fill in Token Identity
Name, symbol, image, decimals and supply. This is the ordinary mint configuration and is unaffected by the extension.
- 03
Set your authorities
Decide whether to keep, reassign or revoke the mint, freeze and update authorities. These are separate from the interest rate authority.
- 04
Enable Interest Bearing on the Extensions step
Under Economics, toggle Interest Bearing on and enter the annual rate in basis points. 500 basis points is 5% per year. A negative number is valid and makes the displayed balance shrink.
- 05
Choose the rate authority
Keep it on your wallet, assign it to another address or a program address, or revoke it outright. Revoking locks the rate in permanently.
- 06
Review and sign
Check the summary, then sign the transaction. The extension is written into the mint account in the same transaction that creates it, which is why it can never be added later.
Frequently asked questions
What does the interest-bearing token extension do on Solana?
It stores an annualized interest rate directly on the mint account. Whenever something asks the token program to convert a raw amount into a display amount, the program adds the interest that has accrued since the mint was initialized. The number of tokens in the account never changes.
Do interest-bearing tokens create new tokens?
No. Solana's documentation is explicit: interest bearing tokens do not add more tokens to token accounts over time, and no new tokens are ever created. The raw balance only moves when a mint, transfer or burn instruction moves it.
How is the interest calculated?
It is continuously compounded against the network timestamp. The program calculates in two parts: from the mint's initialization timestamp to the last rate update using a time-weighted average of the old rates, then from that update to now using the current rate.
What are basis points in the interest-bearing extension?
The rate is stored in basis points, where 100 basis points equals 1%. So 500 basis points is 5% per year and 1,000 is 10% per year. The field is a signed 16-bit integer, so it accepts anything from -32,768 to 32,767.
Can the interest rate be changed after the token is created?
Yes, if a rate authority exists. That authority can call the UpdateRate instruction at any time. When it does, the program folds the old rate into a time-weighted historical average so past accrual is preserved, then starts applying the new rate from that moment. Revoking the rate authority locks the rate permanently.
Can the interest rate be negative?
Yes. The rate field is signed, so a negative rate is valid and the displayed balance shrinks over time instead of growing. This is sometimes used to model demurrage or points that expire.
Why does my wallet show the same balance if the token is interest-bearing?
Because most wallets and explorers display the raw token amount rather than calling the token program's AmountToUiAmount conversion. The accrual is real in the sense that the program will always calculate it, but only software that asks for the UI amount will show it.
Can the interest-bearing extension be added to an existing token?
No. The extension has to be initialized in the same transaction that creates the mint account, before InitializeMint runs. A token that was minted without it cannot have it bolted on afterwards, so a new mint would be required.
Is an interest-bearing token the same as staking or yield?
No. Staking and yield-farming distribute real tokens from somewhere. The interest-bearing extension moves no tokens and creates no supply. Solana's own documentation describes the feature as entirely cosmetic, and anyone building redemption value on top of it has to fund and honor that separately, off-chain or in another program.
Sources
- Solana Docs: Interest-Bearing Tokenshttps://solana.com/docs/tokens/extensions/interest-bearing-tokens
- Solana Program Library: Token-2022 Extension Guidehttps://www.solana-program.com/docs/token-2022/extensions
- Solana: Token Extensionshttps://solana.com/solutions/token-extensions
External links are provided for reference only. SoulMinter is an independent software tool and is not affiliated with, endorsed by, sponsored by, or partnered with the operators of these sites.
About the author
Share this article
Ready to Create Your Own Solana Token?
Put your knowledge into practice with SoulMinter's no-code token creation platform.
Create Token NowRelated Articles

How to Revoke Mint and Freeze Authorities on Solana (and Why You Should)
A plain-English guide to revoking mint and freeze authority on a Solana SPL token — what these authorities actually do, why holders care, and how to revoke them for free with SoulMinter.

Transfer Fees on SPL Tokens, Explained: How They Work and Why Projects Use Them
What is a transfer fee on a Solana SPL token? Learn how the Token-2022 transfer fee extension works, why projects use it, and how to add one to your own token with SoulMinter.

How To Create Your Own SPL Token Without Writing a Single Line of Code - 2026 Guide
A step-by-step 2026 guide to creating your own Solana SPL token without coding. Learn the full no-code workflow, costs, and best practices using SoulMinter.