Account Abstraction Wallet with Off-chain Gas Fee Subscription by Chainlink

User Benefits

  • 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

how it works

  1. User can pay the gas fee by credit card with a stripe subscription
  2. After the user subscription, a webhook is called from Stripe, and the webhook sends a tx to request Chainlink
  3. Chainlink gets the payment status from the off-chain stripe API, then stores it in the on-chain paymaster contract
  4. 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

Chainlink Integration

Polygon Integration


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.

Built With

  • accountabstraction
  • chainlink
  • polygon
  • quicknode
  • stripe
Share this project: