Skip to main content
The B2B API separates four types of authority:
  • Integrator API keys identify the tenant. They let your backend create strategies, enroll users, and read portfolios. Each key can use only its assigned scopes.
  • Users control their wallets and portfolios. Enrollment and withdrawal flows require user signatures. An API key cannot replace a user signature.
  • Glider manages permitted automation. Glider uses session keys or delegated agents to run scheduled and manual rebalances.
  • Assets stay onchain. User-specific smart accounts hold portfolio assets. Glider does not use an omnibus offchain ledger for these assets.
For more information, read Glider’s Security Architecture. Contact the Glider team if you have questions about your wallet provider or production rollout.

Choose your integration role

You can use the B2B API as a strategy provider, a distributor, or both.

Portfolio authority model

Three authority layers can affect each user-instantiated portfolio and its smart accounts: This model describes authority over user portfolios and smart accounts, not control of the B2B integration itself. The API key controls access to B2B API resources. It does not grant custody of user assets or root control of a user’s smart accounts.

Systems that Glider manages

Glider operates these offchain systems:
  • API-key authentication, tenant identity, and scope enforcement.
  • Strategy and portfolio metadata.
  • Scheduling, orchestration, indexing, and operation status.
  • Market data, balance reads, policy checks, and route construction.
  • Managed automation agents backed by Glider key-management infrastructure.
  • Session-key records and delegated permissions.
  • Idempotency records for write flows such as enrollment and withdrawal submission.
These systems coordinate automation. An integrator API key does not give access to a user wallet. Glider moves funds only through the applicable authorization flow.

Systems that Glider does not manage

Glider does not control:
  • Your end-user authentication or account recovery.
  • The storage of your API keys.
  • The user’s root wallet, passkey, smart-wallet owner, or recovery policy.
  • A shared omnibus balance for your users.
  • Withdrawals that use only an integrator API key.
Store the Glider API key on your backend. Do not put it in a browser or a mobile application. Limit internal access to the key. Rotate the key if you think that it is exposed.

Onchain functions

The following functions occur onchain:
  • Portfolio accounts are chain-specific smart accounts or managed account structures.
  • Deposits, balances, swaps, rebalances, and withdrawals settle onchain.
  • Sensitive authorization flows verify the signature of the expected owner.
  • Withdrawal authorizations are bound to the portfolio, recipient, assets, nonce, expiry, chain, and verifying contract.
  • Supported Solana flows use a managed-account graph. The user creates the managed account. Glider receives limited authority for automation.
The API returns CAIP identifiers for accounts and assets. Thus, you do not need chain-specific field names. See CAIP identifiers.

Your responsibilities

All integrators must:
  • Keep API keys on your backend and limit internal access.
  • Call GET /v2/whoami to confirm the tenant identity and the assigned scopes.
  • Handle errors as specified in the retry model.
  • Send the X-Correlation-Id to Glider when you request support.
For role-specific responsibilities, see Becoming a Strategy Provider and Becoming a Strategy Distributor. Create and manage B2B API keys in the Glider Console. Then, read Idempotency and Rate limiting.

Strategy creation example

A strategy provider creates a reusable allocation and rebalance schedule. This example creates a private strategy with USDC and WETH targets:
The API key requires strategies:write. Store the returned strategyId; it stays the same across future allocation versions. See Build and Distribute Strategies for validation, updates, and distribution.

Enrollment example

Enrollment is a two-stage authorization flow:
  1. Your backend calls POST /v2/enroll/signature with the user’s owner account, target strategy, chains, and optional accountType.
  2. Glider verifies that your tenant can enroll users in the strategy.
  3. Glider selects an automation agent and returns the wallet authorization payload with the round-trip fields.
  4. The user signs the required message or transaction in their wallet.
  5. Your backend sends the signed artifact and the original fields to POST /v2/enroll.
  6. Glider verifies the authorization and creates the portfolio and smart accounts.
  7. Glider starts portfolio automation.
The flow has these security properties:
  • The API key identifies your tenant.
  • The user signature authorizes enrollment.
  • accountType selects the Kernel sudo validator: omitted/ECDSA for EOA owners, or ERC1271 for supported smart-contract wallets.
  • flowId prevents duplicate enrollment effects during retries.
  • Glider receives limited automation authority. Glider does not receive the root key of the user.
See Two-stage enrollment.

Withdrawal example

Withdrawals use two stages:
  1. Your backend calls POST /v2/portfolios/{portfolioId}/withdraw/signature.
  2. Glider validates the tenant, recipient, chain, assets, and balances.
  3. Glider returns EIP-712 typed data with an expiry and a random nonce.
  4. The user signs the data.
  5. Your backend sends the signed message to POST /v2/portfolios/{portfolioId}/withdraw.
  6. Glider checks the request again.
  7. Glider starts the onchain operation.
The flow has these security properties:
  • The signed message includes the portfolio, recipient, assets, nonce, expiry, chain, and verifying contract.
  • The nonce is the idempotency anchor for safe retries.
  • Glider rejects expired or changed authorizations.
  • Glider accepts the request asynchronously and returns an operation ID.
See Two-stage withdrawal.

Supported owner models

The enrollment and withdrawal flows support EVM and Solana owner models. EVM flows use ECDSA or ERC-1271 signatures and Kernel smart accounts. Solana flows use chain-native signatures and Swig managed accounts. The svm_b2b_api entitlement controls access to Solana flows. Both owner models use CAIP identifiers at the API boundary. Ask Glider which authorization path applies to your wallet stack. Do this before you send production traffic.