Breeze

Choose an integration path

Use the TypeScript SDK or call the Breeze REST API directly.

Both integration paths use the same Breeze API and strategy configuration. Pick the surface that best matches your backend.

Before you begin

  1. Create an organization in the Customer Portal.
  2. Create a strategy for the assets your product will support.
  3. Create an API key and keep it on a trusted server.

TypeScript SDK

Use the maintained @solana/breeze-sdk package when your backend is written in TypeScript or JavaScript.

npm install @solana/breeze-sdk

The dependency-free root SDK provides typed methods for reading strategy and user data and for generating deposit, withdrawal, and account-close transactions.

Open the SDK quickstart →

Trusted-backend transaction execution

When your trusted backend or custody environment owns the transaction signer, use the optional Solana Kit plugin:

npm install @solana/breeze-sdk @solana/kit \
  @solana/kit-plugin-rpc @solana/kit-plugin-signer

For direct sending, each required server-managed signer must implement Kit's TransactionPartialSigner (signTransactions) or TransactionModifyingSigner (modifyAndSignTransactions) capability. A signer that can only send transactions is insufficient.

The plugin installs client.breeze methods that derive identity and payer addresses, fetch and validate Breeze instructions, and delegate planning and execution to the installed Kit capabilities. Deposit and withdrawal planning resolves the required address lookup table and builds a version-0 transaction; close-account planning skips lookup-table resolution and uses the planner's selected transaction version.

Browser-wallet transaction handoff

When the user signs with a connected browser wallet, keep the Breeze SDK and API key on your backend. Create the serialized transaction there, validate all request fields, and return only that transaction to the browser. The wallet can then show it to the user, sign it, submit it to Solana, and wait for confirmation.

Never initialize breeze({ apiKey }) in browser code or include a Breeze API key in a client bundle.

REST API

Call the REST API directly from any server-side language when you want full control over transport, serialization, or client generation.

curl "https://api.breeze.baby/health" \
  -H "x-api-key: YOUR_API_KEY"

Open the API overview →

Common integration flow

Load the strategy

From your backend, fetch supported assets and current strategy data.

Load the user position

Read Breeze balances using the user's public wallet address.

Validate the request

Verify the strategy, mint, amount, identity, and payer against values your application permits.

Execute or hand off

With a server-managed signer, finish the Kit plugin's instructions.deposit(...) or instructions.withdraw(...) builder with .sendTransaction(). With a browser wallet, create a serialized transaction on the backend and return only that transaction for user review and signing.

Refresh state

After confirmation, fetch the user's Breeze balances again.

For request bodies and a complete sequence, continue to the API integration flow.

On this page