Octav - API Documentation
  • Welcome
  • Getting Started
    • API Access
    • Portfolio
    • Wallet
    • Transactions
    • Synchronization
    • Status
    • credits
  • API Models
    • Portfolio
      • AssetByProtocols
      • Chains
      • ProtocolPosition
      • Asset
      • ChainSummary
      • NFTCollection
      • NFTChain
      • NFTAsset
    • Transaction
      • Asset
      • NativeAssetFees
  • Additional Informations
    • Chains supported by Octav
    • Protocol types supported by Octav
    • Transaction type
    • Data freshness
  • Changelog
Powered by GitBook
On this page
  • Data freshness
  • Base url
  • Method
  • PATH
  • ACCESS
  • Cost per call
  • Query params
  • Response Type
  • Response Example
  1. Getting Started

Portfolio

The Portfolio endpoint allows you to easily get the portfolio of any addresses and build beautiful app!

PreviousAPI AccessNextWallet

Last updated 15 hours ago

Data freshness

The portfolio endpoint provides data updates on demand with a cache refresh time of 1 minute.

  • If the data is fresh (last sync < 1 min), cached data is returned.

  • If the data is stale (last sync > 1 min), cached data is returned, and the portfolio syncs in the background. The next request will provide fresh data if syncing is complete.

Option for Fresh Data ( <1 min)

To receive fresh data without delay, set the waitForSync parameter to true in your request.

We'll return you the cache if < 1 min, or fresh data.

Base url

https://api.octav.fi

Method

GET

PATH

/v1/portfolio

ACCESS

Restricted with an key, see API Access

Cost per call

1 credit

Query params

Param
Description
Type

addresses*

A comma-separated list of user addresses

String

includeNFTs

If true, the NFTs are included in the portfolio.

Boolean

includeImages

If true, the images links (chains, assets, protocols) are included in the portfolio.

Boolean

includeExplorerUrls

If true, the explorer links are included in the portfolio.

Boolean

aggregated

If true and multiple addresses queried, the portfolios are aggregated into a single one.

Boolean

waitForSync

Boolean

Response Type

Portfolio

Response Example

