Technical Architecture

High-level diagrams and descriptions of the protocol.

Overview

Every NFT that is energized with Charged Particles is given its own smart wallet.

When a person deposits assets into their NFT, they will first pick a supported Yield Source (Aave, Compound, yEarn, etc..), and then pick an Asset Type (DAI, USDT, USDC, etc) depending on what is supported by the chosen Yield Source. The person will then deposit the Asset (DAI) into the NFT through the Charged Particles interface and the contracts will send it directly to the NFT Smart Wallet. The Smart Wallet is then responsible for depositing the Asset Tokens into the Yield Source and receiving back Yield Tokens (cDAI), as well as any additional LP tokens (COMP).

When withdrawing from the NFT Smart Wallet the Yield Tokens are redeemed for the underlying Asset Tokens from the Yield Source. The Smart Wallet is responsible for handling both the Principal and Interest, as well as additional LP tokens earned.

Charged Particles has no access to the Assets, Yield or LP token rewards of a person's NFTs.

Wallet Managers

There is 1 Wallet / Basket Manager for each type of wallet / basket for the protocol (Aave, Other ERC20s, NFTs). Each Manager has many wallets / baskets that it manages.

Manager -> Wallets Relationship
High-level flow of how contracts interact when a user Energizes for each type of asset.

Nesting NFTs

How to guide

Each NFT with Charged Particles capabilities has an associated Smart Basket that can hold and serve as operator for standard ERC-721 and ERC-1155 tokens that are enabled on the Protocol. Visit a Particle's Energize page on app.charged.fi to energize your NFTs with other NFTs today! Nesting NFTs does not require whitelisting. See Whitelisting section for more detail.

Whitelisted External NFT Contracts

Minting an NFT on Charged Particles creates a Charged Particles Proton NFT. All Protons are whitelisted by the Charged Particles protocol by default and have access to all of the protocols' functionality. Charged Particles functionality can also be applied to other standard ERC721 or ERC1155 NFTs, but those contracts must be whitelisted first. Currently, all replacements for the Proton contract must be whitelisted by the core protocol team. As of 07/21/21 no contracts have been officially whitelisted yet. The tables below show a list of the currently whitelisted contracts as well as ones to be listed soon. If you would like to have your contract whitelisted on either Kovan or Mumbai email [email protected] to inquire. The core developer team manages the white list while this feature is being fully tested, but after it has been stable for a sufficient amount of the whitelist will be managed governance vote. Whitelisting on Mainnet is currently in Beta and only a selection of Rarible contracts are whitelisted.

Guide to using the Charged Particles protocol with select Rarible minted NFTs