Skip to main content
PATCH
/
yield
/
rebalance
curl --request PATCH \
  --url https://api.starkfi.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": {
    "mode": "single_transaction",
    "transaction": "AQAAAAA..."
  }
}
x-api-key
string
required
Your StarkFi API key.
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).
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.
curl --request PATCH \
  --url https://api.starkfi.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": {
    "mode": "single_transaction",
    "transaction": "AQAAAAA..."
  }
}

Response

data.mode
string
single_transaction when instructions fit in one packet.
data.transaction
string
Base64 unsigned Solana wire. Sign and broadcast on your RPC, or optionally via Broadcast yield.