Skip to content

coinbase/verifying-paymaster

Repository files navigation

VerifyingPaymaster

Overview

VerifyingPaymaster is an ERC4337-compatible paymaster contract that accepts a signature for validation and can perform optional prechecks and ERC20 token transfers. It supports the option to restrict sponsorship to certain bundlers.

This paymaster implementation is designed to work with EntryPoint v0.7 and provides flexibility in handling user operations, including sponsorship and token-based fee payments. Please see previous releases for previous entrypoint compatibility.

This contract is used as the Coinbase Developer Platform Paymaster for standard sponsorships.

Features

  • Signature-based validation of user operations
  • Optional balance precheck for ERC20 tokens
  • Optional prepayment in validation phase
  • Support for sponsoring user operations with or without token transfers
  • Configurable bundler restrictions
  • Owner-controlled management of bundler allowlist and verifying signer

View more information in the docs(./docs/README.md)

ERC-4337 Overview

ERC-4337 is a standard for account abstraction in Ethereum. It introduces new concepts like EntryPoint contracts, Paymasters, and Bundlers to enable a more flexible and user-friendly transaction experience.

For more information on ERC-4337, please refer to the official EIP.

Deployments

Contract addresses for V06 VerifyingPaymaster:

  • Base: 0x2FAEB0760D4230Ef2aC21496Bb4F0b47D634FD4c
  • Base Sepolia: 0x709a4bae3db73a8e717aefca13e88512f738b27f

Contract addresses for V07 VerifyingPaymaster:

  • Base & Base Sepolia: 0xdCBE0C1A00e4Cf24AE77c52125e6e6b4F7C6Db4e

Development

This project uses Forge, a fast and flexible Ethereum testing framework.

After cloning the repo, installing deps and building the contracts you can run the tests. forge install

forge build

forge test

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published