Skip to main content
GET
/
v1
/
portfolios
List portfolios
curl --request GET \
  --url https://api.endaoment.org/v1/portfolios \
  --cookie NdaoAuth=
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "contractAddress": "0x0000000000000000000000000000000000000000",
    "type": "AaveUsdcV3",
    "name": "Aave USDC V3",
    "shortName": "Aave V3",
    "description": "A USDC yield portfolio.",
    "shortDescription": "USDC yield strategy",
    "logoUrl": "https://example.org/portfolio.png",
    "cap": "1000000000000",
    "redemptionFeeBps": 0,
    "depositFeeBps": 0,
    "providerFeeBps": null,
    "enabled": true,
    "underlyingTokenContractAddress": null,
    "aipPerSecondFeesWad": null,
    "errorMarginWad": null,
    "version": "V2",
    "chainId": 1,
    "settlementMinutes": null,
    "minDeposit": null,
    "minRedemption": null,
    "categories": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "Cash Management",
        "description": "Portfolios focused on cash and cash-equivalent strategies.",
        "colorRgb": "#627EEA",
        "logoUrl": "https://example.org/logo.png"
      }
    ],
    "underlyingStockTicker": null,
    "isExclusive": false,
    "completed": null,
    "totalInvestedInPortfolio": "1000000",
    "positionCount": 12,
    "currentApyBps": 350,
    "quarterlyPerformanceBps": 125,
    "updatedAt": "2026-05-26T20:00:00.000Z"
  }
]

Authorizations

NdaoAuth
string
cookie
required

Query Parameters

fundId
string<uuid>

Filter portfolios by fund access.

Response

200 - application/json

Portfolios available to the caller

id
string<uuid>
required

Unique identifier of the portfolio.

Example:

"123e4567-e89b-12d3-a456-426614174000"

contractAddress
string
required

On-chain contract address of the portfolio.

Example:

"0x0000000000000000000000000000000000000000"

type
enum<string>
required

Type of the portfolio.

Available options:
AaveUsdc,
CompoundUsdc,
YearnUsdc,
SingleToken,
AaveUsdcV3,
CompoundUsdcV3,
TPlusN,
PrivateWealth,
IlliquidSellOverTime,
IlliquidAsset,
IlliquidLockedAdvisorManaged
Example:

"AaveUsdcV3"

name
string
required

Name of the portfolio.

Example:

"Aave USDC V3"

shortName
object
required

Short display name of the portfolio.

Example:

"Aave V3"

description
string
required

Description of the portfolio.

Example:

"A USDC yield portfolio."

shortDescription
object
required

Short description of the portfolio.

Example:

"USDC yield strategy"

logoUrl
string
required

Logo URL for the portfolio.

Example:

"https://example.org/portfolio.png"

cap
object
required

Portfolio cap in USDC micro-units (1000000 = 1 USD), when configured.

Example:

"1000000000000"

redemptionFeeBps
number
required

Redemption fee in basis points (100 basis points = 1%).

Example:

0

depositFeeBps
number
required

Deposit fee in basis points (100 basis points = 1%).

Example:

0

providerFeeBps
object
required

Provider fee in basis points (100 basis points = 1%), when configured.

Example:

null

enabled
boolean
required

Whether the portfolio is enabled for listing.

Example:

true

underlyingTokenContractAddress
object
required

Target token contract address for single-token portfolios.

Example:

null

aipPerSecondFeesWad
object
required

AIP per-second fee rate in WAD units, when configured.

Example:

null

errorMarginWad
object
required

Tolerable estimation error as a WAD value for redemption asset calculations.

Example:

null

version
enum<string>
required

Version of the portfolio implementation.

Available options:
V1,
V2
Example:

"V2"

chainId
object
required

EVM chain ID where the portfolio contract is deployed.

Example:

1

settlementMinutes
object
required

Minutes the portfolio waits before settling a trade request. Null means instantaneous settlement.

Example:

null

minDeposit
object
required

Minimum USDC deposit in micro-units (1000000 = 1 USD), when configured.

Example:

null

minRedemption
object
required

Minimum USDC redemption in micro-units (1000000 = 1 USD), when configured.

Example:

null

categories
object[]
required

Categories associated with the portfolio.

underlyingStockTicker
object
required

Ticker of the underlying stock for stock-backed portfolios.

Example:

null

isExclusive
boolean
required

Whether the portfolio is exclusive to entities with explicit access.

Example:

false

completed
object
required

Whether the portfolio is completed. Used for illiquid portfolios.

Example:

null

totalInvestedInPortfolio
string
required

Sum of all investments made to this portfolio in USDC micro-units (1000000 = 1 USD).

Example:

"1000000"

positionCount
number
required

Number of entity positions opened against the portfolio.

Example:

12

currentApyBps
object
required

Current APY in basis points, when available.

Example:

350

quarterlyPerformanceBps
object
required

Quarterly performance in basis points, when available.

Example:

125

updatedAt
object
required

ISO timestamp when the portfolio financials were last updated.

Example:

"2026-05-26T20:00:00.000Z"