Position & Portfolio API Endpoints

GET /api/v1/portfolio/summary

Get aggregated portfolio summary and positions for the authenticated user.

bash
curl https://api.nester.finance/api/v1/portfolio/summary \
  -H "Authorization: Bearer <token>"
json
{
    "success": true,
    "data": {
        "total_deposited_usdc": "5000.000000",
        "total_current_value_usdc": "5250.500000",
        "total_yield_earned_usdc": "250.500000",
        "positions": [
            {
                "vault_id": "vault_balanced_01",
                "vault_name": "Balanced",
                "deposited": "5000.000000",
                "current_value": "5250.500000",
                "shares": "0.000000",
                "apy_7d": "9.500000"
            }
        ]
    }
}

GET /api/v1/vaults/{id}/my-position

Get authenticated user's position in a specific vault.

bash
curl https://api.nester.finance/api/v1/vaults/vault_balanced_01/my-position \
  -H "Authorization: Bearer <token>"

GET /api/v1/vaults/{id}/performance/history

Get historical performance and yield data for charting.

bash
curl "https://api.nester.finance/api/v1/vaults/vault_balanced_01/performance/history?period=30d"
json
{
    "success": true,
    "data": [
        { "recorded_at": "2026-02-20T12:00:00Z", "apy": 9.2, "tvl": 520000 },
        { "recorded_at": "2026-02-21T12:00:00Z", "apy": 9.5, "tvl": 535000 },
        { "recorded_at": "2026-02-22T12:00:00Z", "apy": 9.3, "tvl": 548000 }
    ]
}