Feb 2, 2026
Introducing Token Gating & Deflationary Tokenomics
Token gating and a 0.1% burn are now live across the zNinja Shielded Pool stack.
Today we’re excited to announce a major upgrade to the zNinja Shielded Pool protocol: token gating and a 0.1% burn mechanism are now live across our entire stack.
What’s new?
Token gating
The zNinja Shielded Pool now requires users to hold $NINJA tokens to interact with the protocol. This creates a natural alignment between protocol usage and token ownership—if you want privacy, you need to be part of the community.
The gate check is simple: your wallet must have a non-zero balance of $NINJA to deposit or withdraw. This ensures that only token holders can access the shielded pool, creating sustainable demand for $NINJA while filtering out potential bad actors.
Deflationary burns
Every deposit and withdrawal now burns 0.1% of the transaction amount. This small fee creates constant deflationary pressure on $NINJA’s supply:
| Action | Burn Applied |
|---|---|
| Deposit | ✅ 0.1% burned |
| Withdraw | ✅ 0.1% burned |
| Shielded Transfer | ❌ No burn |
Why no burn on shielded transfers? We want to encourage users to keep funds in the shielded pool as long as possible. Once you’re inside the pool, moving funds privately is completely free.
Over time, as protocol usage grows, the cumulative burn will meaningfully reduce the circulating supply of $NINJA.
Technical implementation
This upgrade touched every layer of our stack:
Solana program
- Added
burn_rate_bpsandtotal_burnedto pool configuration - Gate validation on deposit and withdraw instructions
- Token burn via CPI before vault transfers
TypeScript SDK
- New burn calculation utilities:
calculateBurnAmount(),calculateAmountAfterBurn(),calculateGrossAmount() - Updated
PoolConfiginterface with burn tracking fields
Swift SDK (iOS)
- Native burn calculation functions for mobile apps
- Updated configuration with burn rate parameter
All changes maintain full backwards compatibility. Existing integrations will work seamlessly—they’ll just start seeing the burn applied automatically.
What this means for users
When you deposit 1,000 $NINJA:
- 1 $NINJA is burned (0.1%)
- 999 $NINJA enters your shielded balance
When you withdraw 1,000 $NINJA:
- 1 $NINJA is burned (0.1%)
- 999 $NINJA arrives in your wallet
The burn is clearly displayed in both our SDKs, so users always know exactly what they’re receiving.
Looking ahead
This is the first step in our tokenomics roadmap. The burn mechanism lays the groundwork for future features like:
- Tiered burn rates based on holding duration
- Burn fee distribution to stakers
- Governance control over burn parameters
Get started
The updated SDKs are available now:
- TypeScript: npm install @zninja/shielded-pool-sdk
- Swift: Add ShieldedPoolSDK via Swift Package Manager
- Documentation: docs.zninja.io
Building private transactions on Solana, one burn at a time.