# Epoch Bundler

Epoch Bundler is Compliant with ERC-4337 Spec tests, but it also adds additional functionalities.

You can find all the default bundler RPC endpoints [here](https://github.com/eth-infinitism/bundler/blob/633fb4d8298b432a5b0fa0dc48f2265b80c3a5a5/packages/bundler/src/BundlerServer.ts#L132).

### **Additional Endpoints in Epoch's Bundler Implementation**

**eth\_sendUserOperation**

This method works as it does in a normal bundler, but also accepts some additional parameters.&#x20;

This includes `advancedUserOperation` - This includes [triggers](/use-epoch-sdk/intent-automation-module/triggers.md) and evaluation statement.

**eth\_getUserOperations**

This RPC endpoint returns a list of transactions with bundler that are supposed to be executed in the future.

It simply takes user's smart contract wallet address as a parameter and returns a list of queued Userops.

**Request**

```typescript
{
     method: "eth_getUserOperations",
     params: [
       "0xb28884540Dc4FA18568Bbc8564386eBd342e3a04"
     ],
}
```

**Response**

```typescript
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "chainId": "0x13881",
            "userOp": {
                "sender": "0x037241C85415fcC94D830d972bBec26e079165Aa",
                "nonce": "0xc6168aeedaeb650000000000000000",
                "initCode": "0x",
                "callData": "0xb61d27f60000...0000000000000",
                "callGasLimit": "0x16e4a0",
                "verificationGasLimit": "0x186a0",
                "preVerificationGas": "0xb47c",
                "maxFeePerGas": "0x59682f20",
                "maxPriorityFeePerGas": "0x59682f00",
                "paymasterAndData": "0x",
                "signature": "0xf28148f085d947222...21bd7818ef1e94c7411b",
                "advancedUserOperation": {
                    "triggerEvent": {
                        "contractAddress": "0xBfa045514a...1E087AE82e3",
                        "eventSignature": "event Sync(uint112 reserve0, uint112 reserve1);",
                        "evaluationStatement": ":reserve1: / :reserve0: >= 9"
                    }
                }
            },
            "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
            "prefund": "0x0",
            "userOpHash": "0xc61060d21d9719...79de49ab3d3827f5",
            "lastUpdatedTime": "0x18c917978fb"
        }
    ]
}
```

**eth\_deleteUserOperation**

This RPC endpoint will delete from the queue the userop with the same nonce as the one received in the body of this request.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.epochprotocol.xyz/use-epoch-sdk/intent-automation-module/epoch-bundler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
