Smart Contract Tokenomics: NAV-Based Fund Shares


When people talk about fungible tokens on blockchains, they often mean simple ERC-20/SIP-010 style coins — fixed supply, fixed decimals, no real-world link to value.
PoolMind’s PLMD token is different.
It represents actual shares in a pooled arbitrage fund, and its price (Net Asset Value — NAV) changes based on the performance of the pool. That means holding 100 PLMD today might not be worth the same in STX tomorrow — and that’s by design.
How It Works
Think of PLMD as a digital share certificate.
When you deposit STX into the fund, the contract mints PLMD tokens based on the current NAV.
When you withdraw, the contract burns your PLMD tokens and gives you STX at that same NAV rate.
The NAV itself changes whenever the fund makes or loses money — an admin updates it to reflect the new value per share.
Core Concepts in the Contract
1. NAV Tracking
In the contract, NAV is stored as uSTX per token
, with 6 decimal precision:
(define-data-var net-asset-value uint u1000000)
;; 1.000000 STX per token by default
If the fund grows, the admin calls an update function to increase NAV — making each PLMD token worth more STX.
2. Deposit Function
When a user deposits STX, we calculate how many PLMD tokens to mint:
;; tokens-to-mint = (deposit * TOKEN_PRECISION) / NAV
This ensures you get fewer tokens when NAV is high (since each token is more valuable) and more tokens when NAV is low.
We also deduct an entry fee:
(define-data-var entry-fee-rate uint u5) ;; 0.5%
This fee goes directly to the treasury before minting tokens.
3. Withdraw Function
Withdrawing burns tokens and sends you STX:
;; stx-to-return = (tokens * NAV) / TOKEN_PRECISION
Again, an exit fee is applied:
(define-data-var exit-fee-rate uint u5) ;; 0.5%
This keeps the fund sustainable.
4. Precision Handling
We define:
(define-constant TOKEN_PRECISION u1000000) ;; 6 decimal places
This prevents rounding errors in NAV calculations and ensures accurate payouts, especially as the fund grows and fractional shares appear.
5. Admin Controls
The admin can:
Update NAV to reflect pool performance.
Pause deposits/withdrawals in emergencies.
Toggle token transferability (since PLMD is non-transferable by default — it’s a share, not a tradeable coin).
Why This is Different From a Basic Token
A standard SIP-010 token just gives you an amount. PLMD’s value is denominated in STX and changes over time. This introduces:
Dynamic supply changes — tokens minted/burned based on deposits and withdrawals.
Performance-based pricing — NAV ties token value directly to the pool’s success.
Built-in fee structure — entry/exit fees on every movement.
Example Flow
Let’s say:
NAV =
1.000000 STX
You deposit
100 STX
Entry fee = 0.5% →
0.5 STX
taken as feeRemaining deposit =
99.5 STX
Tokens minted:
tokens = (99.5 * 1,000,000) / 1,000,000 = 99.5 PLMD
If NAV later rises to 1.200000 STX
and you withdraw all 99.5 PLMD:
STX returned = (99.5 * 1,200,000) / 1,000,000 = 119.4 STX
Exit fee = 0.5% → 0.597 STX
Final payout = ~118.803 STX
You made a profit simply because the NAV increased.
Key Takeaways
NAV is king — all mint/burn logic revolves around it.
Precision matters — fixed-point math avoids costly rounding mistakes.
Fees are built-in — sustaining the pool without manual deductions.
It’s not just “a token” — PLMD is a share with built-in valuation logic.
Subscribe to my newsletter
Read articles from David John directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

David John
David John
Professional Biography: In the technology realm, others see code. I see art. My journey as a software engineer is fueled by a steadfast conviction in the power of creativity to transform our world and the ability of technology to unleash human potential. As a self-taught developer from Nigeria, I have taken a unique route fueled by a constant inquiry and an insatiable thirst for invention. I spent my five years as a developer growing from a lone learner to a versatile full-stack developer and enthusiast for artificial intelligence. Today, my technological landscape spans web development, artificial intelligence, and blockchain technologies, each established through learning about multiple frameworks. Technical Skills: In terms of technical skills, I possess a broad breadth and depth. I know multiple programming languages - Python, JavaScript, Ruby, and C - and possess exceptional knowledge of multiple web technologies - React, Next.js, Node.js, Django, and upcoming frameworks. When I approach code development, I don't just think of it as code. I think of it as compositions. Each line of code is like a musical note bringing functionality together to create a symphony. Professional Philosophy: More than skills, I have a vision to create opportunities. Having seen dauntless ambition and unmet creativity in uninviting environments, I believe technology has the possibility of leveling the playing field. I find coding far more relevant than code; to me, it's about giving people a chance to unearth their expression and potential. Current Frontiers: I'm currently digging deep into the intersections of AI, web development and blockchain technologies. My excitement surrounding cryptocurrencies and programmable assets stems from a mindset I have toward a more fluid, easier to access digital ecosystem. I view these technologies as tools for innovation rather than things that are far off in the future.