This repo has code examples on how to request tokens from an ERC20 token [SWING] faucet (https://basescan.org/address/0xcC7817DCc0965DDE3B4a9340ec35A21b23393013) on Base using Coinbase Developer Platform's Paymaster & Bundler.
I currently have one example using the pimlico SDK, but contributions are always welcome!
- SimpleAccount (default)
- Safe
- Kernel
SDK | Simple | Safe | Kernel |
---|---|---|---|
permissionless.js | ✅ | ✅ | ✅ |
Prerequisites: you'll need to have node and yarn installed.
git clone https://github.com/CPix18/paymaster-bundler-examples.git
cd paymaster-bundler-examples
cp .env.example .env
yarn
-
This will setup dotenv to load the env file for private values
-
- Navigate to https://www.coinbase.com/developer-platform/products/base-node
- Sign up for a Coinbase Developer Platform account, if you don't have one already.
- Under the Build Onchain section in the Portal, select Node
- In the dropdown on the top right of Configuration, select Base Mainnet
- Copy your RPC endpoint, and paste it into
.env
as theRPC_URL
variable.- The RPC URL should look like
https://api.developer.coinbase.com/rpc/v1/base/<api_key>
- The RPC URL should look like
-
You'll need to add a private key to initialize and sign for your ERC-4337 smart contract account
- Since the faucet request is free and gas will be sponsored by our Paymaster, you can use a new account without any funds
- You can create a new private key with Foundry
- To install Foundry, run
curl -L https://foundry.paradigm.xyz | bash
in Terminal for mac users - To generate a new key pair, run
cast wallet new
- To install Foundry, run
- Copy your private key, and paste it into
.env
as thePRIVATE_KEY
variable - YOU CAN ALSO JUST USE A NEW PRIVATE KEY GENERATED FROM A WALLET APP
Example for swing
cd examples/pimlico
yarn
yarn dev
You should receive an Etherscan link with your sponsored transaction in the terminal output. Example
Minting to 0x923a5B9864726a67E1B2a0839c9b698b84dD4B80
Waiting for transaction...
⛽ Successfully sponsored gas for mintTo transaction with Coinbase Developer Platform!
🔍 View on Etherscan: https://basescan.org/tx/0x94e27c21b8f8e3a288cbeff022a6c921aa49d7a945e340b05c3141a72da63183
✨ Done in 5.66s.