
ZadeLend
cross-chain lending untraceable transaction
Demo
About
The problem it solves Most lending protocols expose user identities, asset ownership, and borrowing actions on-chain. This lack of privacy deters adoption and risks sensitive financial data. ZadeLend project enables private, cross-chain asset-backed lending, using zero-knowledge proofs to unlink deposits from withdrawals, while Chainlink CCIP ensures secure asset movement across chains.
How it's made
Challenges we ran into One of the biggest challenges was maintaining privacy across chains while ensuring correctness in the loan logic. Since Ethereum L1 was used for asset deposits and Scroll L2 for loan withdrawals, we needed to guarantee that these actions remained unlinkable but still provably connected. This involved: - Designing a custom Merkle tree system to store commitments on-chain. - Ensuring Chainlink CCIP could securely and reliably pass commitments between chains. - Building a Circom circuit that validated secrets, amounts, and Merkle paths without leaking any sensitive data. We also faced hurdles with nullifier reuse prevention and ERC-20 token allowance logic, especially when integrating zero-knowledge proof verification with payment flows. Careful state tracking and reentrancy protections helped resolve these bugs. To overcome these challenges, we: - Broke the logic into modular components for better testing and debugging. - Used Hardhat and mock contracts to simulate cross-chain messages. It- erated multiple times on circuit constraints to make them zk-compatible. Overall, it was a balance between security, privacy, and usability, and solving these problems strengthened the robustness of the protocol.