Paymaster addresses
You can access the permissionless paymaster contracts at the following addresses on supported blockchains:- Paymaster v0.7
- Paymaster v0.8
Mainnet
| Blockchain | Symbol | Paymaster contract address |
|---|---|---|
| Arbitrum | ARB | 0x6C973eBe80dCD8660841D4356bf15c32460271C9 |
| Base | BASE | 0x6C973eBe80dCD8660841D4356bf15c32460271C9 |
Testnet
| Blockchain | Symbol | Paymaster contract address |
|---|---|---|
| Arbitrum Sepolia | ARB-SEPOLIA | 0x31BE08D380A21fc740883c0BC434FcFc88740b58 |
| Base Sepolia | BASE-SEPOLIA | 0x31BE08D380A21fc740883c0BC434FcFc88740b58 |
Paymaster events
This section explains the events from the Circle Paymaster and when they are emitted. You can use these events to debug or track the state after submitting a user operation (user op) to a bundler.TokenPaymasterV07.sol and TokenPaymasterV08.sol
These files are the main contract of the Circle Paymaster that support EntryPoint v0.7 and v0.8. The primary functions they integrate are:_validatePaymasterUserOp: validates the user op and charges the prefund token from the sender before execution._postOp: refunds the token back to the sender when the actual amount of tokens needed is known after execution.
UserOperationSponsored
The contract emits this event after the_postOp is executed and the prefund
token (if any) is refunded.
Attributes
| Name | Type | Description |
|---|---|---|
token | IERC20 | The ERC-20 token paid by the sender |
sender | address | The sender address |
userOpHash | bytes32 | The hash of the user op |
nativeTokenPrice | uint256 | The price of 1 ether = 1e18 wei, denominated in token |
actualTokenNeeded | uint256 | The final transaction cost to the smart contract account (SCA), denominated in token |
feeTokenAmount | uint256 | The fee spread used to cover the slippage from exchanging USDC for ETH, denominated in token |
userOperationSponsored event contains the following data:
| Name | Type | Value |
|---|---|---|
token | IERC20 | 0x0000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c7238 |
sender | address | 0x000000000000000000000000148cab4b1a7e8c23ae62967cfc8df6292ecf27a8 |
userOpHash | bytes32 | cc6f71a0ba8d9b72e75c45fae7b830c403b46964eb1d3f8daa0b73d14e6c5b0d |
nativeTokenPrice | uint256 | 3000000000 |
actualTokenNeeded | uint256 | 4551712 |
feeTokenAmount | uint256 | 0 |