


Introduction
The Neutrino protocol is an algorithmic price-stable assetization protocol that enables the creation of stable coins tied to real-world assets or cryptocurrency. The Neutrino protocol is represented by a set of interacting smart contracts written in the programming language Ride and deployed to the Waves blockchain. Most of the operations with the Neutrino protocol are currently available through the Waves.Exchange interface. Navigation through the Waves blockchain is possible with Waves Explorer and the community-driven services like Pywaves or w8io.
The Neutrino system basically consists of 4 core tokens: WAVES, USDN, NSBT and SURF. WAVES is a core token of the Waves blockchain that is used for paying transaction fees. It serves as a collateral for USDN, the main Neutrino stablecoin. USDN is an algorithmic stablecoin pegged to the US dollar. It serves as a collateral for other Neutrino stable assets. NSBT is a recapitalization and governance token of the Neutrino protocol that ensures the USDN collateral reserves’ stability. SURF is the derivative token that is designed to improve the mechanics of recapitalization of USDN reserves.
Neutrino stable assets are digital assets that serve as an equivalent of their underlying real-world analogs. For example, EURN is pegged to the Euro in a 1-to-1 ratio. All Neutrino assets leverage the underlying Waves blockchain’s consensus algorithm to enable staking, which stimulates users to own assets.
Decentralized Forex or DeFo is an extension built on top of the Neutrino protocol that enables instant swaps between stable-price assets tied to popular national currencies, indices or commodities. The first DeFo interface is implemented by Waves.Exchange.
Entities
Overall, five types of on-chain and off-chain entities exist and interact with each other within the Neutrino system, linked together by smart contracts:
Users: anyone who has a Waves account (usually managed through the Keeper Wallet and Waves Signer extensions).
Price oracles: a set of predetermined accounts providing a market price feed from different sources to the blockchain.
Pacemaker oracles: any Waves account (usually a bot) that triggers transactions and processes complex computations. It is necessary to have pacemaker oracles for the system to run because of the non-Turing nature of the Ride language and calculation complexity limits.
Waves full node: a Waves node within a peer-to-peer blockchain network that operates based on the Leased Proof of Stake algorithm. It accumulates and distributes block rewards for the Neutrino dApp. Since 2022 all the Neutrino reserves are leased to community nodes. Note: You can find a list of full nodes at dev.pywaves.org.
Emergency oracle: an account selected by the community and entitled with special privileges to halt the protocol's operations in case of a malicious hacking attack against the smart contract infrastructure and reactivate it. Aside from this authority, this actor does not have any special access or control within the system.

USDN
Neutrino USD (USDN) is an algorithmic USD-pegged stablecoin created with the Neutrino protocol in 2019. USDN is collateralized by the WAVES token. All operations involving USDN, such as issuance, staking and reward payouts, are governed by smart contracts. Any deviations from the 1:1 peg can be counteracted by arbitration bots, given that every USDN token is backed by WAVES. USDN’s sustainability is ensured by NSBT and SURF tokens.
USDN supply
Due to limitations (the inability to dynamically issue tokens in a contract) of the Waves blockchain’s Ride language version 1 that was originally used to implement USDN asset issuance logic, the main Neutrino smart contract (3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo) and the liquidation smart contract (3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7) addresses contain locked USDN amounts on their balances.
Originally, 1 trillion USDN assets were issued and locked in the contract with no ability to issue additional amounts. Nobody, including the Neutrino development teams, has access to the locked assets. The only way to unlock the issued USDN is to swap WAVES for USDN through the smart contract at the current market rate via swapWavesToNeutrino() operation. Balances of the main and liquidation contracts are excluded from the total supply.
Burn asset
The Waves blockchain provides the ability to burn any asset, and USDN is no exception. Burning leads to permanent loss of the assets.
Max supply
The maximum possible amount of issued USDN was initially restricted to 1,000,000,000,000 (one trillion) assets. The burned assets are excluded from the max supply.
The current max supply can be reviewed:
via the official Explorer (Quantity field)
with the official node API method GET /assets/details/{assetId}. Response example (Quantity/10^decimals).
Total supply
The USDN total supply is the total amount of assets issued by the smart contract minus burned and/or returned to the main contract via USDN to WAVES reverse swaps (swapNeutrinoToWaves operation).
The total supply is calculated by a formula.
In the smart contract code it is expressed the following way: let neutrinoSupply = neutrinoLockedBalance (locked USDN amount during usdn2waves swap) plus assetInfo(neutrinoAssetId).value().quantity (full USDN emission which is locked at the contract balance) minus assetBalance(neutrinoContract, neutrinoAssetId) (Main Neutrino USDN Balance) minus assetBalance(liquidationContract, neutrinoAssetId) (Liquidation USDN Balance)
In the Explorer code, it is expressed the following way: let neutrinoSupply = ((neutrinoLockedBalance + value(assetInfo(neutrinoAssetId)).quality) - assetBalance(neutrinoContract, neutrinoAssetId) - assetBalance(addressFromStringValue(liquidationContract), neutrinoAssetId))
Circulating supply
The USDN circulating supply is the amount of USDN circulating in the market. None of the teams engaged in Neutrino protocol development have ever conducted any token sales or possess any USDN tokens locked for the project’s needs. All the USDN unlocked from the contract are circulating in the market and the amount equals the total supply.
The circulating supply is calculated by the following formula:
circulatingSupply = totalUsdnSupply minus neutrinoContractUsdnBalance minus liquidationContractUsdnBalance minus neutrinoUsdnLockedBalance

