# RiemannCash

By [RiemannCash](https://paragraph.com/@riemanncash) · 2022-12-19

---

[RiemannCash](https://riemann.cash)
===================================

RiemannCash focuses on private transaction, with divisible deposits, lower fees and faster withdrawals, which is based on zero-knowledge proof, incremental merkle tree and poseidon algorithm.

Motivation
----------

Tornado was [banned](https://twitter.com/TornadoCash/status/1557048526986780677), and transfers between accounts become traceable. BUT **Privacy Protection** is an inherent feature of the blockchain.

Face the regulators, we yield?

[RiemannCash](https://riemann.cash) focuses on private transaction, with divisible deposits, lower fees and faster withdrawals, which is based on [zero-knowledge proof](https://en.wikipedia.org/wiki/Zero-knowledge_proof), [incremental merkle tree](https://github.com/privacy-scaling-explorations/zk-kit/tree/main/packages/incremental-merkle-tree.sol) and [poseidon algorithm](https://www.poseidon-hash.info).

Using RiemannCash means full privacy. When tokens are deposited to Riemann, withdrawn from Riemann, user Txs are fully encapsulated, cuz all Txs will generate zero-knowledge proofs, and withdrawals are initiated by relayers acting as third parties. No one knows the transfer records between your addresses except yourself.

Features
--------

*   **Divisible deposits**. A deposit can be split into multiple deposits.
    
*   **Lower fees**. Only a flat fee and gas fee will be charged. That's mean the fee charged for withdrawing 100USDC and 10000USDC is the same.
    
*   **Faster withdrawals**. You can withdraw your fund immediately without a long background process once deposit.
    

Flows
-----

### Key Generate Flow

![](https://storage.googleapis.com/papyrus_images/9e5d5fb845f8b924608a3d03431040bb736a3b7383ec5d339d6196c7f195a028.png)

### Nullifier Generate Flow

![Nullifier Flow](https://storage.googleapis.com/papyrus_images/b48368610f923beade3208be4de0f708aaec76ead24362aeab719ab24f1db69f.png)

Nullifier Flow

### Deposit Flow

![Deposit Flow](https://storage.googleapis.com/papyrus_images/77fdb26541b34624c9923a6580672ea71974e94a849bf02e10379ac50fce102c.png)

Deposit Flow

### Withdraw Flow

![Withdraw Flow](https://storage.googleapis.com/papyrus_images/9a42566778a4741a534967b4f0b203785bf1e68187a7895dc633982f8f57be88.png)

Withdraw Flow

### Split Flow

![Split Flow](https://storage.googleapis.com/papyrus_images/824114180582f2c3f466c86b5596e7e646c95bb873248e2558cf5a7dcba8fbe7.png)

Split Flow

Guides
------

### Deposit Steps

1.  Connect the wallet, select the `Chain` and `Token`
    
2.  Enter the amount
    
3.  (Optional) Enable `Advanced Mode`
    
4.  (Optional) Enter another amount
    
5.  Click the `Deposit` button
    
6.  Approve Riemann contract to use your tokens
    
7.  Download the Keys and save them
    
8.  Check `I have saved these keys`
    
9.  Click the `Deposit` button
    
10.  Done
    

![Deposit Demo](https://storage.googleapis.com/papyrus_images/de220f4ea82a7c2efe3611de4222517459da6f6f5343802cc13755c3af6aa8c5.gif)

Deposit Demo

### Withdraw Steps

1.  Paste your Key
    
2.  Enter your wallet address
    
3.  Click the `Withdraw` button
    
4.  Done
    

![Withdraw Demo](https://storage.googleapis.com/papyrus_images/412b69706c5c00369abf24b1d2ae9228f0db499577543209c7d0f1774ed4d815.gif)

Withdraw Demo

### Split Steps

1.  Paste your Key
    
2.  Enter amounts
    
3.  Click the `Split` button
    
4.  Download the Keys and save them
    
5.  Check `I have saved these keys`
    
6.  Click the `Split` button
    
7.  Done
    

![Split Demo](https://storage.googleapis.com/papyrus_images/b03aec225d8e51885e33baa410310692397c58578b79b12e713d845d12142446.gif)

Split Demo

FAQs
----

### How does Riemann work?

### Deposit process

1.  Generate a credential for each deposit, and supports multiple deposits at once if advanced mode is turned on
    
2.  Generate a zero-knowledge proof for these deposits
    
3.  Initiate an on-chain transaction with the proof and the commitments (contained in the credentials)
    
4.  The contract verifies the legitimacy of these deposits
    
5.  The commitments are inserted into the incremental merkle tree
    

### Withdraw process

1.  Verify the credential provided by user
    
2.  Estimate the withdrawal fee
    
3.  Generate a zero-knowledge proof with the withdrawal fee and the wallet address provided by user
    
4.  Submit the proof and the nullifier to the server
    
5.  The relayer on the server initiates an on-chain transaction
    
6.  The contract verifies the legitimacy of the transaction
    
7.  The contract transfers the fund to the wallet address
    

### Split process

1.  Verify the credential provided by user
    
2.  Generate new credentials for each part
    
3.  Generate a zero-knowledge proof for these parts
    
4.  Initiate an on-chain transaction with the proof and the commitments (contained in the credentials)
    
5.  The contract verifies the legitimacy of these parts
    
6.  The commitments are inserted into the incremental merkle tree
    

The key is the only credential for withdrawal or splitting. It consists of ciphertext and plaintext, which contains the token information (symbol, amount and chain ID). eg: `Riemann-137-MATIC-13-Aqoe2nXWDGMdYdwLmqeEdq4jbZN8R7zyLYznC9F...`

### Which chains are supported?

Ethereum, BSC, Polygon, Optimism, Arbitrum, zkSync(future)

### Which tokens are supported?

Native token(ETH, BNB, MATIC), USDT, USDC, DAI, BUSD(BSC only)

### How much fee?

When users withdraw funds, we charge a small amount of tokens as a fee. It consists of **a flat fee** and **a gas fee** times with a ratio.

### What are Riemann contract addresses?

*   **Ethereum** [0xCb631e63877E10926C71C8cA03B78498a755270B](https://etherscan.io/address/0xCb631e63877E10926C71C8cA03B78498a755270B)
    
*   **Polygon** [0xCb631e63877E10926C71C8cA03B78498a755270B](https://polygonscan.com/address/0xCb631e63877E10926C71C8cA03B78498a755270B)
    
*   **BSC** [0xCb631e63877E10926C71C8cA03B78498a755270B](https://bscscan.com/address/0xCb631e63877E10926C71C8cA03B78498a755270B)
    
*   **Optimism**[0xCb631e63877E10926C71C8cA03B78498a755270B](https://optimistic.etherscan.io/address/0xCb631e63877E10926C71C8cA03B78498a755270B)
    
*   **Arbitrum** [0xCb631e63877E10926C71C8cA03B78498a755270](https://arbiscan.io/address/0xCb631e63877E10926C71C8cA03B78498a755270B)
    

### Are there NFTs?

Yup, you can mint an [NFT](https://riemann.cash/nft) after your Wallet, Discord, Twitter and Deposit are verified.

### What are RiemannNFT contract addresses?

*   **Ethereum** [0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee](https://etherscan.io/address/0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee)
    
*   **Polygon** [0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee](https://polygonscan.com/address/0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee)
    
*   **BSC** [0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee](https://bscscan.com/address/0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee)
    
*   **Optimism**[0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee](https://optimistic.etherscan.io/address/0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee)
    
*   **Arbitrum** [0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee](https://arbiscan.io/address/0x5E7655Cf936f7BA811A9e09e8C732C73dCd3Bdee)
    

### Will there be token?

You bet!

Contact
-------

### Contact us

*   Website [https://riemann.cash](https://riemann.cash)
    
*   Email [support@riemann.cash](mailto:support@riemann.cash)
    
*   Twitter [https://twitter.com/RiemannCash](https://twitter.com/RiemannCash)
    
*   Discord [https://discord.gg/ScCD3TsJJQ](https://discord.gg/SccD3TsJJQ)
    
*   Github [https://github.com/RiemannCash](https://github.com/RiemannCash)
    

### Bug Bounty

Please report any security issues you find through [security@riemann.cash](mailto:security@riemann.cash)

### Donate

If you liked this project, consider donating to support it ❤️

Polygon [0xD3633f7afa350Ed73c7C51A496738f2CB1a1670e](https://polygonscan.com/address/0xD3633f7afa350Ed73c7C51A496738f2CB1a1670e)

### License

Riemann Contracts is released under the [MIT License](https://www.opensource.org/licenses/mit-license.php).

Copyright ©2022-2029 [RiemannCash](https://github.com/RiemannCash)

---

*Originally published on [RiemannCash](https://paragraph.com/@riemanncash/riemanncash)*
