nTokens

The nTokens are ERC20 tokens, with a value pegged to a financial underlying asset and 1:~1 in secondary markets due to accessible arbitrage opportunities.

nTokens Info

nTBILL1

The nToken $nTBILL1 is an ERC-20 token native to the Optimism Network that tokenizes the value of the iShares $ Treasury Bond 0-1yr UCITS ETF (IB01).

nSP500

The nToken $nSP500 is an ERC-20 token native to the Optimism Network that tokenizes the value of the iShares Core S&P 500 UCITS ETF (CSPX).

nEM

The nToken $nEM is an ERC-20 token native to the Optimism Network that tokenizes the value of the iShares J.P. Morgan $ EM Investment Grade Bond UCITS ETF (IGAE).

nICOM

The nToken $nICOM is an ERC-20 token native to the Optimism Network that tokenizes the value of the iShares Diversified Commodity Swap UCITS ETF (ICOM).

nTokens contract overview

nTokens are built on top of the Open Zeppelin ERC20 canonical implementation in combination with LayerZero interoperability.

How the nTokens works

The nTokens are a representation of a financial underlying asset, tokenized into an ERC20 that allows us to bring TradFi tools into the web3 ecosystem.

For example, a nToken is tied to a single underlying asset that is composed of the shares of a previously selected ETF (Exchange-traded Funds).

The nTokens allow Num Finance to bring the benefits of the robust, time-tested arena of TradFi into a growing industry like crypto, allowing users to access features like permissionless composability.

Principal functions

  • mint: The mint function works like any other ERC20. The user will transfer USDC into Num Platform and mint a nToken from the value in USDC selected.

  • reedem: The redeem function works like any other ERC20. It allows the user to receive back the value in USDC of the nToken through a Burning process.

Other functions

  • transfer: The transfer function works like any other ERC20. Note that the transferred amount will be nTokens, not shares. This will match the user expected behavior, by sending balanceOf and not Shares.

  • deposit: This function allows the user to deposit nTokens or USDC into Num Finance Platform.

  • withdraw: This function allows the user to withdraw nTokens or USDC out of Num Finance Platform.

Dependencies

The nTokens contract builds on top of widely used battle-tested components:

  • OpenZeppelin Dependencies (v4.7.0)

  • Implementation:

    • ERC20Upgradeable.sol

    • AccessControlUpgradeable.sol

    • ERC2771Context.sol

    • Proxy Structure

  • LayerZero Dependencies (@layerzerolabs/lz-evm-oapp-v2 v2.0.2)

  • OFTCore.sol

Last updated