briefcasePortfolio

Create and manage portfolios

Portfolio service health check

get

Simple ping to the portfolio service to verify connectivity.

Authorizations
AuthorizationstringRequired

JWT token for authentication

Responses
chevron-right
200

Portfolio service is reachable

text/plain
ResponsestringExample: pong
get
/api/portfolio/ping

Create a portfolio

post

Creates a new portfolio. Uses multipart/form-data to support optional image upload.

This is the first step towards creating a portfolio on Avo. This endpoint creates a portfolio with a DRAFT status (not live or visible to users) and an empty positions array. Target positions should be added later via the Update Portfolio endpoint.

Portfolio Types

Note: The type field is currently for aesthetic purposes only. Use PORTFOLIO as the default option. However, if you're deciding between a standard portfolio and an index, we recommend building an INDEX_PORTFOLIO as it currently has better visibility on Avo.

Type
Description

PORTFOLIO

A standard portfolio (default)

INDEX_PORTFOLIO

A portfolio that tracks a basket of tokens with dynamic rebalancing (better visibility on Avo)

Authorizations
AuthorizationstringRequired

JWT token for authentication

Body
namestring · min: 1 · max: 30Required

Name for the managed portfolio (required, 1-30 characters)

Example: My Index Portfolio
typestring · enumRequired

Type of portfolio to create

Example: PORTFOLIOPossible values:
beneficiary_walletstring · min: 32 · max: 44Optional

The wallet that will receive deployer fees. Must have some initial SOL (minimum rent exemption amount required to receive SOL).

Example: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
descriptionstring · min: 1 · max: 500Optional

Optional description for the portfolio (max 500 characters)

Example: A curated index of top tokens
imagestring · binaryOptional

Optional image file (JPEG or PNG, max 10MB)

Responses
chevron-right
200

Portfolio created successfully

application/json
post
/api/portfolio/create

Update portfolio target positions

post

Updates the target positions for an existing portfolio. Target positions define the desired allocation of tokens in the portfolio.

Allocation Rules

  • Each allocation value must be between 0 and 1 (representing 0% to 100%)

  • The sum of all allocations should equal 1 (100%)

  • You can include 1-100 target positions (recommended to keep it under 30 positions for better UX)

Common Token Mints

Token
Mint Address

SOL (Wrapped)

So11111111111111111111111111111111111111112

AVO

GdZ9rwHyKcriLdbSzhtEFLe5MLs7Vk6AY1aE5ei7nsmP

INFRA

D1wZHkfk8d6QsCjF3NTiYHLzsZJ2Qb4Q7WBFFbGuzBLV

Authorizations
AuthorizationstringRequired

JWT token for authentication

Body
portfolio_idstring · min: 1Required

The unique identifier of the portfolio to update

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
chevron-right
200

Portfolio updated successfully

application/json
post
/api/portfolio/update

Last updated