curl --request GET \
--url 'https://api.glider.fi/v2/portfolios/a1b2c3d4' \
--header 'x-api-key: gldr_sk_your_api_key'
const response = await fetch(
"https://api.glider.fi/v2/portfolios/a1b2c3d4",
{ headers: { "x-api-key": "gldr_sk_your_api_key" } },
);
const data = await response.json();
{
"success": true,
"data": {
"portfolioId": "a1b2c3d4",
"portfolioName": "Alice Portfolio",
"ownerAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
"strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
"strategyName": "Conservative Yield",
"strategyDescription": "Multi-chain balanced allocation strategy",
"smartAccounts": [
{ "accountId": "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058" }
],
"schedule": {
"status": "active",
"frequency": "daily",
"intervalMs": 86400000,
"nextDueAt": "2026-04-16T12:00:00.000Z",
"lastRebalanceAt": "2026-04-15T12:00:00.000Z"
},
"createdAt": "2026-04-10T08:30:00.000Z",
"strategyVersion": 4,
"updatedAt": "2026-04-15T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "API_006",
"message": "Portfolio with ID a1b2c3d4 not found"
}
}
Enrollment & Portfolio Setup
Get Portfolio
Returns the authenticated tenant’s portfolio detail by ID.
GET
/
v2
/
portfolios
/
{portfolioId}
curl --request GET \
--url 'https://api.glider.fi/v2/portfolios/a1b2c3d4' \
--header 'x-api-key: gldr_sk_your_api_key'
const response = await fetch(
"https://api.glider.fi/v2/portfolios/a1b2c3d4",
{ headers: { "x-api-key": "gldr_sk_your_api_key" } },
);
const data = await response.json();
{
"success": true,
"data": {
"portfolioId": "a1b2c3d4",
"portfolioName": "Alice Portfolio",
"ownerAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
"strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
"strategyName": "Conservative Yield",
"strategyDescription": "Multi-chain balanced allocation strategy",
"smartAccounts": [
{ "accountId": "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058" }
],
"schedule": {
"status": "active",
"frequency": "daily",
"intervalMs": 86400000,
"nextDueAt": "2026-04-16T12:00:00.000Z",
"lastRebalanceAt": "2026-04-15T12:00:00.000Z"
},
"createdAt": "2026-04-10T08:30:00.000Z",
"strategyVersion": 4,
"updatedAt": "2026-04-15T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "API_006",
"message": "Portfolio with ID a1b2c3d4 not found"
}
}
Returns a single portfolio owned by the authenticated tenant — identity,
portfolio display name, strategy metadata, per-chain smart accounts, and
rebalance schedule state.
For real-time balances and USD values call
Common error responses:
GET /v2/portfolios/{portfolioId}/positions.
The schedule block is the canonical source for rebalance visibility:
| Field | Use |
|---|---|
status | active (scheduler will tick) vs paused (integrator stopped automation). |
frequency / intervalMs | Resolved cadence of the strategy. |
nextDueAt | When the next automated rebalance will fire. Render “next rebalance in …” UI from this. |
lastRebalanceAt | When the most recent run (manual or scheduled) completed. |
- Auth:
x-api-keyheader (required) - Scope:
portfolios:read
eip155:0:<address>;
Solana owners use solana:<ref>:<base58>. Smart accounts are chain-bound
(eip155:<chainId>:<address> on EVM) — see
CAIP identifiers for the full rules.
Returns 404 for portfolios your API key does not have access to —
same response shape as a portfolio that doesn’t exist.
string
required
Portfolio identifier returned by
POST /v2/enroll or GET /v2/portfolios.400when the path parameter is invalid401whenx-api-keyheader is missing or the key is invalid403when the API key lacks theportfolios:readscope404when the portfolio does not exist or does not belong to the tenant500on unexpected server errors
curl --request GET \
--url 'https://api.glider.fi/v2/portfolios/a1b2c3d4' \
--header 'x-api-key: gldr_sk_your_api_key'
const response = await fetch(
"https://api.glider.fi/v2/portfolios/a1b2c3d4",
{ headers: { "x-api-key": "gldr_sk_your_api_key" } },
);
const data = await response.json();
{
"success": true,
"data": {
"portfolioId": "a1b2c3d4",
"portfolioName": "Alice Portfolio",
"ownerAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
"strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
"strategyName": "Conservative Yield",
"strategyDescription": "Multi-chain balanced allocation strategy",
"smartAccounts": [
{ "accountId": "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058" }
],
"schedule": {
"status": "active",
"frequency": "daily",
"intervalMs": 86400000,
"nextDueAt": "2026-04-16T12:00:00.000Z",
"lastRebalanceAt": "2026-04-15T12:00:00.000Z"
},
"createdAt": "2026-04-10T08:30:00.000Z",
"strategyVersion": 4,
"updatedAt": "2026-04-15T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "API_006",
"message": "Portfolio with ID a1b2c3d4 not found"
}
}