# Relay JSON-RPC API

## pfl\_addSearcherBundle

Submits a searcher bundle to Fastlane auction handler.

### Parameters

1. `OPPORTUNITY_TX_DATA` - the opportunity transaction data.
2. `SOLVER_OPERATION` - the solver operation.

### Returns

* On success (solver operation hash):&#x20;

`{'jsonrpc': '2.0', 'id': 1, 'result': '0x1111...'}`

* On error:

```json
{
   "jsonrpc": "2.0",
   "id": 1,
   "error": {
      "code": -32000,
      "message": "error code: BR008, msg: invalid solver operation"
   }
}
```

| Error code | Desc                                            |
| ---------- | ----------------------------------------------- |
| C0001      | chain ID not supported                          |
| C0002      | account is OFAC blacklisted                     |
| C0003      | can't decode transaction sender                 |
| C0004      | internal error                                  |
| BR001      | invalid opportunity transaction encoding        |
| BR002      | invalid solver operation encoding               |
| BR003      | can't decode opportunity transaction            |
| BR004      | chain id not supported                          |
| BR005      | can't start backrun auction                     |
| BR006      | backrun auction expired                         |
| BR007      | invalid opportunity transaction                 |
| BR008      | invalid solver operation                        |
| BR009      | can't include solver operation in auction       |
| BR010      | solver operation to address is invalid          |
| BR011      | solver operation gas limit too high             |
| BR012      | solver operation has invalid signature          |
| BR013      | can't retrieve bonded atlETH balance            |
| BR014      | not enough bonded atlETH                        |
| BR015      | can't hash solver operation                     |
| BR016      | can't create user operation                     |
| BR017      | solver operation value is not zero              |
| BR018      | solver operation max fee per gas is too low     |
| BR019      | solver operation deadline is too low            |
| BR020      | solver operation solver is not set              |
| BR021      | solver operation control is invalid             |
| BR022      | solver operation user operation hash is invalid |
| BR023      | solver operation bid token is not ETH           |
| BR024      | can't process request                           |
| BR025      | invalid parameters                              |
| BR026      | invalid parameters (internal)                   |
| AA001      | invalid transaction encoding                    |
| AA002      | invalid PIP15 options encoding                  |
| AA003      | can't decode transaction                        |
| AA004      | invalid parameters                              |
| AA005      | invalid parameters (internal)                   |
| AA006      | chain id not supported                          |
| AA007      | can't decode transaction sender                 |
| AA008      | can't decode method                             |
| AA009      | wrong function call                             |
| AA010      | can't decode transaction data                   |
| AA011      | can't parse user operations                     |
| AA012      | can't compute user operation hash               |
| AA013      | duplicate user operation                        |
| AA014      | max block number passed                         |
| AA015      | max timestamp passed                            |
| AA016      | can't process request                           |
| AA017      | bundle already pending                          |
| AA018      | wrong entrypoint                                |
| AA019      | module shutting down                            |

### Example

```
// Request

curl -X POST --data '{"jsonrpc":"2.0","method":"pfl_AddSearcherBundle","params":[[OPPORTUNITY_TX_DATA, SEARCHER_TX_DATA]],"id":1}'

// Result

{'jsonrpc': '2.0', 'id': 1, 'result': '2022-12-08T07:55:16.779024625Z'}
```

### See next

To understand what these `_DATA` parameters are, see [Transaction Encoding](/polygon-fastlane/key-concepts/transaction-encoding.md)


---

# 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://fastlane-labs.gitbook.io/polygon-fastlane/reference/relay-json-rpc-api.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.
