Pennypot.xyz is an automatable savings protocol where users can opt-in tokens for diverse strategies, manage upkeeps, and remit round-down savings. PPot integrates Particle Network Auth for seamless wallet creation, Covalent's Goldrushkit & API for token insights, and Chainlink Functions for frontend and backend automation.
Unlike common round-up savings methods, round-down facilitates on-chain savings by monitoring the balance of a specified token and ensuring it's a tidy multiple of 10
Particle Network Integration |
---|
1. Particle Network Auth enables users to sign in and create smart account abstraction wallets on PennyPot using email and social logins. |
2. Embed Particle's wallet, with toggling visibility based on user choice. |
3. Batching Transaction; grouping ERC20 token spending cap approval for a savings pot and the opt-in function on PennyPot. |
Covalent's Goldrushkit and Unified API |
---|
1. Covalent's Goldrushkit provides token balance and transfer history for users. |
2. Covalent's Unified API is used to retrieve users' tokens and listed as whitelisting options when creating a new savings quest. |
Chainlink Functions SDK |
---|
Chainlink Fuctions SDK enables up to perform off-chain request computations, uploading secrets and then delivering the request as bytes-string for the user to submit to the automation contract, alongside an opt-in call. |
Contract Name | Description |
---|---|
PennyPot.sol |
Manages the core of PennyPot protocol. Allows users to create savings quests, opt-in their tokens, and functions for checking upkeep and performing remittances into savings pots. |
RoundDown.sol |
Provides functions for rounding down token balances to the nearest multiple of 10. The remaining fractions would be remitted for savings. |
PennyAccessControl.sol |
Manages access control within the PennyPot system. Defines roles such as admin and member, which control users' abilities to create quests, opt-in tokens, and perform other actions. |
PennyStrategy.sol |
Manages the creation and cloning of savings strategies. Provides functions for setting up and configuring different types of strategies for savings quests. Example is the simple safelock strategy. |
CrossChainBalance.sol |
Interacts with Chainlink to access token balance from Covalent. Allows PennyPot to retrieve balance information on the Avalanche base network irrespective of token type or chain, use it for checking and performing upkeeps. |
PennyPot uses Chainlink Functions and Automation to track changes in a user's token balance and perform upkeep on chain.
Pennypot.sol
registers a request when a token has been opted in for an active savings quest.
By querying with Covalent's Unified API with the periodic Chainlink Functions request, CrossChainBalance.sol
can monitor balances of opted-in tokens for cross-chain remittance.
Contract / Function | Description | Link |
---|---|---|
Functions Consumer | Functions for sending request Covalent API | Functions page |
Functions Automation | Time trigger Automation for the Functions Consumer | Automations page |
Upkeep Automation | Custom upkeep for checking and performing round-down remmittance | Automations page |
N/B The provided links and addresses were only used before the hackathon deadline and do not represent future connections. This can be verified by checking the timestamps of the transactions