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]