Skip to main content
PATCH
/
yield
/
rebalance
curl --request PATCH \
  --url https://api.starknode.io/yield/rebalance \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api_key>' \
  --data '{
    "chain_name": "solana",
    "wallet": "FmTGYpzX27fDqaiytXUdFVaphC5o68G61Q3uhVM2d8bm",
    "asset": "USDC",
    "amount": "10.0",
    "provider_out": "kamino",
    "provider_in": "jupiter_lend"
  }'
{
  "statusCode": 200,
  "success": true,
  "status": "rebalance_yield_strategy_ok",
  "message": "Yield strategy rebalanced successfully",
  "data": {
    "position_out_id": "clxxxxxxxxxxxxxxxxxxxxxxxx",
    "position_in_id": "clyyyyyyyyyyyyyyyyyyyyyyyy",
    "rebalance": {
      "success": true,
      "message": "rebalance_yield_strategy_built",
      "details": {
        "mode": "single_transaction",
        "transaction": "AQAAAAA..."
      }
    }
  }
}

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.

x-api-key
string
required
Your StarkNode API key. You can find it in your dashboard.
chain_name
string
required
Enabled chain, e.g. solana.
amount
string
required
Must parse to a finite number greater than zero.
wallet
string
User pubkey (or use signer).
signer
string
Alias of wallet.
asset
string
Token symbol (or use symbol, token_mint, mint).
symbol
string
Alias of asset.
token_mint
string
Alias of asset.
mint
string
Alias of asset.
provider_out
enum<string>
Withdraw leg: jupiter_lend or kamino (use with provider_in).
provider_in
enum<string>
Deposit leg: jupiter_lend or kamino (use with provider_out).
provider
enum<string>
When both legs use the same protocol, send only this field instead of provider_in / provider_out.
curl --request PATCH \
  --url https://api.starknode.io/yield/rebalance \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api_key>' \
  --data '{
    "chain_name": "solana",
    "wallet": "FmTGYpzX27fDqaiytXUdFVaphC5o68G61Q3uhVM2d8bm",
    "asset": "USDC",
    "amount": "10.0",
    "provider_out": "kamino",
    "provider_in": "jupiter_lend"
  }'
{
  "statusCode": 200,
  "success": true,
  "status": "rebalance_yield_strategy_ok",
  "message": "Yield strategy rebalanced successfully",
  "data": {
    "position_out_id": "clxxxxxxxxxxxxxxxxxxxxxxxx",
    "position_in_id": "clyyyyyyyyyyyyyyyyyyyyyyyy",
    "rebalance": {
      "success": true,
      "message": "rebalance_yield_strategy_built",
      "details": {
        "mode": "single_transaction",
        "transaction": "AQAAAAA..."
      }
    }
  }
}

Response

data.position_out_id
string
required
Source snapshot id for broadcast.
data.position_in_id
string
required
Target snapshot id for broadcast.
data.rebalance
object
required
Build result: success, message, and details with mode (single_transaction or two_transaction) and either transaction or withdraw_transaction + deposit_transaction (base64 unsigned wires).