Skip to main content

TBD's Challenge: Known Customer Credentials

TBD (Block) Logo

Tracks: Reusable Identity

Register: DevPost

Informational Session: Watch the recording

DIF Hackathon Discord Channel: #tbd

Website: TBD (Block)

Overview

tbDEX is an open messaging protocol that enables liquidity seekers to connect with liquidity providers. This means that as a liquidity provider, your business can be the backend supplier in several payment applications.

Performing KYC on repeat customers every time they attempt to transact with you from a different payment app would be a pain. To avoid this, you will use the Web5 SDK to issue a Known Customer Credential (KCC) to a customer, Alice, who you have already completed KYC on. You will store the JWT representing the KCC in Alice’s Decentralized Web Node so that she can present it to your business from any payment app.

Challenge

  1. Create a Decentralized Identifier (DID) and DWN to use as the Issuer.
    1. Bonus: Use the DIF community DWN instance hosted by Google Cloud.
  2. Issue Alice a KCC that includes evidence. Note that for this challenge, you do not need to implement an actual identity verification flow.
  3. Install the VC Protocol onto your DWN so that you can communicate with Alice’s DWN.
  4. Obtain permission to write to Alice’s DWN by sending a GET request to https://vc-to-dwn.tbddev.org/authorize?issuerDid=${issuerDidUri}
  5. Store the VC JWT of the KCC as a private record in Alice’s DWN.

Submission Requirements

For this challenge, only the DWN Record ID of the KCC is required for submission. To work around the DevPost submission process, do the following:

  • Enter the DWN Record ID of the KCC in the "Please provide a written description of how DIDs and VCs were used" field
  • Enter "N/A" into the other required fields labeled:
    • "Provide a URL to your public code repository."
    • "Include a text description that should explain the features and functionality of your project."

Prizes

  • 1st place: $2,500 USD Project showcased in a blog post https://developer.tbd.website, as well as on social media and in TBD’s Discord + an opportunity to present virtually at a Show & Tell
  • 2nd place: $1,500 USD Project showcased in a blog post https://developer.tbd.website, as well as on social media and in TBD’s Discord
  • 3rd place: $1,000 USD
  • Participation: Swag!

Tooling and resources

  1. Alice’s DID: did:dht:rr1w5z9hdjtt76e6zmqmyyxc5cfnwjype6prz45m6z1qsbm8yjao
  2. web5/credentials SDK
  3. web5/api SDK
  4. How to create a DID and DWN with Web5.connect()
  5. Obtain Bearer DID - required to sign KCC
  6. Known Customer Credential Schema
  7. How to issue a VC with Web5
  8. Example of issuing a KCC with Web5
  9. Example of issued KCC
  10. How to install a DWN Protocol
  11. How to store a VC in a DWN
  12. Protocol roles

Contact Us

If you have any questions or need any help, please reach out to us in our #kcc-hackathon channel on Discord