This page provides technical guidance on how UID works, and how to integrate it with your protocol or dApp.
UID should be considered alpha software. It is used by the Goldfinch network, and we would love to see other protocols utilize the tool, but Warbler Labs cannot guarantee support or maintenance at this time. Use UID at your own risk. If you have questions or feedback, please contact us at [email protected]. We'd love to hear from you!
To integrate UID into your smart contracts, simply check the balance of your user's address to see if they possess the UID token. In Solidity, it would look like this:
Note: UID currently only operates on Ethereum mainnet. The contract itself can be found here
For your front-ends, you can similarly integrate UID with the following
If your users don't already have a UID, you can send them to our front-ends to be verified at app.goldfinch.finance/verify.
UID functions by having a trusted signer (currently Warbler Labs, the core development team for Goldfinch and creator of UID) verify that a given address has passed KYC via the third-party integration (currently Persona). Once verified, the user receives a signed message which they can present to the UID contract in order to mint their UID.
So the user flow looks like this...
User completes KYC flow (on app.goldfinch.finance/verify, via our partner Persona).
Submit completed KYC to the Trusted Signer, which returns a signed message to the user.
User mints their UID by presenting the signed message to the UID contract.
All personal data is processed and handled through Persona. Persona has industry leading security and privacy practices. No personal information is stored on-chain.
Have questions about integrating? Do you have a certain use case, or feature you'd like to see? The community would love to hear from you. Reach out at [email protected]
Unique Identity (UID) is a non-transferrable NFT representing Know-Your-Customer (KYC), Know-Your-Business (KYB), and/or U.S. Investor Accreditation verification on-chain. It is the first NFT for identity. It follows ERC-1155 standards, and is freely usable by any other protocol. No personally identifiable data is stored on-chain.
Know-Your-Customer verification is a check that ensures a person is actually who they say they are, and Know-Your-Business verification is a check that ensures an entity and its representatives are actually who they say they are. Doing so is a legal requirement that prevents cases of fraud and any suspicious activities from occurring on the Goldfinch protocol.
U.S. investor accreditation is for U.S.-based individuals and entities who want to participate in the protocol. Under U.S. federal security laws, only persons who are accredited investors may participate in certain financial opportunities.
There are currently 5 types of UIDs:
ID_TYPE = 0, Non-U.S. Individual: can vote and supply capital across the protocol
ID_TYPE = 1, U.S. Accredited Individual: can vote and supply capital to the Senior Pool, and to Borrower Pools on a case-by-case basis (depending on Borrowers’ requirements)
ID_TYPE = 2, U.S. Non-Accredited Individual: can vote, but cannot supply capital
ID_TYPE = 3, U.S. Accredited Entity: can vote and supply capital to the Senior Pool, and to Borrower Pools on a case-by-case basis (depending on Borrowers’ requirements)
ID_TYPE = 4, Non-U.S. Entity: can vote and supply capital across the protocol
Having an on-chain representation of personhood achieves two major unlocks. First, it opens DeFi to an entirely new set of real-world participants, notably companies and financial institutions. It also greatly expands the design space for new features and mechanisms on DeFi protocols.
Many companies today don’t interact with DeFi due to KYC/KYB and counterparty concerns. But UID solves these issues for them. Many companies are already borrowing through Goldfinch, and they wouldn’t be able to without the KYC/KYB and accreditation verifications. As companies grow comfortable with crypto, they could drive an incredible amount of new volume to DeFi protocols.
UID is completely interoperable with the rest of DeFi. It is a standard ERC-1155 contract, so any protocol can get the benefits without having to build their own KYC flow or handle any data themselves. If you’re a builder, go to the Developer docs to learn more.
It’s also important to emphasize that UID seriously factors in privacy. No personally identifiable data is stored on-chain. Goldfinch has partnered with Persona to manage the KYC process and data, and with Parallel Markets to manage the KYB and accreditation processes and data. They both offer industry-leading privacy and security practices that are trusted by many of the largest technology companies. Learn more here.
When a user completes their KYC process, Persona checks that they have a valid identity and are not a duplicate of other ones. Once verified by Persona, the user is eligible to get his or her UID.
When a user submits their KYB information, Parallel Markets checks that they have valid entity documentation and valid business owners. Once verified by Parallel Markets, an entity is eligible to get its UID.
In addition to submitting KYC information to Parallel Markets, a user also submits information to prove his or her accreditation qualification(s). Parallel Markets checks that they have a valid identity, are not a duplicate of other identities, and that accreditation documents are valid. Once verified by Parallel Markets, the user is eligible to get his or her UID.
Once eligible to get a UID, the user submits an Ethereum transaction that mints the UID, which is a non-transferrable NFT that is sent to their address.
There is a 0.00083 ETH fee (about $3) in addition to gas, in order to cover the cost of Persona’s service.
Then, when the user participates in protocols like Goldfinch, these protocols can check that they have this UID, ensuring they are unique and KYC’ed, KYB’ed, or accredited.
Get started minting a UID with the next guide, For Users.
The amazing illustration for UID was created by Marcelo Meijome. You can see some of his other NFT works on Foundation.
For greater support, head over to the Discord server linked under the Important Links section.
Currently, it cannot. Burning and reissuing tokens is possible on the smart contract, though this has not been implemented on the front-ends. Theoretically, upon burn, the KYC/KYB/accreditation information would need to be deleted and then members could sign up with a new wallet.
Yes, this is mandatory. UID is the first NFT for identity. No personally identifiable data is stored on-chain. More on UID here.
Before minting UID NFT, you need to verify your Ethereum address from here: https://app.goldfinch.finance/verify. Please head over to the Tutorials section for a detailed explanation.
You can go back to https://app.goldfinch.finance/verify and sign in. If you are verified, you will see the message - “Your address verification is complete” or “Your verification was approved to immediately access the Senior Pool”.
The protocol must have sybil resistance in order to implement the "trust through consensus" mechanism outlined in the whitepaper. Technically, this does not need to be KYC, and the community hopes to offer versions of this in the future which do not require ID verification. However, KYC offers sybil resistance as well as the legal compliance which many of the Borrowers require for their own purposes.
Note, Goldfinch's KYC/KYB and accreditation is handled by third parties, Persona and Parallel Markets, who, like Goldfinch, take privacy and security very seriously.
UID is completely interoperable. It is a standard ERC-1155 contract, so any protocol can get the benefits without having to build their own KYC flow or handle any data themselves. If you are a builder, check out the docs here to learn how to integrate it.
Because the UID is an ERC-1155 contract, it is not transferable and cannot be sold.
As of January 26, 2022, U.S. individuals can obtain a Unique Identity (UID). This will allow US-based GFI holders to participate in governance. However, only U.S. Accredited Investors will be able to participate in supplying capital to the protocol at this time.
Head over to the account page. Click the “Connect Wallet” button and use MetaMask to sign in to Goldfinch with the MetaMask address you’d like to use to interact with and supply capital to the protocol.
Self-identify as an individual or entity, US-based or non-US, and—for US-based—accredited or non-accredited. For non-US individuals and US non-accredited individuals, you’ll then be prompted to enter your contact information and will be redirected to Persona—the Goldfinch protocol’s identity verification partner—to complete an identification check. Please have your ID ready and be prepared to take a quick selfie.
For entities (both US and non-US) and US accredited investors, you’ll then be prompted to visit the Goldfinch bridge site on Parallel Markets to complete the KYC/KYB process. Once your KYC/KYB (and accreditation, if applicable) are verified, you will get an email notification from Parallel Markets. If your identity and accreditation documents are accepted, you will be able to mint a UID on the account page. If your documents are rejected, you can contact us at [email protected] for next steps.
Completing the minting step will allow you to participate in Goldfinch.
As mentioned above, you can go to the account page to mint your UID. To do this, click on Create UID
and confirm the NFT minting transaction.
Note that minting a UID NFT will cost 0.00083 ETH + gas fees. This is to cover the fees incurred by the protocol for conducting an identity verification via Persona, a 3rd party service provider.
You can view your NFT after it’s been minted by searching for your Metamask account on Opensea. Your UID NFT will allow you to participate in Goldfinch as an LP and/or a Backer, and/or to participate in Governance as a GFI holder.
Head to goldfinch.finance/earn and select Connect Wallet
to connect to the dapp using the same wallet you used to mint your UID. You can now invest in the protocol.