> For the complete documentation index, see [llms.txt](https://fastlane-labs.gitbook.io/polygon-fastlane/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fastlane-labs.gitbook.io/polygon-fastlane/reference/relay-json-rpc-api.md).

# 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)
