project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

GhoShare

An iOS app created to address shortcomings in expense splitting apps by enabling decentralised direct in-app settlements of payments using credit delegation, token swapping and cross-network transactions. Secured by biometric authentication and EIP 4337 smart accounts.

GhoShare

Created At

LFGHO

Winner of

trophy

Aave - Payments 1st place

trophy

Chainlink - Best Projects Built with CCIP and GHO

trophy

ETHGlobal - ๐Ÿ† LFGHO Finalist

Project Description

When you download the app, you'll first be prompted to sign up or log in. You have two options for logging in: using a Metamask account or creating a new wallet through GhoShare's account abstraction and EIP 4337 smart accounts. Your wallet is secured with biometric authentication, using Apple's FaceID.

Once logged in, you can fund your account in two ways: either by using Unlimit to add funds or by using your existing ETH as collateral to mint GHO through the Aave Ethereum facilitator. You can also add friends by scanning their account-linked QR code.

The app allows you to create expense groups with your friends. As a group leader, you can choose to fund expenses either with your own liquidity or through a credit delegation settlement. If you opt for the latter, you'll deposit assets (like GHO) into the protocol and delegate your credit line to group members, splitting the expense. You can set a repayment deadline and specify the token for repayment. Each group acts as a credit delegation vault, and we utilize the EIP 2612 Permit function for pre-approving funds through signature-based authorization.

Group members have the flexibility to settle expenses using their own liquidity or by borrowing GHO. Moreover, you have the option to pay with any token and convert it to the group leader's preferred token. This enables combination transactions where you can use ETH as collateral, borrow GHO, and then convert and transfer the borrowed GHO back into ETH. This way, you can maintain full exposure to ETH while using GHO for payments.

For transaction processing, we bundle each payment in a custom protocol that leverages Chainlink's Cross-Chain Interoperability Protocol for cross-network transactions and a 1inch fork for token swapping. All transactions are securely signed with biometric authentication, and both the sender and receiver are notified upon completion.

Finally, the app's activity tab provides a history of your friends' transactions. This includes data from event logs of contracts, swaps, and transactions, as well as Aave facilitator activity, all accessible through the GraphQL subgraph endpoint.

How it's Made

At its core, this project uses a custom payment protocol that integrates payment contracts, Chainlink's Cross-Chain Interoperability Protocol (CCIP) for cross-network transactions, and a fork of the 1inch network for token swapping. This setup ensures flexibility and efficiency in handling digital assets.

For group expense management, the system includes a Credit Delegation Vault, utilizing the EIP 2612 Permit function for secure, signature-based pre-approval of funds by group leaders. This feature simplifies financial oversight within groups.

The user onboarding process is streamlined and secure, leveraging account abstraction and EIP 4337 smart accounts, enhanced with Face ID for biometric authentication. This approach balances security with ease of use.

The platform also incorporates the Aave V3 Ethereum Facilitator for minting GHO tokens in an overcollateralized manner, ensuring stability. Integration with the Unlimit iOS SDK facilitates seamless crypto onramping using fiat currencies.

For smart contract deployment, the system employs Pimlico paymaster and permissionless.js, enhancing deployment efficiency. Transaction activities and histories are transparently displayed through Ethereum Mainnet GraphQL subgraph endpoints and historical balance tracking, ensuring transparency and accuracy. Additionally, a notification system keeps all parties informed about transaction statuses, further enhancing the user experience.

Lastly, all of these features are integrated into the Swift-based iOS app and uses a local endpoint to communicate with the aforementioned backend. The iOS app natively accesses all relevant data using the Combine networking framework and executes all blockchain functions accordingly.

background image mobile

Join the mailing list

Get the latest news and updates