Project Name: PikaPay
Project Track: Defi
Team Name: Team PikaPay
Team Member(s): @ferrari
Project Video: https://youtu.be/8yzATLRx9pg
Project Website: https://pikapayy.netlify.app/
Devpost Url : PikaPay | Devpost
Project Description :
PikaPay allows companies to optimize their on-chain payroll processes while safeguarding sensitive information. Utilizing attestations, it effectively tracks legitimate funds within a secure mixer pool. This approach facilitates seamless payroll transfers and gives employees the option to verify their funds’ source when regulatory scrutiny arises. When fund provenance is not an issue, PikaPay prioritizes privacy, enabling employees to receive payments without disclosing unnecessary details. This dual functionality positions PikaPay as a robust solution for modern payroll needs on the BTTC chain.
Project Goal :
The goal of PikaPay is to enable companies to securely pay employees on-chain while keeping transaction details private. By using attestations and a mixer pool, legitimate funds can be verified when needed, while maintaining privacy when the source of funds isn’t required. This ensures both transparency and privacy as needed.
Project Value
Integrating PikaPay with blockchain technology offers numerous benefits, including enhanced privacy through zero-knowledge proofs, greater transparency in fund tracking, and compliance with regulatory requirements. This ensures that both employers and employees can transact with confidence, knowing that fund legitimacy can be proven when necessary, all while protecting sensitive information.
Working of PikaPay
The PikaPay
contract facilitates batch-based tokenized attestations on BTTC, allowing batch owners (employers) to pay their employees on-chain privately . Here’s how it works:
-
Batch Creation: An employer deposits tokens to create a batch with an attestation (metadata) describing the source and purpose of the funds. The deposited tokens are represented by a fractionalized token contract.
-
Ownership Transfer: The contract allows owners to internally transfer beneficial ownership using ZKPs to privately validate the balance and update commitments on-chain, thus ensuring privacy without revealing exact amounts or addresses publicly.
-
Withdrawals: Beneficiaries can withdraw tokens either with or without attestation. If withdrawn with attestation, the withdrawal event includes metadata. If they want to remain anonymous, they can withdraw the funds without revealing the related attestation
-
Finalization and Updates: Once all tokens in a specific group or batch are withdrawn, the batch is finalized. Batch owners can also update the attestation details, as long as the batch isn’t finalized.
-
Additional transfers The beneficiaries who has received the fund can perform as many additional beneficial rights transfers as they want within the mixer pool.
Project Test Instructions:
Prerequisites
- Wallet Setup: Ensure you have a wallet that supports BTTC testnet and have any ERC20 token.
Steps:
1. Deposit Payroll Funds:
- Log in to PikaPay on the BTTC testnet.
- Fill the required field and then click on the deposit button to deposit your USDT into the mixer pool.
- During the deposit process, sign an attestation . (this Include details about the source and purpose of the funds) , approve your tokens and confirm the transaction .
- Go the transaction logs and ensure the batchId of the deposit, you will get batchId on alert message.
2. Transfer Beneficial Rights:
- Fill the required fields like BatchId , amount and recipient address and click on the transfer button , (this will transfer portions of your beneficial rights both USDT and fractional attestation tokens to the intended recipient)
3. Withdraw Funds:
-
When ready to withdraw, beneficiaries can choose between:
- Attested Withdrawal: Fill the required fields like batchId and amount of funds, to request an attested withdrawal verifying the source of the funds…
- Anonymous Withdrawal: You can also withdraw privately without revealing the actual attestation.
Smart Contract links:
Project Milestones:
(Done) Milestone 1: Core Functionality Development (Days 1-5)
- Develop smart contracts for payroll transactions.
- Integrate the Ethereum Attestation Service and implement the mixer pool.
- Deploy smart contracts and functional payroll pool.
(Done) Milestone 2: User Interface and Testing (Days 5-10)
- Create a user-friendly frontend .
- Connect the frontend to smart contracts and conduct usability testing.
(In Progress) Milestone 3: Implementing Zkp function (Days 10-15)
- To implement zero knowledge proof privacy feature that will allow user to transfer the beneficiary right of the funds into mixing pool , also deploy the app on BTTC mainnet.