Venezuelans are going through a major humanitarian crisis and could benefit greatly from conditional cash transfer programs initiated by the crypto community. One major obstacle for this is the inability to identify Venezuelans and associate them with cryptographic keys.

What it does

We provide onboarding for Venezuelans into two different claims registries at once: the uPort self-sovereign identity system, and a Venezuela jurisdiction that follows the Transaction Permission Layer protocol. Any service can use these protocols to ask whether a potential user is Venezuelan, and thus eligible for a conditional cash transfer.

We provide two attestations: that the user is a Venezuelan ID card holder, and that the user is eligible to vote according to the official voter's registry. This last attestation is timestamped and proven with an Ethereum smart contract.

How we built it

node.js, Solidity, HTML5

Challenges we ran into

web3 documentation

Accomplishments that we're proud of

We programmed smart contracts for the very first time and extended the TPL protocol with a real-world use case. We used an oracle to prove we fetched data from the official voter's registry with a timestamp.

What we learned

A ton of Solidity! And that Remix really rocks for hackathons.

What's next for Tu Cédula Digital

We need to keep polishing the user experience, implement de-duping logic with machine learning, and complete the integration between our backend and the smart contracts.

Built With

Share this project: