# Nusic Smart contracts **Published by:** [Nusic](https://paragraph.com/@nusic/) **Published on:** 2022-09-25 **URL:** https://paragraph.com/@nusic/nusic-smart-contracts ## Content In Nusic protocol, we have several smart contracts to work together, all contracts’ relationship as following picture: 1- NusicAllocationData contract Storing all allocation rules, such as participants, profit share rate of each participant in different phases, etc. Address on BSC testnet: 0x053E01Ff5736495D7e50c95fe1C9445A59214E1A 2- Marketplace contract Storing all NFT market orders, listing NFTs, unlist NFTs, update price of NFTs and buy NFTs. Address on BSC testnet: 0x17524F1201E57F11e0c0206e682fc1E67C86F391 3- NFTSaleVault contract While the buyer purchase the NFTs, the system will take some from the first-time sale’s profit(USDT) to the IP owner, IP angent, supporters who stake their Nusic for the NFT, team and liquidity etc. Some of them are sent directly to the beneficiaris, and some are stored in this contract, the beneficiaries will claim it by themselves. For the 2nd-time and later exchange of NFT, the sale’s amount will only shared with supporters(SPT holders) and seller. On testnet, the supporters will get 5% and seller get 95% of sale’s amount. The rules is in NusicAllocationData contract. Address on BSC testnet: 0x70338919fc910974582b366d07eac984b5AD58C6 4- SupportProofTokenFactory The main feature of Nusic project is Support Proof Token(SPT). Each NFT has only one SPT. The name of SPT is SPT#n, n is same as NFT tokenId. For example, NFT#1252 will have SPT#1252. SPT is mint while somebody want to support(like stake) NFT by Nusic, and is burned while somebody want to unsupport(unstake) NFT. Support Proof Token is ERC20 protocol. It can be imported and transacted in any Ethereum/BSC wallets, and can be exchanged in Pancake swap. This contract manages all Support Proof Tokens, creating SPT ERC20 contracts, minting, burning, and storing the profit share while somebody add liquidity to Pancake swap pool. Address on BSC testnet: 0x3b10c569c5349E742ae0012Bd1C3FC758b01E172 5- SPTokenVault As aboved said, while somebody add SPT/USDT or SPT/Nusic liquidities, 4% of the SPT will be sent to this contract. 50% of them will allocated to participants according to the allocation rules in NusicAllocationData. The unvested amount will be send to the participant immediately, and vested amount will be sent to SupportProofTokenFactory contract. Another 50% of the 4% will be saved in this contract for Liquidity Provider(LP) token holders incentive. This part will be sent to the LP holders every one month. The LP holders is who add SPT/USDT or SPT/Nusic liquidities. LP tokens are mint/burn by Pancake Router. We have a Dapp for adding liquidity, LP holders will get incentive only if they add liquidity by this Dapp and interact with this smart contract. They will not get incentive if adding liquidity in Pancake Dapp. Address on BSC testnet: 0x73271AaFf92A33Ca7e2765a90f84A5BFAb0Ac579 6- Nusic token The basic token of Nusic project. It’s ERC20 protocol. Address on BSC testnet: 0x02868877Ed45246124f89B3cc54Ee53DDe49A85B Note: This token is only for testnet with no value. 7- Payment token The payment token in NFT marketplace for buying NFTs. Address on BSC testnet: 0xf09789E18E821bb8FFAf65D2547fB05589058BBf Note: This token is only for testnet with no value. 8- Core NFT The main NFT for the project. Address on BSC testnet: 0xf43C615C68ef1b572809f937fcbd37eCd2327956 9- Support Proof Tokens As aboved mentioned, SPTs are created by SupportProofTokenFactory and each NFT has it’s own SPT. We will have many SPT token contracts. 10- Liquidity Provider Tokens If somebody add SPT#n/USDT liquidity in to pancake swap pool, he will get LP token for this pair. Different SPT/USDT pair has different LP tokens. For example, there are total 1000 NFTs. After all of them get supported by staking, there will be 1000 SPTs. And if all of these SPTs are add to liquidity pool with USDT pair and Nusic pair, there will be 2000 LPs. But don’t worry, the Dapp will help you manage all of these SPTs and LPs. 11- Participant NFTs We have the following participants, all of them are working for the system. Some of them share the NFT sale’s profit, and some of them share from the 4% while adding liquidity. How to set these participants? We use Participant NFT. The holders of Participant NFT have the rights to share profit. If he/she send the NFT to other guy, the recepient will get the rights and the sender will lost the rights. There are 5 Participant NFTs: XNFT: for main nodes. Contract addresses on BSC testnet is: 0xbb38c17eb78b740cfde43364e04d652c4e4e2ca4 SNFT: for tiny nodes. Contract addresses on BSC testnet is: 0x3cabdc1be386e608b0fbf8a261a0d2f660856674 TNFT: for technical team. Contract addresses on BSC testnet is: 0x08a0578cD947d39E644D5651ffc532AA0311EC78 LNFT: for liquidity team. Contract addresses on BSC testnet is: 0x3F660303cc072C59223a589F52D997B58B393220 CNFT: for community(reserved). Contract addresses on BSC testnet is: 0xcE0d16932f1a461Eb4B39Bd96EA073644d3c49c9 Deploy ## Publication Information - [Nusic](https://paragraph.com/@nusic/): Publication homepage - [All Posts](https://paragraph.com/@nusic/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@nusic): Subscribe to updates