Tokenization
Understanding how Zero-Coupon Bonds can be tokenized as ERC20 tokens in the Fixed-Rate Lending Protocol
Last updated
Was this helpful?
Understanding how Zero-Coupon Bonds can be tokenized as ERC20 tokens in the Fixed-Rate Lending Protocol
Last updated
Was this helpful?
Our protocol allows Zero Coupon Bonds (Lending positions) to be tokenized as ERC20 standard tokens, which is called ZCToken
, and withdrawn from the platform. This tokenization enables greater flexibility for users, allowing them to transfer their lending positions to other wallets or potentially trade them on secondary markets.
The tokenization process involves converting lending positions into standard ERC20 tokens that can be withdrawn from the platform and later redeposited if desired. There are two main flows in this process:
When a user wants to withdraw their lending position as a token:
When a user wants to deposit their ZC token back into the platform:
ZC Token Names and Symbols (example as March 2024 expiry):
ETH
ZC ETH MAR2024
zcETH-2024-03
ZC ETH
zcETH
WBTC
ZC WBTC MAR2024
zcWBTC-2024-03
ZC WBTC
zcWBTC
USDC
ZC USDC MAR2024
zcUSDC-2024-03
ZC USDC
zcUSDC
axlFIL
ZC axlFIL MAR2024
zcaxlFIL-2024-03
ZC axlFIL
zcaxlFIL
Metamask Symbol Name Convention (max 11 chars, example as March 2024 expiry):
ETH
ZC ETH MAR2024
zcETH24M
WBTC
ZC WBTC MAR2024
zcWBTC24M
USDC
ZC USDC MAR2024
zcUSDC24M
axlFIL
ZC axlFIL MAR2024
zcxFIL24M
FIL
ZC FIL MAR2024
zcFIL24M
Month abbreviations: MAR = M; JUN = J; SEP = S; DEC = D
Token Standard
The token standard used for ZC tokens
ERC20
Token Decimals
Number of decimal places supported by ZC tokens
18
Maturity Format
How maturity is represented in token names
MMMYYYY (e.g., MAR2024)
Symbol Format
Format for token symbols
zc[ASSET]-YYYY-MM
Metamask Symbol Format
Shortened format for Metamask display
zc[ASSET]YYM
Perpetual Token Maturity
Maturity value for perpetual tokens
0
Minting Source (ZC Tokens)
Contract that mints standard ZC tokens
FutureValueVault
Minting Source (Perpetual)
Contract that mints perpetual ZC tokens
GenesisValueVault
Alice has lent 1,000 USDC in the JUN2025 market and wants to transfer this position to another wallet:
Alice navigates to the "My Positions" section in the protocol interface
She selects her 1,000 USDC lending position in the JUN2025 market
She clicks "Withdraw as Token" and confirms the transaction
The protocol mints a "ZC USDC JUN2025" token (zcUSDC-2025-06) to Alice's wallet
The token represents Alice's right to receive 1,000 USDC plus interest at maturity
Alice can now transfer this token to any other Ethereum wallet
Bob has received a "ZC ETH SEP2024" token from a friend and wants to manage it within the protocol:
Bob navigates to the "Deposit" section in the protocol interface
He selects the "Deposit ZC Token" option
He selects his "ZC ETH SEP2024" token from his wallet
He confirms the transaction
The protocol burns the ZC token and credits Bob's account with the corresponding lending position
Bob can now view and manage this position within the protocol interface
Charlie wants to create a more flexible lending position that isn't tied to a specific maturity:
Charlie deposits 5 ETH into the GenesisValueVault
The protocol mints "ZC ETH" perpetual tokens (zcETH) to Charlie's wallet
These tokens represent a standardized lending position without a fixed maturity date
Charlie can transfer these tokens to other users or use them in other DeFi protocols
When Charlie wants to redeem the underlying value, he can deposit the tokens back into the GenesisValueVault
ZC tokens have a specific maturity date (e.g., ZC ETH MAR2024) and represent a lending position that will mature on that date. ZC perpetual tokens (e.g., ZC ETH) do not have a specific maturity date and represent a standardized lending position that can be redeemed at any time. ZC tokens are minted from the FutureValueVault, while ZC perpetual tokens are minted from the GenesisValueVault.
Yes, ZC tokens are standard ERC20 tokens that can be transferred to any Ethereum wallet and potentially traded on secondary markets or used in other DeFi protocols. However, the liquidity of these tokens on secondary markets may vary depending on market conditions and the specific token.
When a ZC token reaches its maturity date, it can be redeemed for the underlying asset plus any accrued interest. The protocol will handle the redemption process when you deposit the token back into the platform. Alternatively, if you participate in Auto-Rolling, your position can be automatically rolled over to a new maturity.
ZC tokens should appear automatically in your Metamask wallet after they are minted. However, if they don't appear, you can add them manually:
Click "Import tokens" in Metamask
Enter the token contract address (available from the protocol interface)
The token symbol and decimals should auto-populate
Click "Add Custom Token"
Note that Metamask has a character limit for token symbols, so the symbols may appear slightly different (e.g., "zcETH24M" instead of "zcETH-2024-03").
Yes, you can withdraw any portion of your lending position as a ZC token. The protocol will mint tokens representing the exact amount you choose to withdraw, and the remaining portion will stay in your account within the protocol.
Each ZC token has a maturity, but if the maturity is 0, it becomes a ZC perpetual token. Generally ZC tokens are minted from FutureValueVault
but ZC perpetual tokens are minted from GenesisValueVault
. Please check the for the reference.