openapi: 3.1.0 info: title: Jito Block Engine JSON-RPC Bundles Transactions API version: '1.0' description: JSON-RPC API for the Jito Block Engine. The Block Engine accepts bundles and transactions from searchers, bots, and dApps and forwards them to Jito-Solana leader validators for atomic block inclusion. Bundles are ordered, atomic groups of up to five Solana transactions that must execute together — if any one fails the entire bundle reverts. A SOL tip to a designated tip account is required for bundles to be considered by leaders. contact: name: Jito Labs url: https://www.jito.network license: name: Apache-2.0 url: https://www.apache.org/licenses/LICENSE-2.0 x-mev: true x-network: solana servers: - url: https://mainnet.block-engine.jito.wtf description: Mainnet global - url: https://amsterdam.mainnet.block-engine.jito.wtf description: Mainnet Amsterdam - url: https://dublin.mainnet.block-engine.jito.wtf description: Mainnet Dublin - url: https://frankfurt.mainnet.block-engine.jito.wtf description: Mainnet Frankfurt - url: https://london.mainnet.block-engine.jito.wtf description: Mainnet London - url: https://ny.mainnet.block-engine.jito.wtf description: Mainnet New York - url: https://slc.mainnet.block-engine.jito.wtf description: Mainnet Salt Lake City - url: https://singapore.mainnet.block-engine.jito.wtf description: Mainnet Singapore - url: https://tokyo.mainnet.block-engine.jito.wtf description: Mainnet Tokyo - url: https://testnet.block-engine.jito.wtf description: Testnet global - url: https://dallas.testnet.block-engine.jito.wtf description: Testnet Dallas - url: https://ny.testnet.block-engine.jito.wtf description: Testnet New York tags: - name: Transactions description: Direct sendTransaction proxy to validator leaders. paths: /api/v1/transactions: post: summary: Send Transaction Through Block Engine operationId: transactionsRpc tags: - Transactions description: JSON-RPC 2.0 endpoint exposing the `sendTransaction` method. Acts as a direct proxy to Solana's `sendTransaction`, but routes the transaction through the Block Engine to the next leader for inclusion. Optional `bundleOnly=true` query parameter forces the transaction to be wrapped in a single-tx bundle so it is processed under bundle semantics. parameters: - in: query name: bundleOnly schema: type: boolean description: When true, the transaction is treated as a single-transaction bundle. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SendTransactionRequest' responses: '200': description: Signature of the submitted transaction. content: application/json: schema: $ref: '#/components/schemas/SendTransactionResponse' '429': description: Rate limited. components: schemas: JsonRpcEnvelope: type: object required: - jsonrpc - id - method properties: jsonrpc: type: string enum: - '2.0' id: oneOf: - type: integer - type: string method: type: string SendTransactionResponse: type: object properties: jsonrpc: type: string id: type: integer result: type: string description: Transaction signature. SendTransactionRequest: allOf: - $ref: '#/components/schemas/JsonRpcEnvelope' - type: object properties: method: const: sendTransaction params: type: array minItems: 1 maxItems: 2 items: oneOf: - type: string description: Base-58 or base-64 encoded signed transaction. - type: object properties: encoding: type: string enum: - base58 - base64 skipPreflight: type: boolean preflightCommitment: type: string maxRetries: type: integer minContextSlot: type: integer