- Print
- DarkLight
Should we have a single, industry token, or ERC20s for different producers?
Different producers have different ERC20s. There isn’t a clear reason where we try to make 20s from different organisations equivalent whether its gold or cannabis or anything else because the "thing" might be fungible (gold bars) but the counterparty risk that we're trusting/auditing (vaults/growers) is not equivalent.
How we should treat people that become blocked due to being removed from a tier?
They hold assets. We could have a role that can seize assets from users that are NOT meeting the minimum tier requirements, for example we know that USDC can freeze onchain assets... but we have no idea what that means for $ in their bank account because there's no onchain record of the bank $ only the USDC token. We have to assume that at some point in some situations they can mint new USDC rather than indefinitely having $ set aside in the bank against frozen funds. How that works is opaque, but for us it has to be represented and handled onchain in the contracts, there's just no way to burn the NFTs without some kind of clawback of the FTs.
Underlying asset is illiquid not liquid
Take the gold case, to arb the peg:
- If token trades below peg then NFT owners can buy token cheaper than spot price of physical asset, so can burn X NFT ounces for $Y and then sell X physical ounces for $Y + $Z
- If token trades above peg then NFT minters can buy X physical ounces for $Y and then mint and sell X NFT ounces for $Y + $Z
So there's a profitable mint/burn in each direction, just like arbitraging USDT by depositing and withdrawing $ from a bank account. If a token for a single asset trades above peg, there's nowhere to get additional stock of the same asset.
How to handle illegal money?
Needs to look and feel like it is anything but a vehicle for dubious money to be flowing around the system. This means we have the regulatory side nailed down as much as possible. It will be important that we have something that allows us to invest money into the portfolio and build on the portfolio over time because of the investment needed in the assets plus there are additional assets we could acquire for similarly attractive returns. We also want to bring returns to the island. Playing around with structure, bulk of return will come from capital appreciation.
How to KYC wallets?
SFT & Rain can extend to KYC providers to validate wallet activity. SFT purchase or trade can be restricted based on KYC if custodian desires.
This contract does not attempt to solve for liquidity and trustworthiness, it only seeks to provide baseline functionality that a competent custodian will need to tackle the problem. The implementation provides:
- ReceiptVault base that allows a transparent onchain/offchain audit history
- Certifier role that allows for audits of offchain assets that can fail
- KYC/membership lists that can restrict who can hold/transfer assets
- Ability to comply with sanctions/regulators by confiscating assets
- ERC20 shares in the vault that can be traded minted/burned to track a peg
- ERC4626 compliant vault interface (inherited from ReceiptVault)
- Fine grained standard Open Zeppelin access control for all system roles
What if the offchain market collapses?
If the offchain market for the asset collapses e.g. the offchain market for USD or Carbon Credits or Gold collapses then the custodian will not make money from arbitrage / maintaining peg and the system will collapse with it.
What if the offchain market is only emerging?
It’s important to use FT minting to engage in price discovery. Flooding a nascent offchain market with assets (like ICO/IDO) does not allow enough time for a meaningful offchain market to emerge.
It's tokenising physical assets... but we can maintain our own vernacular to stay consistent if it's helpful??
"Tokenising physical asset" is vague to me, because to me it implies that if i hold the token i somehow own the asset, that's not what is happening here.
One part is right? The NFT is ownership? Not unless we spin up some legal framework around it
The 20s are just fractionalizing the NFTs?
Fractionalizing and pooling and fungibilising. In a very abstract sense, the ERC20 represents ownership of the integrity of future audits, if it's ownership of anything. The assets cannot not be owned in a vault. Even during transfer from cage to cage, ownership is in place until it's in the cage when ownership simultaneous transfers...
The ERC1155 is just there to make our break the audit?
The thing is that trying to make an onchain token literally be and replace legal title/ownership of something is really problematic. USDT isn't legal ownership of USD. It's a claim for a USD and there exists some small group of sophisticated investors with business relationship with tether who can send/receive $ to mint/burn USDT. It’s not available for the general public and certainly not permissionlessly, you'll be doing at the very least some KYC.
It’s just like the $ used to be a claim on gold theoretically but i doubt the average person really had a way to take gold out of fort Knox and even if it is a claim/coupon that's still not actually ownership, it's just a thing that could be potentially traded for the real thing.
Like the old grain coupons, only as good as the army that protects the granary. The coupons with the same face value that were issued by the stronger army were worth more in trade.
What does ownership mean here?
"ownership" means two fundamentally different and incompatible things in tradfi and crypto.
- ownership in tradfi => the local nation state gives me exclusive permission to X, through violence to enforce exclusivity
- ownership in crypto => i give myself permission to X, through exclusive knowledge of a secret
Simply minting a token and saying "now you own X" is super ambiguous and doesn't really work except in very limited cases like Realt where they've discovered some specific local legal structures like a "series LLC" allow it in a limited capacity.
How does arbitrage work with Semi-Fungible tokens?
All that matters to crypto ppl is that there's a believable arbitrage model that maintains a price peg. Tether works because of arbitrage, not because an individual can redeem their USDT coupons for $ in a personal bank account or, in other words, the ppl who can own and deposit/withdraw gold in the vault can profitably do so by buying/selling the gold token onchain and minting/burning it. If it is trading above peg they can go buy physical gold, issue tokens and sell them for more than the gold cost. If it trades below peg they can buy back tokens and burn NFTs and sell the underlying gold for profit.
How do you minimise issues between audits?
Enforcing the serial numbers on the NFT can minimise issues between audits, e.g. good luck getting all the exact same gold bars undetected if you sell them then try to buy back again later just before audit. Ownership happens between lawyers and on pieces of paper, not onchain.
How does the ERC20 and ERC1155 interact?
Their harvest token would be the 20. They want their HRVT to be "backed" by one pound of cannabis. An NFT can mint fractions of an ERC20, we just need to decide one thing about the NFT that determines the amount of FT literally, "what is fungible about these plants?"
How does the audit work?
Technically the SFT system uses the blockchain in a way we can scrape the blockchain logs in a subgraph and hand a report to an auditor that they can review. Then they say yes/no and for how long to the whole thing in bulk and sign off on it.
Does the NFT represent ownership?
We are not trying to make a statement regarding ownership, e.g. "this NFT gives you ownership of a plant" because "ownership" isn't even a consistent concept legally across different jurisdictions globally.
The main thing that makes these use cases work is that all the NFTs are for something that has some fungible property.
For gold bars it is their pure gold equivalent weight. For plants it is their weight. If we did barrels of whiskey it would be their pure alcohol equivalent (which goes down each year as some evaporates in the barrel).
The NFT or ERC20 do not represent ownership, they represent "something that can be audited" and then on top of that we can layer things like "revenue/profit share"
If you own shares in a company that are worth as much as a table, that doesn't mean you actually own a table and can go into the office and take home a table just because you decide to burn a share.
How does this vary across industry?
Gold bars are consistent -- physically (within certain industry acceptable variance) and from producer to producer. With cannabis, each plant is different and uncontrollable and each producer will be different.
If there's nothing about the produce that can be considered fungible then you can't issue fungible tokens.
Are we creating industry standards?
Different producers have different 20s. We are not imagining a setup where we try to make 20s from different organisations equivalent whether its gold or cannabis or anything else because the "thing" might be fungible (gold bars) but the counterparty risk that we're trusting/auditing (vaults/growers) is not equivalent.
What if there is not yet an industry standard common property?
In the cannabis ecosystem, we’d expect the common property to be THC as that's the most low level chemical. Like pure alcohol content, it's the thing that ends up being equal. Put it in the context of gold, it's the purity at a certain weight -- as prescribed by the LBMA (industry standard). So cannabis would be THC level at a certain weight -- but no industry standard so we'll have to establish that standard.
How might this work for the agricultural cycle?
When they mint a new plant they have a forecast on what they plan to extract from it, and i'm sure that at the end of the process they very carefully measure everything during extraction, cannabis is highly regulated after all, plants can't just "go missing". What i don't know is if/when/how it is monitored between those two points in time.
Can an ERC20 e.g. HRVT can function like the gold ERC20 token (Unum) where it serves as a means or trade between businesses?
In theory yes, in practise we'll probably need it to be relatively long-lived if yes which if we have "like for like" NFT mint/burn might work.
How would a "like for like" work?
You could burn the old NFT when you mint a new one, and gain/lose the difference in ERC20
So when you burn the NFT the corresponding erc20 is also burned?
Say you had a 2 ounce gold bar, you could burn it to mint a 1 ounce gold bar if you also burned 1 ounce of 20, the difference would need to burn/mint. This would allow you to rotate through crop cycles without recalling all the outstanding 20 first, also if you had a 1 ounce gold bar you could burn it to mint a 2 ounce bar and you'd mint 1 ounce of 20.
Isn't the NFT linked to the corresponding 20s?
No, not at all. There is a shared contract but within a contract all the 20s are the same.
How does minting and burning work?
Ok I understand this math here. Could you just burn 1oz of gold without taking subsequent actions? If you burn 1 oz gold NFT you also must burn 1 oz gold FT. Ok that's what I was trying to get at. yeah so it is linked in that the math has to add up.
How do you burn the FT?
The smart contract handles that, you just need to have enough balance in your wallet when you call the function.
Ok so the grower would need to have the requisite FTs in his wallet already or acquire them?
Yes, that's why i'm saying the grower will get extorted by their users if they have to recall all outstanding 20's to make the system work. But if the grower can burn old NFTs by issuing new equivalent NFTs then the 20s can stay in the hands of the end-users.
Got it. So the grower is more like recycling the NFTs, which makes sense since a farm only has a certain fixed capacity. This could also mitigate growers scamming by minting plants they don't really have.
Recycling NFTs is a good way to look at it, it's not title on the blockchain though, it's more like the tether model where the custodian can arbitrage the token. The token tracks the asset price due to arbitrage not title. The problem with title is that it doesn't really scale globally and it's not really clear how enforceable it is but arbitrage always works if there's a market.
Can this become a ponzi?
Could be ponzi'd as you had outlined earlier? Ah i mean offchain market. Tether works because there's an offchain market for the $ and "cash equivalent" assets that they hold so if the tether token goes above or below the value of those assets they can go and dispose or acquire more of those assets offchain buy buying/selling the token. so say the FT for the cannabis crashed massively, it would actually be profitable for the grower to buy back the token, burn the NFT and then sell the plant on offchain markets and if it moons they can mint more plants and sell them more onchain than they can offchain. It's the offchain/onchain arbitrage that gives buyers of the FT price assurance, not direct "ownership" of the asset.
I don't think they're financially savvy enough to do all of that background stuff to make it "stable".
We can help them by setting up long lived orders on the order book that sit either side of where the cannabis price "should be" and if the price completely smashes through that they can withdraw from the orderbook and go do something offchain then come back.
Generally what happens is that the issuer doesn't have to do all the work, they are the buyer/seller of last resort when things get largely out of whack, and then users trade between themselves to front run that event.
So only the ones who are bridging this onchain/offchain world can benefit "front run"? Can’t insiders rig the situation?
The custodians are the ones that arbitrage the onchain/offchain which is why the audit trail is so important because partially collateralised arbitrage based systems collapse when they get a "bank run", but fully collateralised arbitrage can profit from stabilising the price all the way to $0. That's why we freeze the system when the audit fails, because freezing tokens prevents the custodians from doing the onchain/offchain arbitrage but assuming all the assets are there according to audits, then we want the custodians to profit from arbitrage because the profitable trade in both directions brings the FT price back to "peg".
The ppl minting/burning tether to maintain that peg are playing this game on the order of billions of $ it's also why i was saying earlier that someone doing a gold FT doesn't necessarily need fees because they can make money arbing their own peg, just buying and selling the FT every time it goes above/below the spot price. The more usage and distribution their token has, the bigger the arbs they can do, so low/zero fees can be more than made up for in larger arb profits.
Why can't we be the custodians then?
We can be if we want to handle the physical assets and interact with offchain markets for effective arbitrage. Literally anyone with some asset that can be tracked with NFTs and has some offchain market FT value, that can be readily bought/sold, can be a custodian and mint it, as long as they can get someone to audit their stock and then if/when there are many of these contracts there's a layer of arbitrage between these tokens that can also be facilitated onchain to keep the token prices in line with each other across contracts. So then if liquidity leaves one token it can be "topped up" from another similar token.
This is also why the biggest risk to the system is someone getting private keys that can mint, because they can fraudulently mint infinite FT and dump them, basically stealing from and corrupting the whole system - so that's why i was suggesting minter-DAO for maximum security. So if we held tokens in the minter-DAO then we'd be participating in the custodial minting process without actually being the vault/farm/reit/etc. Ourselves.
Also the DAO can vote on deploying the orderbook price algorithms so someone could propose a fixed fee and someone could propose an auction and the dao could choose which one to deploy.
Yes that will make it "less" corruptible not "uncorruptible" buy as close as possible with power residing in the dao holders. Right, the fully decentralised option is the non-custodial contracts we already have, but it's only suitable for onchain assets. For offchain assets we have the custodial contracts, and they are centralisation-agnostic. Everything ranging from fully DAO-operated through to a single address minting and "auditing" everything themselves.
So the other thing about the standard DAO governance contracts is that they have a time lock/delay on them so in theory if the DAO voted to fraudulently mint say a quadrillion tokens, then that proposal sits on the public blockchain for say, 48 hours before it can be executed. So then anyone who is paying attention can pre-dump their tokens before the DAO can and there's a disincentive for the DAO to be fraudulent because they will crash the token price before they can execute their trade. Maybe it's a big assumption that ppl are paying attention, but this is the mechanism.
Does the SFT system apply to…?
The EV chargers generate credits every time a car is charged and once it hits 1 ton of CO2 prevented, one credit is earned...And this is perpetual for the life of the machine. And the CO2 calculation model has to be certified before the credits can be earned and trades/sold.
Perpetually generating credits means we need to keep minting NFTs?
Yeah if they want, no reason they can't. That means FTs too then…
And they can issue the tokens to finance each machine?
So basically they have a warchest of carbon credits and $. They bootstrap their FT by settings aside some credits to mint NFTs. They sell the FT, the FT trades speculatively and they have more credits coming in from their EV periodically then they can look at their FT price on the market, and the CC price on established markets at that time if the FT price is higher, they set aside some CC and mint more FT and if it's lower they sell some CC and buy back an equal amount of FT. They either make the same amount they would selling on existing CC market (FT is exactly at peg) or they make a profit by arbing their FT.
So the CC are never sold into the market? Held as NFT and to arb against the FT?
If the FT is e.g. 0.9 CC they sell the CC into the existing CC markets for 1 then buy their FT for 0.9 and in doing so unlock 1 previously set aside CC and pocket 0.1 $. Some amount of CC is set aside when you mint the NFT, to collateralize the peg, every time the peg breaks downwards they can unlock it so it's like "we're setting aside this at 1 and will free it up any time the FT trades below 1".
Would it be systematic that when a CC is sold, the NFT and FT need to be rebalanced/recalibrated?
Only if the CC sold is to be taken from the set aside stock, they're free to do whatever they want with their CC that was never minted against.
Here's some WIP screens on the audit history, might make it clearer.
So they'd have asset IDs that represent each time they set aside a batch of CC, it's actually quite convenient if this is certified in batches, because they can treat each batch as an NFT.
Each certificate has a serial number.
So they bootstrap some liquidity into the FT system with the first few certificates then they just arb from there. Every time a new certificate comes in they have a very simple decision tree.
Would there be a component where the FT can be issued to acquire the machines?
If FT >= CC mint, else sell CC+burn
The machines are the CC generating asset
Seems like a rabbit hole trying to tokenise them vs. just putting FT up for the CC because if we have other CC producing clients all of a sudden we have an ecosystem of FTs, for example. I think there's a lot of power in just honing in on the most fungible aspect of the market and leaving everything else e.g. as soon as we started getting cute with gold in the ground on the mining thing, it derailed the convo a lot imo vs just saying "look, you either make the same amount of money or more..."
If you're in the situation that there's a peg you can arb, and a reason for demand to exist on your token that's a mega priviledged position to print money. The reason for token demand can be as simple as "retail doesn't have direct access to the CC market that the EV company does".
How might a marketplace work?
I think it's really easy to imagine for us maintaining an open marketplace built on the rain orderbook themed by asset class. People can place orders defined in terms of oracle prices for the assets like "buy/sell +/- X% from the CC price oracle", bots will just maintain the peg, any time someone wants to know where an asset comes from they just click the audit history and it's all there right down to the certification batch from the EV machine].
Each CC certificate they upload is an NFT, in the case of g they can't withdraw without it, in the case of SFT the tokens all freeze if the audit fails.
So it's 1:1 NFT to FT? Yes but the key thing isn't the upload of the certificate, it's them setting aside the CC that were certified and promising not to "double spend" them on the offchain market.
How can we assure this can't/won't happen?
The audits, that's what is being audited.
Automated audits possible? Or has to be manual for now -- human error, collusion... just thinking of the worst case.
It doesn't really matter because ultimately the nature of the audit feeds into the trustworthyness of the token. People choose for themselves what they are willing to trust and it's not our place to say.
A true capitalistic and democratic market.
Plenty of room for custodians to differentiate themselves within a commoditized space.
What are we doing again?
What we're trying to do specifically is create aribtrage based fully collateralised peg tokens with audit trails.
Why EVM?
Liquidity is super important.
Would there ever be point where it's beneficial to run an EVM node? And the side chains we're using?
The subgraph pulls data from both evm nodes and also ipfs and combines them into the final audit report. We don't have to be validating, just keeping our own copy of the data to read from.
How do we enforce producers to perform audits?
If they sell their offchain CCs... the only process we have now is freeze them, right? And their tokens would be killed in our marketplace.
That seems extreme if it's just human error??
They can unfreeze it when they pass audit.If a producer is fraudulent about their audits then we have a copy of all their audit transparency docs on IPFS so someone can take them to court.
I could ask similar questions like, "how do we enforce that governments don't change CC policy?"