Hypercerts Architecture Idea #54
Replies: 2 comments 6 replies
-
Recorded a Loom showing the mechanisms for vaults described: |
Beta Was this translation helpful? Give feedback.
-
Thanks @carlbarrdahl for sharing this work so eloquently (Loom videos are super helpful!) It does indeed look like an interesting way to distribute ownership of Hypercerts, which could well be useful in some use cases. I do feel pretty strongly that the Hypercerts protocol should not require this to be the only tokenization route (and I don't think you are proposing that anyway). IIUC, one drawback of the 4626 approach is that it requires deploying a contract per hypercert. This could be fine for use cases with a low volume of hypercerts, but not for use cases with a high volume since the gas costs would be orders of magnitude higher (even when using minimal clone proxies). If we were operating in a centralized offchain world, this would be a bit like creating a new Anyway, I am currently thinking the protocol should allow different platforms to devise different mechanisms for financialising hypercerts, which could be via your ERC-4626 mechanism, or via ERC-20, or ERC-1155, or perhaps even others or combinations of the above. I think this is broadly inline with v2 conversations over the last few months. It means that Hypercerts is not opinionated about how hypercerts should be funded / sold, and allows unlimited experiments by platforms to find what works for them. This shouldn't pose a problem in terms of preventing overlap of hypercerts, since it's the impact claim data which needs to be analysed for that, not the token. There is a downside that the indexer for onchain tokens then needs to index multiple types of tokens. But maybe we could just stick to ERC-20 and 1155 and stipulate that these are deposited inside the ERC-4626 (or whatever other contracts people want to wrap around hypercerts) so that the HyperVault (btw cool name!) is purely a commercial mechanism for funding the Hypercert, and doesn't impose any hard architecture requirements on the Hypercerts protocol itself. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I propose the following approach that would enable an SDK that can be used across platforms that does the following:
This Hypercerts primitive supports a wide-range of use-cases including funding research, environmental work, HyperSponsor, and many more. It maintains minimal infrastructure to run and use commonly used building blocks such as SmartAccounts, EAS, and ERC4626. The platforms can choose how to sign in their users and only need to provide a signer (Privy, Alchemy, etc provide Web2 UX for this so no web3 wallets needed).
Smart accounts are used to enable canonical accounts for both user and organization that contain metadata about them.
User accounts are multi-owner smart accounts in which the user can add additional signers directly from platforms. The user would sign in on Platform A and then link that account to the hypercerts account by opening a hypercerts web page where they can approve adding the platform wallet address. This makes it possible for platforms to choose how they sign in their users (metamask, rainbowkit, privy, alchemy, human wallet, etc).
Organizations are Safe accounts with a module plugin for metadata for name, description, and any other relevant data. This means the Hypercerts Indexer can pick this up and resolve the metadata so it can be queried and searched. Zodiac modules enable more granular access control to determine the membership roles and their access levels in how they can act on behalf of the organization. For example, admins might want to directly send transactions while members need approval from 3/5 signers for example.
This provides a powerful primitive for how organizations are managed that gives the ability for organizational ownership of assets that are governed by its members.
Both these accounts (Hypercerts Account and Organization) can be managed via a hypercerts web UI where they can enable passkeys, session keys, etc. Similar to any other OAuth provider.
Certs can be created directly from platforms via an SDK and on behalf of user or organization based on who the attester address should be.
Certs are created as smart contracts that are owned by its issuer. For example, a claim created by an organization is governed by it and can be transferred to another address.
Evaluations are represented as EAS attestations with the recipient as the impact claim contract address. This means when an impact claim is transferred, the evaluations are automatically included because they point to the contract.
Funds can be transferred to the contract and tokens emitted as a receipt of that funding that proves who funded what and when. Let's call them impact tokens.
The owners of the contract can withdraw the funded tokens and spend them to continue their work. Hypercerts are fundable.
Funders can also transfer the impact tokens back to the claim in exchange for usdc to "cash out" on their earlier investment. The value of the impact tokens is determined by the amount of usdc in the contract in ratio to how many impact tokens (shares) have been emitted.
Transferring usdc into the contract without minting new shares (for example grants) will increase the value of the impact tokens and thus providing a return of investment for the early funders if they choose to exit.
This mechanism is essentially a Vault (commonly used for staking and yield).
Adding metadata to the impact claim contract describe the what, when, and where.
Any kind of attestation can be created to the impact claim contract. Impact evaluations for example.
Example flow
A research paper has been written by Alice who creates a Hypercert (Vault). She adds metadata about the title and description. In addition she can create an attestation with the paper itself pointing to the Hypercert.
Alice's mentor Bob wants to support her work so he transfers $100 into the Hypercerts and receives 100 impact tokens (IT) at 1 IT = $1.
Carla later sends $50 and receive 50 IT.
The balance in the contract is now $150 with the shares:
A foundation discovers the paper and gives a grant of $1000. They do this without receiving any impact tokens so the balance is now $1150 with the same amount of shares.
Alice withdraw $100 to support her daily activities.
Bob and Carla's shares remain and the hypercert has $1050, each share now valued at $7.
Now, if Bob where to exit with his 100 IT he would receive $700, the cert would contain $350 with all shares owned by Carla.
Dave buys 200 IT for $2800.
Limits on how much or frequently the withdraws are allowed could be set by the contract.
This concept can be applied to other types of impact, for example:
Adding vesting for how much funds can be paid out over time creates financial security of reliable source of funds and accountability to continue the work for more funding.
Beta Was this translation helpful? Give feedback.
All reactions