[docs-agent] Add Solana Jito bundle methods (sendBundle, getBundleStatuses, getTipAccounts, getInflightBundleStatuses) - #1502
Draft
alchemy-bot wants to merge 8 commits into
Draft
Conversation
…tuses, getTipAccounts, getInflightBundleStatuses)
Documents 4 Jito bundle methods that Alchemy will proxy on the Solana JSON-RPC endpoint (`solana-mainnet.g.alchemy.com/v2/{apiKey}`), each costing 40 CU:
- `sendBundle`: submit a bundle of up to 5 signed transactions for atomic, sequential execution.
- `getBundleStatuses`: query the on-chain landing status of one or more bundle IDs.
- `getTipAccounts`: retrieve the 8 static Jito tip accounts.
- `getInflightBundleStatuses`: query in-flight status (Pending/Landed/Failed/Invalid) within the block engine's 5-minute look-back window.
Each method has request/response examples and links out to Jito's canonical docs. The methods are guarded by `x-bot-ignore` so Daikon's daily sync does not strip them before chain-config catches up.
Refs DOCS-176
Requested-by: @victorbware
🔗 Preview Mode
|
…ction (like Photon) Moves the 4 Jito bundle methods (`sendBundle`, `getBundleStatuses`, `getTipAccounts`, `getInflightBundleStatuses`) out of the standard Solana JSON-RPC spec into their own alchemy/solana-jito product spec + overview page, matching the Solana Photon API pattern per Victor's request. Changes vs prior commit: - New `src/openrpc/alchemy/solana-jito/solana-jito.yaml` product spec (mirrors solana-photon layout). - New `content/api-reference/solana/solana-jito-bundles-overview.mdx` overview page with background, auction explainer, endpoints, methods table, and related-methods section. - `content/docs.yml` gets a new `section: Solana Jito Bundles and Transactions` under the Solana tab, placed right after Solana Photon API. - Method $refs and x-bot-ignore entries reverted in `src/openrpc/chains/solana/solana.yaml` (methods now live only in the alchemy product spec, alchemy specs aren't managed by Daikon). - "Jito bundle methods" table reverted from `solana-api-overview.mdx`. - 4 CU rows moved from the Solana Standard JSON-RPC Methods table into a new "Solana: Jito Bundles and Transactions" CU section on compute-unit-costs.mdx (marker `cu:auto product="solana-jito"`). - Cross-links in method descriptions updated to the new Photon-style URL pattern (`/docs/chains/solana/solana-jito-bundles-and-transactions/solana-jito-bundles-and-transactions/<method-slug>`). Refs DOCS-176 Requested-by: @victorbware
…ming, Mainnet-only Per Victor's follow-up: - Overview page background no longer opens with "Alchemy proxies Jito's ... methods" framing; it opens directly with what a bundle IS. - 'Endpoints' section renamed to 'Endpoint' (single URL) and updated to state Mainnet only, with Devnet explicitly called out as unsupported. - `src/openrpc/alchemy/solana-jito/solana-jito.yaml` drops the Solana Devnet server entry and drops the 'proxied through Alchemy' phrasing in the info description. - Compute Unit Costs blurb for the Jito section similarly reworded to describe bundles directly rather than Alchemy's proxy role. Refs DOCS-176 Requested-by: @victorbware
Per Victor's follow-up: make it clear these 4 methods are not available on the free tier. - Overview page: new `<Warning>` callout at the top of the page above the fold noting paid-plan requirement, plus a mention in the Endpoint section. - Each method's description (`sendBundle`, `getBundleStatuses`, `getTipAccounts`, `getInflightBundleStatuses`) now opens with an explicit "Available on paid Alchemy plans (pay-as-you-go or enterprise); not available on the free tier." line, so users who deep-link to a method endpoint page see it too. - Compute Unit Costs blurb for the Jito section notes the paid-plan requirement. Refs DOCS-176 Requested-by: @victorbware
…docs-demo) Per Victor's follow-up: Jito bundle methods are paid-plan only, so the Try It form should not pre-populate a working demo key. Users need to plug in their own API key on a paid plan. - `src/utils/generateRpcSpecs.ts`: preserve `x-auth-params` from the source spec if it's already declared (as a non-empty array). Previously the generator unconditionally injected the `docs-demo` default, clobbering any per-spec override. Other specs unaffected: they still get the `docs-demo` default because they don't declare `x-auth-params` in the source. - `src/openrpc/alchemy/solana-jito/solana-jito.yaml`: declare `x-auth-params` with `default: YOUR_API_KEY` and a description that points at the paid signup flow. Try It form now shows `YOUR_API_KEY` instead of `docs-demo`, so users have to swap it out before making a real request. Refs DOCS-176 Requested-by: @victorbware
…non-empty params
Fern strips `params: []` from the JSON-RPC body when an OpenRPC method declares zero params (confirmed by inspecting the rendered curl for Solana Core `getHealth` on prod). Solana Core RPC tolerates missing `params`; the Alchemy Jito proxy's serde is strict and returns `-32600 missing field 'params'`.
Docs-side workaround: give `getTipAccounts` a single optional `Placeholder` param with schema `type: object, default: {}`, and add `{}` to the example's params array. Fern now serializes the request as:
{"jsonrpc":"2.0","id":1,"method":"getTipAccounts","params":[{}]}
Verified against Jito's block engine directly (`mainnet.block-engine.jito.wtf/api/v1/getTipAccounts`) that `params: [{}]` returns the 8 tip accounts. Alchemy's proxy forwards to Jito so the same shape should work through the proxy.
Placeholder param is optional with a default, so the form field shows pre-filled `{}` and the description tells users to leave it alone. Not the prettiest UX, but the alternative is fixing the proxy backend to accept missing `params` (per JSON-RPC 2.0 spec, which says params is optional).
Refs DOCS-176
Requested-by: @victorbware
…getTipAccounts, getInflightBundleStatuses
Per Victor's follow-up: swap the paraphrased descriptions on the three non-sendBundle Jito methods for Jito's own docs wording.
- `getBundleStatuses`: full Jito description including the `getSignatureStatuses` + `searchTransactionHistory: false` + `MAX_RECENT_BLOCKHASHES` (300) explainer.
- `getTipAccounts`: Jito's exact wording ("Retrieves the tip accounts designated for tip payments for bundles. The tip accounts have remained constant...").
- `getInflightBundleStatuses`: Jito's exact wording plus the four Failed / Pending / Landed / Invalid bullet definitions.
Also expanded the `getInflightBundleStatuses` example from 2 to 5 bundle IDs to match Jito's canonical example verbatim. Kept the paid-plan opener line on each method (from the earlier paid-plan gating pass) and the reference link to Jito's docs.
sendBundle description was already based on Jito's text and wasn't in Victor's list, so left as-is.
Refs DOCS-176
Requested-by: @victorbware
… block
The bare ``` fenced code block for the endpoint URL was hitting `remark-lint-fenced-code-flag` ("Unexpected missing fenced code language flag in info string, expected keyword"). Added `text` as the language tag.
Refs DOCS-176
Requested-by: @victorbware
SahilAujla
approved these changes
Aug 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a dedicated Solana Jito Bundles and Transactions section under the Solana tab (styled after the Solana Photon API section), containing 4 methods proxied on the standard Solana JSON-RPC endpoint (
solana-mainnet.g.alchemy.com/v2/{apiKey}), each at 40 CU:sendBundle: submit a bundle of up to 5 signed transactions for atomic, sequential execution.getBundleStatuses: query the on-chain landing status of one or more bundle IDs.getTipAccounts: retrieve the 8 static Jito tip accounts.getInflightBundleStatuses: query in-flight status (Pending/Landed/Failed/Invalid) within the block engine's 5-minute look-back window.Each method has a request/response example and links out to Jito's Low Latency Transaction Send docs for context.
Files touched
src/openrpc/alchemy/solana-jito/solana-jito.yaml— new product-level OpenRPC spec (mirrorssolana-photon/).$refs the 4 method definitions from the shared_components/solana/methods.yaml.src/openrpc/chains/_components/solana/methods.yaml— 4 new method definitions (withx-compute-units: 40, realistic examples, cross-links).src/openrpc/chains/_components/solana/transaction.yaml— 5 new schemas:SendBundleConfig,BundleStatus,BundleStatusesResult,InflightBundleStatus,InflightBundleStatusesResult.content/api-reference/solana/solana-jito-bundles-overview.mdx— new overview page: background, how the auction works, endpoints, methods table, related links.content/docs.yml— new section under Solana tab, placed right after Solana Photon API:content/api-reference/pricing-resources/pricing/compute-unit-costs.mdx— new "Solana: Jito Bundles and Transactions" CU section (markercu:auto product="solana-jito") with the 4 methods.The chain spec (
src/openrpc/chains/solana/solana.yaml) is unchanged — the methods live only in the new alchemy product spec and the shared_components/solana/methods.yaml. Becausealchemy/specs aren't touched by Daikon, nox-bot-ignoreis needed.Status: DRAFT until backend ships
Victor confirmed in Slack that these methods are not yet enabled in production on the Solana endpoint; verified via live curl to
solana-mainnet.g.alchemy.com/v2/docs-demothatsendBundle,getTipAccounts, andgetInflightBundleStatusescurrently returnUnsupported method. OnlysimulateBundleis recognized today.Keeping this PR in draft until the backend feature lands. Try It on the Vercel preview will fail with
-32600 Unsupported methodon the 4 new endpoints until then; that's expected pre-launch.Linear
DOCS-176 — https://linear.app/alchemyapi/issue/DOCS-176/solana-jito-bundles-4-method-pages-under-chainssolana
Requested by
@victorbware (via Slack thread)