Smart Contract Tokenomics: NAV-Based Fund Shares

David JohnDavid John
3 min read

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 fee

  • Remaining 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

  1. NAV is king — all mint/burn logic revolves around it.

  2. Precision matters — fixed-point math avoids costly rounding mistakes.

  3. Fees are built-in — sustaining the pool without manual deductions.

  4. It’s not just “a token” — PLMD is a share with built-in valuation logic.

0
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.