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

# Broadcast yield operation

> Optional relay for signed Solana yield transactions. Requires chain_name and op_signed only.

<Info>
  Optional for Yield Aggregator — you may broadcast signed transactions with your own RPC instead. StarkPay [`POST /payment/execute/on-chain`](/broadcast-transaction) remains **required** for payment flows.
</Info>

<ParamField header="x-api-key" type="string" required placeholder="your-api-key">
  Your StarkFi API key.
</ParamField>

<ParamField body="chain_name" type="string" required>
  Enabled chain where the operation was built, e.g. `solana`.
</ParamField>

<ParamField body="op_signed" type="string | string[]" required>
  Base64 signed Solana wire. One string for deposit, withdraw, or a merged rebalance. Up to two strings in an array for dual-transaction rebalance.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.starkfi.io/yield/broadcast \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api_key>' \
    --data '{
      "chain_name": "solana",
      "op_signed": "AQAAAAA..."
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://api.starkfi.io/yield/broadcast", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "x-api-key": "<api_key>",
    },
    body: JSON.stringify({
      chain_name: "solana",
      op_signed: "AQAAAAA...",
    }),
  });
  const data = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - Success theme={null}
  {
    "statusCode": 200,
    "success": true,
    "status": "broadcast_operation_yield_strategy_ok",
    "message": "Yield operation broadcasted successfully",
    "data": {
      "status": 1,
      "transactionHash": "5VERv8NMvzbJME..."
    }
  }
  ```

  ```json 400 - Bad Request theme={null}
  {
    "statusCode": 400,
    "success": false,
    "status": "signed_transaction_missing",
    "message": "signed_transaction_missing"
  }
  ```

  ```json 409 - Conflict theme={null}
  {
    "statusCode": 409,
    "success": false,
    "status": "solana_blockhash_expired",
    "message": "solana_blockhash_expired"
  }
  ```
</ResponseExample>

### Response

<ResponseField name="data.status" type="number">
  Confirmation status from the relay (`1` when successful on Solana).
</ResponseField>

<ResponseField name="data.transactionHash" type="string">
  On-chain signature when available.
</ResponseField>
