- 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.
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.
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.
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.
Your responsibilities
All integrators must:- Keep API keys on your backend and limit internal access.
- Call
GET /v2/whoamito confirm the tenant identity and the assigned scopes. - Handle errors as specified in the retry model.
- Send the
X-Correlation-Idto Glider when you request support.
Strategy creation example
A strategy provider creates a reusable allocation and rebalance schedule. This example creates a private strategy with USDC and WETH targets: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:- Your backend calls
POST /v2/enroll/signaturewith the user’s owner account, target strategy, chains, and optionalaccountType. - Glider verifies that your tenant can enroll users in the strategy.
- Glider selects an automation agent and returns the wallet authorization payload with the round-trip fields.
- The user signs the required message or transaction in their wallet.
- Your backend sends the signed artifact and the original fields to
POST /v2/enroll. - Glider verifies the authorization and creates the portfolio and smart accounts.
- Glider starts portfolio automation.
- The API key identifies your tenant.
- The user signature authorizes enrollment.
accountTypeselects the Kernel sudo validator: omitted/ECDSAfor EOA owners, orERC1271for supported smart-contract wallets.flowIdprevents duplicate enrollment effects during retries.- Glider receives limited automation authority. Glider does not receive the root key of the user.
Withdrawal example
Withdrawals use two stages:- Your backend calls
POST /v2/portfolios/{portfolioId}/withdraw/signature. - Glider validates the tenant, recipient, chain, assets, and balances.
- Glider returns EIP-712 typed data with an expiry and a random nonce.
- The user signs the data.
- Your backend sends the signed message to
POST /v2/portfolios/{portfolioId}/withdraw. - Glider checks the request again.
- Glider starts the onchain operation.
- 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.
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. Thesvm_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.