ERC-20 USDN
The USDN asset is supported on the ERC-20 Ethereum blockchain and operates via ERC-20 smart contract 0x674C6Ad92Fd080e4004b2312b45f796a192D27a0.
USDN assets that have been ported to the Ethereum blockchain via Waves.Exchange gateway are locked in the Waves blockchain’s smart contract. Supply amounts confirming this statement can be found here and here.
Staking USDN
The Waves blockchain uses the Leased Proof of Stake (LPoS) consensus algorithm. LPoS facilitates leasing WAVES tokens to nodes that a user trusts. The probability of a node to become a block validator is proportional to the total amount of tokens received from leasers. Leased WAVES are locked in the user’s account and cannot be transferred or traded. Still, the ownership of the tokens remains in full control of the account holder, meaning that leasing can be canceled at any time. For each new validated block, the winning miner receives a reward from transaction fee proceeds within the block. Node owners can also send rewards to their leasers.
The Neutrino protocol uses leasing to incentivize users to issue more USDN. Those who staked their USDN receive a fee from leased collateralized WAVES reserves (in the smart contract) in USDN coins. This process is based on regular snapshots of holders’ accounts and their leasing arrangements.
In the current implementation, all WAVES from collateral are leased to Neutrino community nodes that generate additional income. The generated WAVES are distributed as follows:
5% are distributed to the owners of Neutrino community nodes.
45% are transferred to AMM pools stablization contract "3PC7DBimauyKytx8tXhKo5u2ECb6FsndYKH". The allocated amounts are then transferred to ETH account ("0x3DD7889352FBbbbc382226830dB78337c9440F5b") to buy CRV token, that will be locked to vote for USDN 3-pool on Curve.fi.
When BR is <1, 45% are added to the existing Neutrino reserves. Or when BR is >1, 45% are distributed to USDN stakers.
5% are distributed to USDN stakers.
The amount of generated WAVES that is intended to be distributed to USDN stakers is transferred back to the Neutrino smart contract and converted to USDN. Staking reward payouts occur every 1,440 blocks, which corresponds to approximately 24 hours.
The RPD (Rewards Payouts Distribution) contract implements USDN staking and staking payout withdrawals by users. To start USDN staking, a user should call lockNeutrino() and provide a payment of the amount of USDN to stake with the transaction. To cancel staking, a user should call unlockNeutrino(unlockAmount: Int, assetIdString: String).
Here is the list of exchanges and wallets that support USDN staking in their UI. All ERC-20 USDNs are staked automatically, so a user doesn’t have to take any actions.
The amount of staking rewards depends on when the staking started, on the share of staked USDNs in the total USDN supply and on fluctuations in WAVES market capitalization.

NSBT
NSBT (Neutrino System Base Token) is the derivative token that is designed to ensure the stability of the reserves of the Neutrino smart contract through the mechanism of reserve recapitalization.
New NSBTs are issued for locking WAVES on the contract, serving as additional backing and insuring the system against deficit. When the value of WAVES tokens in USDN backing goes down, it allows users to speculate on the Backing Ratio (BR) parameter.
How to use NSBT?
You can stake NSBT to receive gNSBT and all the related benefits:
The ability to swap WAVES↔USDN.
The ability participate in the community voting.
Daily rewards based on the protocol fees collected from all the users who swap.
Tracking Neutrino NSBT
Neutrino is an algorithmic price-stable assetization protocol acting as an accessible DeFi toolkit. It enables the creation of stablecoins pegged to specific real-world assets, such as national currencies or commodities.
