nethereum/nethereum/aa-batching-paymasters
- community
Checking that the SKILL.md file is still in the repository.
Help users batch multiple calls into a single UserOperation and sponsor gas with paymasters using Nethereum Account Abstraction. Use when the user mentions batching transactions, atomic multi-call, approve-then-swap in one tx, gas sponsorship, paymasters, gasless transactions, verifying paymaster, deposit paymaster, or PaymasterConfig in .NET/C# with ERC-4337.
Install
npx vskill@latest install nethereum/nethereum/aa-batching-paymastersSKILL.md
Batching & Paymasters
Execute multiple contract calls atomically in a single UserOperation, and sponsor gas fees with paymasters so users don't need ETH.
When to Use This
- User wants to batch multiple calls (approve + swap, multi-transfer) in one atomic operation
- User needs gas sponsorship — a paymaster pays gas instead of the user
- User is building gasless UX for their dApp
- User mentions
BatchExecuteAsync,ToBatchCall,WithPaymaster, orPaymasterConfig
Packages
Batch Multiple Calls
Typed Batch (Same Contract)
Mixed Batch (Different Contracts)
Use ToBatchCall() to convert typed messages:
Batch with ETH Value
Raw Calldata Batch
ERC-7579 Batch via NethereumAccountService
For a modular NethereumAccount, ExecuteBatchAsync sends the batch as a direct account transaction (not a UserOperation) using the account's own ERC-7579 execute entry point:
Paymasters
Simple Paymaster
With Static Data
Verifying Paymaster (Off-Chain Signature)
VerifyingPaymasterManager.SponsorUserOperationAsync signs a validity window and returns a SponsorResult whose PaymasterAndData is address(20 bytes) ‖ data. It takes a PackedUserOperation, not the UserOperation the DataProvider receives, so pack the op first with UserOperationBuilder.PackUserOperation - the paymaster signs over the FINAL gas values, which is exactly why this must happen inside the DataProvider (it only runs once gas is known). PaymasterConfig's DataProvider only needs the data half - WithPaymaster's address is set separately - so strip the 20-byte address prefix:
Deposit Paymaster (Pre-Funded)
A deposit paymaster charges the account's own pre-funded EntryPoint deposit, so no signed data is needed per operation - just fund the account once:
Dynamic Paymaster Data
Decision Guide
| Scenario | Approach | |
|---|---|---|
| Same-contract multi-call | BatchExecuteAsync<T>(msg1, msg2) | |
| Cross-contract atomic ops | BatchExecuteAsync(msg1.ToBatchCall(), msg2.ToBatchCall()) | |
| Raw calldata | BatchExecuteAsync(bytes1, bytes2) | |
| ERC-7579 modular account | account.ExecuteBatchAsync(Call[]) | |
| Simple gas sponsorship | handler.WithPaymaster(address) | |
| Per-operation signature | PaymasterConfig with async callback | |
| Pre-funded sponsorship | Deposit paymaster + static address |
Common Mistakes
- Paymaster not funded — EntryPoint checks paymaster deposit, returns AA31/AA32 errors
- Paymaster data expired — verifying paymasters include validity windows; use dynamic data
- Wrong batch approach — use
ToBatchCall()for cross-contract, generic<T>for same-contract
For full documentation, see: https://docs.nethereum.com/docs/account-abstraction/guide-batching-and-paymasters
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/nethereum-skills/skills/aa-batching-paymasters/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nethereum/nethereum/aa-batching-paymasters)