{
  "openapi": "3.0.0",
  "info": {
    "title": "MEV Protection & Gas Recovery API",
    "description": "Improve the DeFi experience of your users by protecting them against MEV with guaranteed best inclusion and ordering. Recovered MEV value is captured to improve market efficiency. Enterprise customers can negotiate rebate terms to receive a share of recovered value. Perfect for wallets and trading bots.",
    "version": "1.0.0",
    "contact": {
      "email": "support@usemerkle.com",
      "url": "https://merkle.io/support"
    }
  },
  "servers": [
    {
      "url": "https://{quicknode_endpoint}",
      "description": "Your Quicknode endpoint",
      "variables": {
        "quicknode_endpoint": {
          "default": "your-endpoint.quiknode.pro",
          "description": "Your Quicknode endpoint URL"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "JSON-RPC",
      "description": "See request body examples for the available methods you can call on this add-on"
    }
  ],
  "paths": {
    "/partners/quicknode/rpc": {
      "post": {
        "summary": "JSON-RPC methods for https://mempool.merkle.io/partners/quicknode/rpc",
        "description": "Available methods:\n• eth_sendPrivateTransaction: Sends a transaction to the Ethereum network, via a protected, faster channel. Available for backward compatibility with other add-ons.\n• eth_sendRawTransaction: Sends a transaction to the Ethereum network, via a protected, faster channel. \n• eth_getTransactionByHash: A method with positional arguments\n• eth_getTransactionCount: A method with positional arguments\n• eth_cancelTransaction: Merkle provides a best-effort transaction cancellation feature\n• eth_sendBundle: Lets you submit a group (or \"bundle\") of signed transactions to miners or validators with the intent that they are executed together (atomically) in the same block\n• eth_cancelBundle: eth_cancelBundle is a complementary JSON-RPC method that lets you cancel a previously submitted transaction bundle which hasn't yet been included in a block",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "enum": [
                          "2.0"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "eth_sendPrivateTransaction"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "example": 1
                      },
                      "params": {
                        "type": "array",
                        "description": "Positional parameters",
                        "items": {
                          "description": "Parameter value (can be string, number, boolean, object, etc.)"
                        },
                        "example": [
                          "EXAMPLE"
                        ]
                      }
                    },
                    "required": [
                      "jsonrpc",
                      "method",
                      "id",
                      "params"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "enum": [
                          "2.0"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "eth_sendRawTransaction"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "example": 1
                      },
                      "params": {
                        "type": "array",
                        "description": "Positional parameters",
                        "items": {
                          "description": "Parameter value (can be string, number, boolean, object, etc.)"
                        },
                        "example": [
                          "EXAMPLE"
                        ]
                      }
                    },
                    "required": [
                      "jsonrpc",
                      "method",
                      "id",
                      "params"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "enum": [
                          "2.0"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "eth_getTransactionByHash"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "example": 1
                      },
                      "params": {
                        "type": "array",
                        "description": "Positional parameters",
                        "items": {
                          "description": "Parameter value (can be string, number, boolean, object, etc.)"
                        },
                        "example": [
                          "0x..."
                        ]
                      }
                    },
                    "required": [
                      "jsonrpc",
                      "method",
                      "id",
                      "params"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "enum": [
                          "2.0"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "eth_getTransactionCount"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "example": 1
                      },
                      "params": {
                        "type": "array",
                        "description": "Positional parameters",
                        "items": {
                          "description": "Parameter value (can be string, number, boolean, object, etc.)"
                        },
                        "example": [
                          "0x8D97689C9818892B700e27F316cc3E41e17fBeb9",
                          "latest"
                        ]
                      }
                    },
                    "required": [
                      "jsonrpc",
                      "method",
                      "id",
                      "params"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "enum": [
                          "2.0"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "eth_cancelTransaction"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "example": 1
                      },
                      "params": {
                        "type": "array",
                        "description": "Positional parameters",
                        "items": {
                          "description": "Parameter value (can be string, number, boolean, object, etc.)"
                        },
                        "example": [
                          "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"
                        ]
                      }
                    },
                    "required": [
                      "jsonrpc",
                      "method",
                      "id",
                      "params"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "enum": [
                          "2.0"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "eth_sendBundle"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "example": 1
                      },
                      "params": {
                        "type": "array",
                        "description": "Positional parameters",
                        "items": {
                          "description": "Parameter value (can be string, number, boolean, object, etc.)"
                        },
                        "example": [
                          [
                            "0x00",
                            "0x01"
                          ],
                          "0x14CE9EA",
                          1739211331,
                          1739211387,
                          [
                            "0x00",
                            "0x01"
                          ],
                          "0aa315"
                        ]
                      }
                    },
                    "required": [
                      "jsonrpc",
                      "method",
                      "id",
                      "params"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "jsonrpc": {
                        "type": "string",
                        "enum": [
                          "2.0"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "eth_cancelBundle"
                        ]
                      },
                      "id": {
                        "type": "integer",
                        "example": 1
                      },
                      "params": {
                        "type": "array",
                        "description": "Positional parameters",
                        "items": {
                          "description": "Parameter value (can be string, number, boolean, object, etc.)"
                        },
                        "example": [
                          "0aa315"
                        ]
                      }
                    },
                    "required": [
                      "jsonrpc",
                      "method",
                      "id",
                      "params"
                    ]
                  }
                ],
                "discriminator": {
                  "propertyName": "method"
                }
              },
              "examples": {
                "eth_sendPrivateTransaction": {
                  "summary": "Sends a transaction to the Ethereum network, via a protected, faster channel. Available for backward compatibility with other add-ons.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "eth_sendPrivateTransaction",
                    "id": 1,
                    "params": [
                      "EXAMPLE"
                    ]
                  }
                },
                "eth_sendRawTransaction": {
                  "summary": "Sends a transaction to the Ethereum network, via a protected, faster channel. ",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "eth_sendRawTransaction",
                    "id": 1,
                    "params": [
                      "EXAMPLE"
                    ]
                  }
                },
                "eth_getTransactionByHash": {
                  "summary": "",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "eth_getTransactionByHash",
                    "id": 1,
                    "params": [
                      "0x..."
                    ]
                  }
                },
                "eth_getTransactionCount": {
                  "summary": "",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "eth_getTransactionCount",
                    "id": 1,
                    "params": [
                      "0x8D97689C9818892B700e27F316cc3E41e17fBeb9",
                      "latest"
                    ]
                  }
                },
                "eth_cancelTransaction": {
                  "summary": "Merkle provides a best-effort transaction cancellation feature",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "eth_cancelTransaction",
                    "id": 1,
                    "params": [
                      "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"
                    ]
                  }
                },
                "eth_sendBundle": {
                  "summary": "Lets you submit a group (or \"bundle\") of signed transactions to miners or validators with the intent that they are executed together (atomically) in the same block",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "eth_sendBundle",
                    "id": 1,
                    "params": [
                      [
                        "0x00",
                        "0x01"
                      ],
                      "0x14CE9EA",
                      1739211331,
                      1739211387,
                      [
                        "0x00",
                        "0x01"
                      ],
                      "0aa315"
                    ]
                  }
                },
                "eth_cancelBundle": {
                  "summary": "eth_cancelBundle is a complementary JSON-RPC method that lets you cancel a previously submitted transaction bundle which hasn't yet been included in a block",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "eth_cancelBundle",
                    "id": 1,
                    "params": [
                      "0aa315"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON-RPC response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jsonrpc": {
                      "type": "string",
                      "enum": [
                        "2.0"
                      ]
                    },
                    "id": {
                      "type": "integer"
                    },
                    "result": {
                      "description": "Method result"
                    },
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "data": {
                          "description": "Additional error data"
                        }
                      }
                    }
                  },
                  "required": [
                    "jsonrpc",
                    "id"
                  ]
                }
              }
            }
          }
        },
        "externalDocs": {
          "url": "https://docs.merkle.io/private-pool/wallets/send-transactions-via-rpc",
          "description": "Documentation: eth_sendPrivateTransaction: https://docs.merkle.io/private-pool/wallets/send-transactions-via-rpc, eth_sendRawTransaction: https://docs.merkle.io/private-pool/wallets/send-transactions-via-rpc, eth_getTransactionByHash: https://docs.merkle.io/private-pool/wallets/send-transactions-via-rpc, eth_getTransactionCount: https://docs.merkle.io/private-pool/wallets/send-transactions-via-rpc, eth_cancelTransaction: https://docs.merkle.io/private-pool/wallets/cancel-a-transaction, eth_sendBundle: https://docs.merkle.io/private-pool/searchers/send-bundles, eth_cancelBundle: https://docs.merkle.io/private-pool/searchers/send-bundles"
        },
        "tags": [
          "JSON-RPC"
        ]
      }
    }
  },
  "externalDocs": {
    "description": "Support Documentation",
    "url": "https://merkle.io/support"
  }
}