Integrate OrbitFlare Apex transaction submission into this project.

First inspect the existing language, Solana SDK, transaction construction and signing flow. Adapt the integration to the current stack rather than replacing it.

Read the current official documentation before coding:
- Quickstart: https://docs.orbitflare.com/apex/quickstart
- Sending transactions: https://docs.orbitflare.com/apex/sending-transactions
- Tips: https://docs.orbitflare.com/apex/tips
- Regional endpoints: https://docs.orbitflare.com/apex/endpoints
- Errors and rate limits: https://docs.orbitflare.com/apex/errors-and-rate-limits

Requirements:
1. Use Apex only for transaction submission. Retain the existing Solana RPC for blockhashes, account reads, simulation and confirmation.
2. Configure the regional endpoint and API key through server-side environment variables, such as APEX_RPC and APEX_API_KEY. Use the documented x-api-key header. Never expose API keys or signing secrets in client bundles, source control or logs.
3. Fetch current tip accounts using getTipAccounts. Before signing, include exactly one top-level SystemProgram transfer to a published Apex tip account, funded by a signer. Use a static account key for the tip recipient, not an address lookup table. Do not add a separate Jito tip.
4. The standard minimum Apex tip is 0.001 SOL (1,000,000 lamports). Verify the actual floor for the configured API key's tier and meet or exceed it. Keep the Apex tip separate from Solana network and priority fees.
5. Preserve the application's signing and custody model. Submit the signed base64 transaction using JSON-RPC sendTransaction and the current documented parameters. Explicitly configure the mevProtect option based on the application requirements; do not invent endpoint URLs or SDK methods.
6. Treat a returned signature as acceptance only. Confirm it through getSignatureStatuses on the regular Solana RPC, and handle execution errors, blockhash expiry, timeouts, rate limits and JSON-RPC/HTTP errors. Avoid blind retries that could duplicate a business operation.
7. Add focused tests using mocked requests and document the required environment variables and integration steps. Do not broadcast real transactions as part of this implementation task.

Deliver the code changes, a concise explanation of the send/confirmation flow, and any remaining configuration needed. If a required product detail is unclear in the current docs, ask rather than guessing.
