Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/keep-starknet-strange/zkramp


https://github.com/keep-starknet-strange/zkramp

cairo offramp onramp p2p sk snarks starknet tls tlsnotary

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        


zkRamp





GitHub Workflow Status (with event)




Project license


StarkWare




Website

|

Telegram

|

Documentation


# zkRamp

## A trustless P2P fiat onramp powered by ZK proofs on Starknet ๐ŸŽŸ๏ธ

The concept was initially conceived and developed by [ZKP2P](https://zkp2p.xyz) for EVM chains, and zkRamp is making it accessible on Starknet by implementing it in Cairo.

## Roadmap

### Milestone 1 - Liquidity mgmt
Implements onchain logic to manage liquidity and allow ramping.

Tasks:
- [x] Offchain account registration
- [x] Defining the architecture
- [x] Liquidity addition
- [x] Liquidity retrieval
- [ ] Liquidity withdrawal
- [ ] Full unit test coverage
- [ ] Full integration test coverage
### Milestone 2 - Backend
Index onchain events and build API to find the best quotes when a user ask to onramp.

Tasks:
- [ ] Defining database architecture
- [ ] Infra setup
- [ ] Liquidity indexing
- [ ] Registration indexing
- [ ] Quote computation
- [ ] Registration API
- [ ] full test coverage
### Milestone 3 - Frontend
Design and build frontend without plugging it to the backend.

Tasks:
- [x] Layout (mockup)
- [x] Layout
- [x] Buying flow (mockup)
- [ ] Buying flow
- [x] Selling flow (mockup)
- [ ] Selling flow
- [ ] Registration flow (mockup)
- [ ] Registration flow
- [ ] Proof generation flow (mockup)
- [ ] Proof generation flow
### Milestone 4 - TLS Proxy
Implements TLS Proxy to generate proofs from an โ€œattestorโ€, gather them in the frontend and verify them onchain.

Tasks: TBD

## Flowchart ๐ŸŽก

![](/resources/img/main-diagram.png)

## Contracts

For each platform (e.g. Venmo, Revolut, etc.) a smart contract called a "Ramp" is deployed.

Each Ramp is divided into 2 main parts.

- **Account manager** responsible for the mapping between Starknet accounts and the user ID of the supported platform.
- **Funds manager** which serves as an escrow for offrampers and sends funds to onrampers.

These parts each use a **processor**, a component responsible for verifying ZK-SNARKs generated by the notary.

The account manager's processor is responsible for verifying that a Starknet account requesting to be linked to a Revolut user ID, for example, provides a validated ZK-SNARK signed by the notary attesting to its ownership of the Revolut account.

As for the funds manager's processor, it verifies that an onramper has actually transferred the fiat funds to an offramper before releasing the equivalent in tokens to them.

## Next steps ๐Ÿ”Ž

In the flowchart above, the notary is a centralized entity running on a server. Therefore, it can generate false attestations and thus steal the money deposited in the contracts. The next major step will therefore be to decentralize the notarization process.

## Contributors โœจ

Thanks goes to these wonderful people. Follow the [contributors guide](https://github.com/keep-starknet-strange/zkramp/blob/main/CONTRIBUTING.md) if you'd like to take part.



Chqrles
Chqrles

๐Ÿ’ป
UฤŸur Eren
UฤŸur Eren

๐Ÿ’ป
Lindsay Morales
Lindsay Morales

๐Ÿ’ป
Charlotte
Charlotte

๐Ÿ’ป
Abdulhakeem Abdulazeez Ayodeji
Abdulhakeem Abdulazeez Ayodeji

๐Ÿ’ป
Luiz Vasconcelos Jรบnior
Luiz Vasconcelos Jรบnior

๐Ÿ’ป
lanaivina
lanaivina

๐Ÿ’ป


Bryan
Bryan

๐Ÿ’ป
Yusuf Habib
Yusuf Habib

๐Ÿ’ป
Mubarak Muhammad Aminu
Mubarak Muhammad Aminu

๐Ÿ’ป
Gerson
Gerson

๐Ÿ’ป
BlackStarkGoku
BlackStarkGoku

๐Ÿ’ป
Ikem
Ikem

๐Ÿ’ป
Jemiiah
Jemiiah

๐Ÿ’ป


leohscl
leohscl

๐Ÿ’ป






Add your contributions



This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!