> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbitflare.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Apex FAQ

> Answers to common questions about OrbitFlare Apex: access, tips and costs, Jito and SWQoS paths, bundles, transaction v1, confirmation, and rate limits.

## Access

<AccordionGroup>
  <Accordion title="How do I get access to Apex?">
    Apex is in beta and invite only. Once your account is enabled, create API keys in the [OrbitFlare dashboard](https://orbitflare.com/dashboard) under **Dashboard > Apex**. To request an invite, contact the team on [Discord](https://discord.gg/orbitflare).
  </Accordion>

  <Accordion title="Is an Apex endpoint a full Solana RPC?">
    No. An Apex endpoint accepts sends: `sendTransaction`, `sendBundle`, and the plain HTTP send routes, plus `getTipAccounts`, `getInflightBundleStatuses`, `getVersion`, and `health`. Keep using your regular [OrbitFlare RPC](/rpc/http) for blockhashes, account reads, simulation, and confirmation.
  </Accordion>

  <Accordion title="Does Apex work on devnet or testnet?">
    Apex serves Solana mainnet.
  </Accordion>

  <Accordion title="Which Apex endpoint should I use?">
    The one with the lowest round trip from your sender. Measure with `GET /ping`. Every Apex endpoint routes toward the upcoming leaders on its own, so your choice only affects your own hop. See [Endpoints and regions](/apex/endpoints).
  </Accordion>
</AccordionGroup>

## Tips and Cost

<AccordionGroup>
  <Accordion title="What does Apex cost?">
    You pay the tip inside each transaction, and only when that transaction lands. The standard tier floor is 0.001 SOL (1,000,000 lamports). A rejected, expired, or dropped transaction costs nothing.
  </Accordion>

  <Accordion title="Do I need to add a Jito tip as well?">
    No. One Apex tip covers all three paths. When the Jito path wins, Apex bids your tip minus the 5,000 lamport base fee to Jito in the same bundle as your transaction.
  </Accordion>

  <Accordion title="Do I still need a priority fee?">
    Yes. Apex gets your transaction to the leader, and the leader still orders by priority fee. Set a compute unit limit and price on every transaction. See [Tips](/apex/tips#tip-and-priority-fee-are-different-things).
  </Accordion>

  <Accordion title="Why was my transaction rejected with no tip when it has one?">
    The tip must be a top-level SystemProgram transfer to one of the accounts from `getTipAccounts`. A transfer made by your program through CPI does not count, and neither does a transfer to any other address. Also check that the tip account is in the static account keys, not loaded through an address lookup table, and that the funder signs. See [tip errors](/apex/errors-and-rate-limits#tip-errors-in-detail).
  </Accordion>

  <Accordion title="Do the tip accounts change?">
    Fetch them with `getTipAccounts` at startup and refresh them from time to time rather than hard-coding them. Pick one at random per transaction.
  </Accordion>

  <Accordion title="What happens to the tip if my transaction lands but fails?">
    A transaction that fails during execution is rolled back as a whole, including the tip transfer. You pay the network fee only.
  </Accordion>
</AccordionGroup>

## Sending

<AccordionGroup>
  <Accordion title="Which transport should I use?">
    Start with JSON-RPC `sendTransaction`, since it drops into existing code. Move to `POST /send-bin` for less overhead over HTTP, or to QUIC with the [Rust client](/apex/rust-client) for the fastest path. Routing and priority are the same on all of them. See [Sending transactions](/apex/sending-transactions).
  </Accordion>

  <Accordion title="I got a signature back. Did my transaction land?">
    Not necessarily. A signature means the Apex endpoint accepted the transaction and is racing it. Confirm with `getSignatureStatuses` on a Solana RPC. See [Confirm every send](/apex/best-practices#confirm-every-send).
  </Accordion>

  <Accordion title="Does Apex simulate my transaction?">
    No. Nothing between you and the leader simulates or runs preflight checks. If you want simulation, call `simulateTransaction` on your regular RPC first.
  </Accordion>

  <Accordion title="How long does Apex keep retrying?">
    Until the transaction lands or its blockhash expires. After that, rebuild it with a fresh blockhash and send the new transaction.
  </Accordion>

  <Accordion title="Can I send the same transaction through Apex and another sender?">
    Yes. The network executes a given signature once, so racing the same signed transaction through several services is safe. Your Apex tip is only paid if the transaction lands, whichever service delivered it.
  </Accordion>

  <Accordion title="Can I call Apex from a browser?">
    CORS is enabled on every HTTP reply, so browser code can call the routes directly. Keep in mind that a key shipped to a public page is visible to visitors, and that Apex endpoints are served over plain HTTP, so a page loaded over HTTPS is subject to mixed content rules. See [Authentication](/apex/authentication#browsers).
  </Accordion>

  <Accordion title="Does my API key travel over the network?">
    Over HTTP, yes, as the `x-api-key` header or `api-key` query parameter. Over QUIC, no: the client presents a certificate derived from the key and the key itself never leaves your machine. The key cannot spend funds either way, because every transaction is signed by your own keypair.
  </Accordion>
</AccordionGroup>

## Bundles and Transaction v1

<AccordionGroup>
  <Accordion title="When should I use a bundle instead of a normal send?">
    Only when you need several transactions to execute in order, all or nothing. Bundles go to the Jito block engine path alone, so they land only on Jito-enabled leaders. A single transaction lands sooner as a normal send, which uses all three paths. See [Bundles](/apex/bundles).
  </Accordion>

  <Accordion title="How many tips does a bundle need?">
    Exactly one transaction in the bundle carries the Apex tip, at or above your tier's floor.
  </Accordion>

  <Accordion title="Can I send transactions larger than 1232 bytes?">
    Yes, as [transaction v1](/apex/transaction-v1) (SIMD-0385), up to 4096 bytes on `sendTransaction`, `/send`, `/send-bin`, `/send-batch`, and QUIC. Legacy and v0 transactions stay at 1232 bytes, and so do bundle members.
  </Accordion>
</AccordionGroup>

## Limits and Support

<AccordionGroup>
  <Accordion title="What are the rate limits?">
    Rate limits are per API key and set by the key's tier. Exceeding the limit returns JSON-RPC `-32029`, HTTP `429`, or QUIC admission code `2`. See [Errors and rate limits](/apex/errors-and-rate-limits#rate-limits).
  </Accordion>

  <Accordion title="Is there a client for my language?">
    The official client is the Rust crate `apex-sender-client`. Every other language can use JSON-RPC and the plain HTTP routes with no library at all, and the QUIC protocol is documented for anyone who wants to implement it. See [QUIC from other languages](/apex/sending-transactions#quic-from-other-languages).
  </Accordion>

  <Accordion title="Where do I get help?">
    Reach the team on [Discord](https://discord.gg/orbitflare), [Telegram](https://t.me/orbitflare), or by email at [support@orbitflare.com](mailto:support@orbitflare.com).
  </Accordion>
</AccordionGroup>
