Account Abstraction Wallet with Off-chain Gas Fee Subscription by Chainlink
- Users can pay the gas fee with an off-chain subscription
- It enables users to skip "bridge token from the other chain" or "send token from the central exchange," which is the first obstacle for users to start using a blockchain-based app
- It brings excellent onboarding, especially for the new user
What it does
- User can pay the gas fee by credit card with a stripe subscription
- After the user subscription, a webhook is called from Stripe, and the webhook sends a tx to request Chainlink
- Chainlink gets the payment status from the off-chain stripe API, then stores it in the on-chain paymaster contract
- Paymaster contract verifies the payment status with the user address, then pays the gas fee for paid users when sending tx.
How we built it
- Chainlink and Account Abstraction is the primary implementation of the hackathon
- Payment status is integrated securely with Chainlink
- Verification is implemented in an Account Abstraction way which brings better flexibility than the average meta transaction
- This is to integrate stripe payment status into the Account Abstraction Paymaster
- The Main reference of the integration
- Using Quicknode RPC for better performance
- Used in deploy script and Account Abstraction Bundler
Challenges we ran into
- This is my first to build an Account Abstraction paymaster, and significantly less documentation is available for this implementation. I had to debug so many times to complete the whole process.
Accomplishments that we're proud of
- Now I can use paymaster for any Account Abstraction tx. This is good progress.
- I believe this is the first implementation of integrating Account Abstraction and Chainlink. There should be excellent business opportunities too.
- Automated chainlink integration, and it works very well
What we learned
- How to use Chainlink and Account Abstraction
What's next for LinkWallet
- Run own bunder
- This off-chain payment method can be used in cross-chain payment too. This enables user not to need to bridge and swap to use the dApp. Users can pay the fee in any chain.