# Particle Network MCP

> Particle Network MCP manages complex Web3 development tasks like Account Abstraction, UserOperations, and identity management. Your AI agent can now build entire user flows—from checking a wallet's project membership to simulating gas fees and sending signed transactions across multiple EVM chains.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** web3, account-abstraction, user-operations, smart-wallets, bundler

## Description

This connector gives your AI client the power to handle complex Web3 infrastructure tasks directly through natural language commands. Instead of juggling dozens of RPC calls, you simply ask for what you need: user details, session validation, or a completed transaction. You can use tools like `get_user_info` to verify who a wallet belongs to and then build out the entire sequence of actions required for a modern DApp experience. Whether you're building on Polygon, Ethereum, or Solana, this MCP handles the underlying complexity—like generating UserOperations and ensuring gas fees are covered via Paymaster sponsorship. When you connect it through Vinkius, all these advanced Web3 tools become available instantly to your agent, letting you focus purely on the user experience instead of the blockchain plumbing.

## Tools

### aa_create_sessions
Creates the initial transaction needed to set up a new session key for a smart account.

### aa_create_user_op
Builds a complete UserOperation object from various underlying transactions.

### aa_get_fee_quotes
Calculates and returns multiple options for gas payments for a UserOp, including different payment methods.

### aa_get_smart_account
Retrieves core information about smart accounts like BICONOMY or SIMPLE wallets.

### aa_send_user_op
Submits a finalized and signed UserOperation directly to the blockchain network.

### aa_validate_session
Checks if an existing session key is still valid on the network.

### eth_estimate_user_operation_gas
Returns a gas cost estimate for a specific UserOperation, preventing unexpected transaction failures.

### eth_get_user_operation_by_hash
Fetches the full details of a UserOperation using its unique hash identifier.

### eth_get_user_operation_receipt
Retrieves confirmation data, or the receipt, confirming that a UserOp was processed by the chain.

### eth_send_user_operation
Submits a finalized UserOperation to the bundler service for processing.

### eth_supported_entry_points
Lists all recognized and supported EntryPoint addresses for the network.

### get_user_info_by_identity
Retrieves user profile details using a social identity like a JWT or UID.

### get_user_info
Gets comprehensive user data by providing both a UUID and an associated token.

### is_project_user
Checks if a given wallet address has been registered as a member of your specific project.

### pm_paymaster_balance
Returns the current USD balance available in the project's Paymaster account.

### pm_sponsor_user_operation
Generates a necessary signature allowing your Paymaster to sponsor and pay for the user's transaction fees.

## Prompt Examples

**Prompt:** 
```
Get user info for UUID '550e8400-e29b-41d4-a716-446655440000' with token 'xyz123'.
```

**Response:** 
```
I've retrieved the user details. The profile is active and associated with the email 'user@example.com'. Would you like to see the connected wallet addresses?
```

**Prompt:** 
```
Check if the EVM address 0x123...abc is a user in my project.
```

**Response:** 
```
I've checked the project records. The address 0x123...abc is indeed registered as a user in your Particle project on the EVM chain.
```

**Prompt:** 
```
Fetch fee quotes for a UserOperation on the polygon chain.
```

**Response:** 
```
I've fetched the fee quotes for Polygon. You have options for payment in native MATIC or via Paymaster sponsorship. Which one would you like to proceed with?
```

## Capabilities

### Manage User Identity
Retrieve detailed user profiles using UUIDs, tokens, or social identities, and check if a wallet belongs to your project.

### Control Account Abstraction
Set up smart accounts by generating sessions and validating session keys for complex user experiences.

### Execute Transactions (UserOps)
Construct, estimate gas costs for, and finally push signed UserOperations across supported EVM chains.

### Sponsor Gas Fees
Check the available balance and generate signatures to pay for transactions using a Paymaster contract.

## Use Cases

### Onboarding a new user to your DApp
A developer needs to verify a new wallet. They ask their agent to first run `get_user_info` using the provided UUID and token. The agent confirms the profile is active, then runs `aa_validate_session` to ensure the connected session key hasn't expired before proceeding.

### Processing a multi-chain transaction
A user needs to send funds across different EVM chains. The agent uses `aa_create_user_op` to construct the full operation, then calls `eth_estimate_user_operation_gas` on Polygon to get quotes. Finally, it runs `pm_sponsor_user_operation` and submits via `aa_send_user_op`.

### Debugging a failed transaction
A user reports that their transaction failed. The agent uses the hash to fetch details with `eth_get_user_operation_by_hash`, then retrieves the full outcome using `eth_get_user_operation_receipt` to pinpoint exactly where the failure occurred.

### Verifying project membership
Before granting access, a service needs to confirm if a given wallet address belongs to the project. The agent uses the simple `is_project_user` tool, which returns a clear boolean result, allowing immediate gating of functionality.

## Benefits

- Eliminate manual RPC calls for user verification. Use `get_user_info` or `get_user_info_by_identity` to instantly check a wallet's status using social IDs, making onboarding faster.
- Build robust smart account logic with Account Abstraction. You can use `aa_create_sessions` and `aa_validate_session` to manage user authentication flow without handling private keys yourself.
- Handle transaction complexity with ease. The MCP allows you to build a UserOperation using `aa_create_user_op`, estimate the cost via `eth_estimate_user_operation_gas`, and send it all in one go.
- Remove gas fee guesswork. Before submitting, check payment options and balances using `pm_paymaster_balance` or simulate costs with `aa_get_fee_quotes` to prevent failed transactions.
- Track every step of the transaction lifecycle. Tools like `eth_get_user_operation_receipt` let you confirm that a UserOp was successfully processed by the chain, providing instant debugging feedback.

## How It Works

The bottom line is that your agent handles the entire sequence of complex Web3 steps—from validation to submission—in one go.

1. First, subscribe to this MCP on Vinkius and provide your Particle Project Server Key.
2. Next, instruct your AI client to perform the necessary Web3 action—for example, 'Get user info for UUID X with token Y.'
3. The MCP executes the tool call, returning structured data about the user's profile or the status of the transaction.

## Frequently Asked Questions

**How does Particle Network MCP handle gas fees?**
The MCP provides tools like `aa_get_fee_quotes` to return multiple payment methods. It also lets you use the Paymaster functions (`pm_sponsor_user_operation`) to generate signatures that sponsor the transaction costs.

**Can I check if a wallet is part of my project using Particle Network MCP?**
Yes, you can. Use the `is_project_user` tool. It simply checks if an address exists in your project's records and returns a clear status.

**What is Account Abstraction, and how does Particle Network MCP help?**
AA manages complex smart account logic. You use tools like `aa_create_sessions` to set up the necessary session keys and validate them with `aa_validate_session` for a seamless user experience.

**Does Particle Network MCP support all EVM chains?**
The MCP is built to interact with various EVM-compatible chains, providing consistent tools like `eth_estimate_user_operation_gas` regardless of the underlying network.

**Is it possible to retrieve user info using only a social token?**
Yes. The tool `get_user_info_by_identity` allows you to fetch detailed profiles simply by providing a social identity, like a JWT or UID.