Skip to main content
Breeze API provides a straightforward way to integrate yield functionality into your application. With standard HTTPS endpoints and JSON responses, you can integrate Breeze without blockchain expertise - the API handles all Solana interactions for you.

Authentication

All API requests require an API key passed in the header:
x-api-key: YOUR_API_KEY

Get Your API Key

Generate an API key from the Breeze Customer Portal.

Core Endpoints

GET /strategy-info/{strategy_id}/
GET
Get strategy details including name, supported assets, and current APY for each asset.
GET /breeze-balances/{user_id}
GET
Get detailed balances with strategy info, position values, deposits, yield earned, and APY.
GET /user-balances/{user_id}
GET
Get user balance information with optional filtering.
GET /user-yield/{user_id}
GET
Get total yield earned by a user.
POST /deposit/tx
POST
Generate a complete serialized transaction for depositing funds into a strategy.
POST /deposit/ix
POST
Generate raw Solana instructions for depositing (advanced use cases).
POST /withdraw/tx
POST
Generate a complete serialized transaction for withdrawing funds from a strategy.
POST /withdraw/ix
POST
Generate raw Solana instructions for withdrawing (advanced use cases).

Quick Start

1. Get Strategy Info

First, fetch your strategy details to see supported assets and current APY:
curl -X GET "https://api.breeze.baby/strategy-info/{strategy_id}/" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "strategy_id": "43620ba3-354c-456b-aa3c-5bf7fa46a6d4",
  "strategy_name": "my-strategy",
  "assets": ["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "..."],
  "apy": 4.29,
  "apy_per_asset": {
    "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": 5.66
  }
}

2. Check User Balances

Get a user’s current positions and earned yield:
curl -X GET "https://api.breeze.baby/breeze-balances/{user_pubkey}?strategy_id={strategy_id}" \
  -H "x-api-key: YOUR_API_KEY"

3. Generate Deposit Transaction

Create a transaction for the user to sign:
curl -X POST "https://api.breeze.baby/deposit/tx" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "strategy_id": "your-strategy-id",
      "base_asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "amount": 1000000,
      "user_key": "user-wallet-pubkey",
      "payer_key": "user-wallet-pubkey"
    }
  }'
Response:
{
  "base64-encoded-transaction"
}

4. Generate Withdraw Transaction

curl -X POST "https://api.breeze.baby/withdraw/tx" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "strategy_id": "your-strategy-id",
      "base_asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "amount": 1000000,
      "user_key": "user-wallet-pubkey",
      "payer_key": "user-wallet-pubkey"
    }
  }'
Amount Format: Amounts are in raw token units. For USDC/USDT (6 decimals), 1 token = 1,000,000. For SOL (9 decimals), 1 SOL = 1,000,000,000.

Transaction Flow

1

Generate Transaction

Call /deposit/tx or /withdraw/tx to get a serialized transaction.
2

Deserialize

Deserialize the base64-encoded transaction in your client.
3

Sign

Have the user sign the transaction with their wallet.
4

Submit

Send the signed transaction to the Solana network.

Next Steps