# StarkFi Documentation ## Docs - [Get available routes](https://docs.starkfi.io/Get-available-routes.md): Use this endpoint to retrieve all tokens and investment routes supported by our platform. Use this data to manage and create operations for a given user. It is recommended to cache this information with a TTL of up to 10 hours. - [Introduction](https://docs.starkfi.io/api-reference/introduction.md): Example section for showcasing API endpoints - [Authentication](https://docs.starkfi.io/authentication.md): Learn how to authenticate with the StarkFi API - [Broadcast yield operation](https://docs.starkfi.io/broadcast.md): Submit signed Solana transaction(s) for deposit, withdraw, or rebalance. StarkNode broadcasts and updates positions. - [Broadcast Transactions](https://docs.starkfi.io/broadcast-transaction.md): Submit a signed transaction to the blockchain through StarkNode's payment infrastructure. Never broadcast directly from the user's wallet. - [Broadcast transactions](https://docs.starkfi.io/broadcast-transactions.md): This endpoint is intended for all on-chain operations processed through our payment infrastructure. You must always use this endpoint and never send transactions via your own broadcast or directly through the user’s wallet (e.g., using sendTransaction). The user should only sign the transaction. Aft… - [Broadcast your operations](https://docs.starkfi.io/broadcast-your-operations.md) - [Build deposit operation](https://docs.starkfi.io/build-deposit-operation.md): To allow a user to invest in a protocol, you must create a deposit operation using the endpoint specified below and following the required parameters. It is mandatory to use our broadcast method to execute the operation. Do not send transactions directly through the blockchain using other methods, a… - [Build rebalance operation](https://docs.starkfi.io/build-rebalance-operation.md): Move funds between yield providers (or refresh the same protocol) using unsigned Solana transactions and StarkFi broadcast. - [Build withdraw operation](https://docs.starkfi.io/build-withdraw-operation.md) - [Check Payment Info](https://docs.starkfi.io/check-payment-info.md): Retrieve the current status and full details of a payment transaction. - [Create order](https://docs.starkfi.io/create-order.md): Create a reusable payment order template for the authenticated tenant (maximum 20 orders). - [Create order](https://docs.starkfi.io/create-orders.md): Instead of creating a new order request every time with varying parameters, you can define a preconfigured (fixed) order with all required values and settings already established. This approach allows you to reuse the same order structure, reducing complexity and avoiding repeated request constructi… - [Create session](https://docs.starkfi.io/create-session.md) - [Create KYC session](https://docs.starkfi.io/create-session-1.md): Create or resume a Didit verification session after the user email is verified. - [Create transaction](https://docs.starkfi.io/create-transaction.md): When an order is created, only the payment data and related information are registered — no transaction is generated at this stage. After creation, use the provided endpoint to retrieve the user data required for payment. With this information, you can generate the unsigned transaction and proceed… - [Create Transaction](https://docs.starkfi.io/create-transaction-1.md): Generate a transaction from a registered payment order. The required parameters vary by transaction type — always validate the type before building the request. - [Build deposit (yield)](https://docs.starkfi.io/deposit.md): Create or update a pending deposit and return an unsigned Solana transaction (base64 wire). - [Fees](https://docs.starkfi.io/development.md) - [Disable/Enable order](https://docs.starkfi.io/disable-enable-order.md) - [Disable or Enable order](https://docs.starkfi.io/disable-enable-order-1.md): Enable or disable an order template by flipping the active flag. - [Yield earnings and positions](https://docs.starkfi.io/earnings.md): List tracked positions with live protocol balance, profit estimates, and reconciliation flags. - [Get rebalance opportunities by symbol](https://docs.starkfi.io/get.md): Filter rebalance opportunities for a single token symbol. - [Get order by ID](https://docs.starkfi.io/get-order.md): Fetch a single payment order that belongs to the authenticated tenant. - [Get rebalance opportunities](https://docs.starkfi.io/get-rebalance-oportunities.md): Using this endpoint, you can retrieve rebalance opportunities for a given position. It returns all tokens that offer better yields across different protocols, based on a comparison of higher APY values. The protocols used are considered highly trusted and belong to main markets, meaning all of them… - [Get KYC status](https://docs.starkfi.io/get-status.md): Return verification status, session metadata, IP summaries, and blocklist signal for an email. - [Get yield strategies by symbol](https://docs.starkfi.io/get-strategy.md): Filter aggregated strategies for a single token symbol (case-insensitive). - [Get user earns](https://docs.starkfi.io/get-user-earns.md) - [Getting started](https://docs.starkfi.io/getting-started.md) - [Getting status](https://docs.starkfi.io/getting-status.md) - [Introduction](https://docs.starkfi.io/index.md) - [List rebalance opportunities](https://docs.starkfi.io/l-ist.md): Cross-protocol APY comparison to suggest better yield destinations. - [List order](https://docs.starkfi.io/list-orders.md) - [List orders](https://docs.starkfi.io/list-orders-1.md): Paginated list of payment orders for the authenticated tenant, newest first. - [List yield strategies](https://docs.starkfi.io/list-strategies.md): Aggregated lending markets from Jupiter Lend and Kamino. - [Prepare KYC](https://docs.starkfi.io/prepare.md): Register an email to begin the KYC flow before OTP and Didit session creation. - [Build rebalance (yield)](https://docs.starkfi.io/rebalance.md): Move principal between protocols (or same protocol) with one or two unsigned Solana transactions. - [Register Order Transaction](https://docs.starkfi.io/register-order-transaction.md): Create a predefined payment order that can be reused across multiple transactions without creating a new one each time. - [Register order transaction](https://docs.starkfi.io/register-order-trasanction.md): In this section, you will learn how to create payment orders and generate transactions, understanding each step of the flow required to process payments with StarkPay. - [Send email OTP (KYC)](https://docs.starkfi.io/send-email-otp.md): Send a one-time verification code to a whitelist email registered for KYC. - [Check payment Info](https://docs.starkfi.io/starkpay.md): Learn about our endpoints to retrieve information about one or multiple payments. - [Supported Chains](https://docs.starkfi.io/supported-chains.md) - [Prepare](https://docs.starkfi.io/untitled-page.md) - [Update order](https://docs.starkfi.io/update-order.md) - [Update order](https://docs.starkfi.io/update-order-1.md): Partially update a payment order. Arrays merge by index; subscription_payment_config shallow-merges with the stored object. - [Validate email](https://docs.starkfi.io/validate-email.md) - [Verify email OTP (KYC)](https://docs.starkfi.io/verify-email.md): Validate the email OTP so the user can create a KYC session. - [Build withdraw (yield)](https://docs.starkfi.io/withdraw.md): Build an unsigned withdraw transaction with fee_policy metadata derived from tracked principal and on-chain earnings. ## OpenAPI Specs - [openapi](https://docs.starkfi.io/api-reference/openapi.json)