[
    {
        "address": "0xddda947f31da53d8f9b05ab5a0bb07713c256e35",
        "cashBalance": "0",
        "closedPnl": "13.5466715367602206822681107794098304",
        "dailyIncome": "0",
        "dailyExpense": "0",
        "fees": "48918091440000",
        "feesFiat": "0.125327383206473102336577",
        "lastUpdated": "1736976333061",
        "openPnl": "988.73005829155168096726772643524747428668",
        "networth": "1504.0972690884063639880894878216512",
        "totalCostBasis": "N/A",
        "assetByProtocols": {
            "wallet": {
                "name": "Wallet",
                "key": "wallet",
                "value": "1055.20576207293341601424",
                "totalCostBasis": "N/A",
                "totalClosedPnl": "N/A",
                "totalOpenPnl": "N/A",
                "chains": {
                    "arbitrum": {
                        "name": "Arbitrum",
                        "key": "arbitrum",
                        "value": "1055.20576207293341601424",
                        "totalCostBasis": "N/A",
                        "totalClosedPnl": "N/A",
                        "totalOpenPnl": "N/A",
                        "protocolPositions": {
                            "WALLET": {
                                "assets": [
                                    {
                                        "balance": "0.012695517744456324",
                                        "chainContract": "arbitrum:0x0000000000000000000000000000000000000000",
                                        "chainKey": "arbitrum",
                                        "contract": "0x0000000000000000000000000000000000000000",
                                        "decimal": "18",
                                        "name": "ethereum",
                                        "openPnl": "N/A",
                                        "price": "3442.76",
                                        "symbol": "eth",
                                        "totalCostBasis": "N/A",
                                        "value": "43.70762066990445401424"
                                    },
                                    {
                                        "balance": "69.9031085959246",
                                        "chainContract": "arbitrum:0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0",
                                        "chainKey": "arbitrum",
                                        "contract": "0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0",
                                        "decimal": "18",
                                        "name": "uniswap",
                                        "openPnl": "N/A",
                                        "price": "14.47",
                                        "symbol": "uni",
                                        "totalCostBasis": "N/A",
                                        "value": "1011.497981383028962"
                                    },
                                    {
                                        "balance": "15000",
                                        "chainContract": "arbitrum:0x306fd3e7b169aa4ee19412323e1a5995b8c1a1f4",
                                        "chainKey": "arbitrum",
                                        "contract": "0x306fd3e7b169aa4ee19412323e1a5995b8c1a1f4",
                                        "decimal": "18",
                                        "name": "black agnus",
                                        "openPnl": "N/A",
                                        "price": "1.0668e-8",
                                        "symbol": "ftw",
                                        "totalCostBasis": "N/A",
                                        "value": "0.00016002"
                                    }
                                ],
                                "name": "wallet",
                                "protocolPositions": [],
                                "totalOpenPnl": "N/A",
                                "totalCostBasis": "N/A",
                                "totalValue": "1055.20576207293341601424",
                                "unlockAt": "0"
                            }
                        }
                    }
                }
            },
            "camelot": {
                "name": "Camelot",
                "key": "camelot",
                "value": "448.8915070154729479738494878216512",
                "totalCostBasis": "N/A",
                "totalClosedPnl": "N/A",
                "totalOpenPnl": "N/A",
                "chains": {
                    "arbitrum": {
                        "name": "Arbitrum",
                        "key": "arbitrum",
                        "value": "1717.99524774045030735462879982126",
                        "totalCostBasis": "N/A",
                        "totalClosedPnl": "0",
                        "totalOpenPnl": "N/A",
                        "protocolPositions": {
                            "FARMING": {
                                "assets": [],
                                "name": "Farming",
                                "protocolPositions": [
                                    {
                                        "assets": [
                                            {
                                                "balance": "5006.978371005368",
                                                "chainContract": "arbitrum:0x44108f0223a3c3028f5fe7aec7f9bb2e66bef82f",
                                                "chainKey": "arbitrum",
                                                "contract": "0x44108f0223a3c3028f5fe7aec7f9bb2e66bef82f",
                                                "decimal": "18",
                                                "name": "across protocol token",
                                                "openPnl": "N/A",
                                                "price": "0.2618398732599946",
                                                "symbol": "acx",
                                                "totalCostBasis": "N/A",
                                                "value": "1311.0265820795797782164562510128"
                                            }
                                        ],
                                        "borrowAssets": [],
                                        "dexAssets": [],
                                        "healthRate": "0",
                                        "name": "acx",
                                        "rewardAssets": [
                                            {
                                                "balance": "1554.2654393846651",
                                                "chainContract": "arbitrum:0x44108f0223a3c3028f5fe7aec7f9bb2e66bef82f",
                                                "chainKey": "arbitrum",
                                                "contract": "0x44108f0223a3c3028f5fe7aec7f9bb2e66bef82f",
                                                "decimal": "18",
                                                "name": "across protocol token",
                                                "openPnl": "N/A",
                                                "price": "0.2618398732599946",
                                                "symbol": "acx",
                                                "totalCostBasis": "N/A",
                                                "value": "406.96866566087052913817254880846"
                                            }
                                        ],
                                        "supplyAssets": [],
                                        "totalCostBasis": "N/A",
                                        "totalClosedPnl": "N/A",
                                        "totalOpenPnl": "N/A",
                                        "unlockAt": "0",
                                        "vaultAddress": "",
                                        "poolAddress": "0x9040e41ef5e8b281535a96d9a48acb8cfabd9a48:0xb0c8fef534223b891d4a430e49537143829c4817",
                                        "value": "1717.99524774045030735462879982126"
                                    }
                                ],
                                "totalOpenPnl": "N/A",
                                "totalCostBasis": "N/A",
                                "totalValue": "1717.99524774045030735462879982126",
                                "unlockAt": "0"
                            }
                        }
                      }
                }
            }
        },
        "chains": {
            "arbitrum": {
                "name": "Arbitrum",
                "key": "arbitrum",
                "chainId": "42161",
                "value": "1504.0972690884063639880894878216512",
                "valuePercentile": "100",
                "totalCostBasis": "N/A",
                "totalClosedPnl": "N/A",
                "totalOpenPnl": "N/A"
            }
        }
    }
]

Need always fresh data ? feel free to .

If true, we'll always return you the fresher data we have (response time can be longer if we need to sync the portfolio of the address, more details here )

contact us
Data freshness