Skip to main content

How it works?

PureFi Protocol makes use of 3 general types of users:

  • Liquidity Pool Users (LP Users) - users that wish to put their coins into Liquidity Pool and have to prove to Liquidity Pool Operators that their funds are clear.
  • Liquidity Pool Operators (LP Operators) - users that control and operate Liquidity Pools, willing to take Liquidity (coins) from LP users, but want to be sure that dirty assets will not pass into their pools.
  • Issuers - users (rather companies or enterprises) that are focused on monitoring dirty crypto and can be a trusted party between LP Users and LP Operators that both will rely on when taking decisions within KYC/AML procedures.

In general, PureFi Protocol makes use of the PureFi Certificates, issued by Issuers to the address of LP Users, and allows LP Operators to build both manual and/or automatic (on-chain) Certificate validation. In case when automatic on-chain validation is applied, Liquidity pool can instantly accept coins and issue LP tokens.

Liquidity pool user (LP User)

1. The LP User specifies the wallet with some balance in crypto that he/she wishes to add as a liquidity into a Liquidity Pool, then sends it to the Issuer.

2. The Issuer analyses ML (money laundering) risks and generates the PureFi Certificate in a form of Verifiable Credentials, which includes originating wallet address, coins amount, date and AML risk score.

  • Result A: If the risk score is higher than the threshold, the protocol will offer to refund money to the sender.

  • Result B: If the risk score is less than threshold, a VC certificate will be generated from the JSON-file, and the coins will be automatically sent to the liquidity pool smart contract address. The VC certificate can be customized individually. For example, the user may specify personal information and a whitelist of addresses (public key) from which the data can be read. The whitelist can be updated any time.

3. LP User is now required to use a PureFi Certificate data to receive an approval for his/her funds to be accepted in the Liquidity pool. This can be done with either of 2 ways:

  • 3.1: By security sharing PureFi Certificate data with the pool Admin via Selective Disclosure protocol based on DID and Verifiable Credentials standards

Sharing Certificate

  • 3.2: Generating a ZK Proof that can be automatically validated by the Smart Contract

Generating ZK Proof

4. LP User sends funds to Liquidity Pool contract with either Admin approval or ZK Proof. After the Liquidity Pool contract validates the data, it can accept crypto, issue LP tokens and send them back to LP User.

Liquidity pool operator (LP Operator)

The liquidity pool (LP) operator may filter liquidity from LP users into his pools in either 2 ways:

  • By requesting PureFi Certificate data directly from LP Users in a trusted way via Selective Disclosure protocol. This way not only AML risk score could be shared, but also private data (PII) which could be required by KYC procedures. This approach allows for manual checks and has an LP Admin Approval as final step. Then this Approval will be used by LP User when adding liquidity into the pool.
  • By establishing a set of validation rules on the PureFi Certificate data, which could be automatically validated privately by applying Certificate data to ZK Circuit. After data is processed by Circuit, a ZK Proof is generated that cryptographically proves that Certificate data matches the rules established by LP Operator. Then this Proof will be used by LP User when adding liquidity into the pool.

PureFi Certificate Issuers

  • The Certificate Issuers can profit from LP users that will request PureFi Certificates. PureFi Protocol relies on the direct data exchange between LP Users and Issuers which allows for maximum flexibility for Issuers to build a secure and trusted service.
  • PureFi establishes a set of formal requirements for Issuers to support PureFi Protocol features, then whitelists trusted Issuers and maintains Issuers Revocation List.