Models

Every object the Syncrone API returns.

Amounts in wei are decimal strings. USD amounts and rates are numbers. Timestamps are ISO-8601. Nested objects link to their own section. Endpoint pages are under the API overview.

Portfolio objects#

The rows returned by assets, holdings, and positions. An asset is a token inside a position. A holding is a wallet balance. A position is the protocol exposure those assets belong to.

Asset

FieldTypeDescription
idrequiredstringUnique identifier for the asset
chain_idrequiredintegerBlockchain network ID
chainrequiredstringBlockchain network name
block_numberrequiredstringBlock number at snapshot time
block_timestamprequireddate-timeBlock timestamp (ISO 8601)
asset_addressrequiredstringToken contract address
wallet_addressrequiredstringOwner wallet address
via_proxyrequiredstringProxy contract address (0x00 if none)
typerequiredstringAsset type (e.g., collateral, debt)
protocol_namenullablestringDeFi protocol name
protocol_versionnullablestringProtocol version
asset_namerequiredstringToken name
asset_symbolrequiredstringToken symbol
asset_decimalsrequiredintegerToken decimals
asset_balance_weirequiredstringBalance in smallest unit (wei)
asset_value_usdrequirednumberUSD value of balance
receipt_token_addressnullablestringReceipt token address (e.g., aTokens)
receipt_token_namenullablestringReceipt token name
receipt_token_symbolnullablestringReceipt token symbol
receipt_token_decimalsnullableintegerReceipt token decimals
receipt_token_balance_weinullablestringReceipt token balance
receipt_token_value_usdnullablenumberUSD value of receipt tokens
pool_addressrequiredstringPool contract address
market_addressrequiredstringMarket contract address
price_usdrequirednumberToken price in USD
oracle_price_usdnullablenumberOracle-based price in USD
snapshot_moderequiredstringinteraction | daily | hourly | harmonizedHow the snapshot was captured
interaction_typenullablestringType of interaction if snapshot_mode is 'interaction'
interaction_tx_hashnullablestringTransaction hash if snapshot_mode is 'interaction'
interaction_delta_asset_balance_weinullablestringBalance change from interaction
interaction_delta_asset_value_usdnullablenumberUSD value change from interaction
value_roi_pctnullablenumberReturn on investment (percentage)
value_apr_pctnullablenumberAnnual percentage rate
balance_roi_pctnullablenumberBalance-based ROI (percentage)
balance_apr_pctnullablenumberBalance-based APR
capital_basis_usdnullablenumberInitial capital invested (USD)
capital_basis_weinullablestringInitial capital invested (wei)
realized_pnl_weinullablestringRealized profit/loss in wei
realized_pnl_usdnullablenumberRealized profit/loss in USD
unrealized_pnl_weinullablestringUnrealized profit/loss in wei
unrealized_pnl_usdnullablenumberUnrealized profit/loss in USD
realized_balance_pnl_usdnumberRealized PnL from balance changes valued at last price of the query period (pure quantity effect, excludes price effect)
unrealized_balance_pnl_usdnumberUnrealized PnL from balance changes valued at last price of the query period (pure quantity effect, excludes price effect)
price_effect_pnl_usdnumberPnL from price changes (total PnL minus balance PnL valued at period-end price)
cumulative_capital_added_usdnullablenumberTotal capital added over time (USD)
cumulative_capital_removed_usdnullablenumberTotal capital removed over time (USD)
cumulative_capital_added_weinullablestringTotal capital added over time (wei)
cumulative_capital_removed_weinullablestringTotal capital removed over time (wei)
asset_unwrappingnullableAssetUnwrapping[]Recursive unwrapping of wrapped assets to their underlying tokens

AssetUnwrapping

FieldTypeDescription
asset_namerequiredstringName of the underlying/wrapped asset
asset_symbolrequiredstringSymbol of the underlying/wrapped asset
asset_addressrequiredstringContract address of the underlying/wrapped asset
asset_decimalsrequiredintegerDecimals of the underlying/wrapped asset
exchange_raterequiredstringExchange rate between the asset and its underlying (in wei)
is_wrappedrequiredbooleanWhether this asset is itself a wrapped token
asset_unwrappingnullableAssetUnwrapping[]Further unwrapping if this asset is also wrapped (recursive)

Holding

FieldTypeDescription
idrequiredstringUnique identifier for the holding
chain_idrequiredintegerBlockchain network ID
chainrequiredstringBlockchain network name
block_numberrequiredstringBlock number at snapshot time
block_timestamprequireddate-timeBlock timestamp (ISO 8601)
asset_addressrequiredstringToken contract address
wallet_addressrequiredstringOwner wallet address
via_proxyrequiredstringProxy contract address (0x00 if none)
asset_decimalsnullableintegerToken decimals
asset_symbolnullablestringToken symbol
asset_namenullablestringToken name
asset_balance_weinullablestringBalance in smallest unit
asset_value_usdnullablenumberUSD value of balance
price_usdnullablenumberToken price in USD
oracle_price_usdnullablenumberOracle-based price in USD
snapshot_moderequiredstringinteraction | daily | hourly | harmonizedHow the snapshot was captured
interaction_typenullablestringType of interaction if snapshot_mode is 'interaction'
interaction_tx_hashnullablestringTransaction hash if snapshot_mode is 'interaction'
interaction_delta_asset_balance_weinullablestringBalance change from interaction
interaction_delta_asset_value_usdnullablenumberUSD value change from interaction
value_roi_pctnullablenumberReturn on investment (percentage)
value_apr_pctnullablenumberAnnual percentage rate
balance_roi_pctnullablenumberBalance-based ROI (percentage)
balance_apr_pctnullablenumberBalance-based APR
capital_basis_usdnullablenumberInitial capital invested (USD)
capital_basis_weinullablestringInitial capital invested (wei)
realized_pnl_weinullablestringRealized profit/loss
realized_pnl_usdnullablenumberRealized profit/loss in USD
unrealized_pnl_weinullablestringUnrealized profit/loss
unrealized_pnl_usdnullablenumberUnrealized profit/loss in USD
cumulative_capital_added_usdnullablenumberTotal capital added over time (USD)
cumulative_capital_removed_usdnullablenumberTotal capital removed over time (USD)
cumulative_capital_added_weinullablestringTotal capital added over time
cumulative_capital_removed_weinullablestringTotal capital removed over time

Position

FieldTypeDescription
idrequiredstringUnique identifier for the position
chain_idrequiredintegerBlockchain network ID
chainrequiredstringBlockchain network name
block_numberrequiredstringBlock number at snapshot time
block_timestamprequireddate-timeBlock timestamp (ISO 8601)
market_addressrequiredstringProtocol market/pool address
wallet_addressrequiredstringOwner wallet address
via_proxyrequiredstringProxy contract address (0x00 if none)
protocol_namenullablestringDeFi protocol name
protocol_versionnullablestringProtocol version
start_timestamprequireddate-timePosition opening timestamp
end_timestampnullabledate-timePosition closing timestamp (null if still open)
value_net_usdrequirednumberNet position value (collateral - debt) in USD
value_collateral_usdrequirednumberTotal collateral value in USD
value_debt_usdrequirednumberTotal debt value in USD
health_factorrequirednumberPosition health factor (higher is safer)
snapshot_moderequiredstringinteraction | daily | hourly | harmonizedHow the snapshot was captured
interaction_typesnullablestring[]Types of interactions (for interaction snapshots)
interaction_tx_hashsnullablestring[]Transaction hashes (for interaction snapshots)
value_roi_pctnullablenumberReturn on investment (percentage)
value_apr_pctnullablenumberAnnual percentage rate
capital_basis_usdnullablenumberInitial capital invested (USD)
realized_pnl_usdnullablenumberRealized profit/loss in USD
unrealized_pnl_usdnullablenumberUnrealized profit/loss in USD
realized_balance_pnl_usdnumberRealized PnL from balance changes valued at last price of the query period across all assets (pure quantity effect, excludes price effect). Always calculated even when include_assets=false.
unrealized_balance_pnl_usdnumberUnrealized PnL from balance changes valued at last price of the query period across all assets (pure quantity effect, excludes price effect). Always calculated even when include_assets=false.
price_effect_pnl_usdnumberPnL from price changes across all assets (total PnL minus balance PnL valued at period-end price). Always calculated even when include_assets=false.
cumulative_capital_added_usdnullablenumberTotal capital added over time (USD)
cumulative_capital_removed_usdnullablenumberTotal capital removed over time (USD)
cumulative_inflow_usdnullablenumberTotal inflow over position lifetime (USD)
cumulative_outflow_usdnullablenumberTotal outflow over position lifetime (USD)
dtd_realized_pnl_usdnullablenumberDay-to-date realized profit/loss in USD
dtd_unrealized_pnl_usdnullablenumberDay-to-date unrealized profit/loss in USD
dtd_inflow_usdnullablenumberDay-to-date capital inflow in USD
dtd_outflow_usdnullablenumberDay-to-date capital outflow in USD
mtd_realized_pnl_usdnullablenumberMonth-to-date realized profit/loss in USD
mtd_unrealized_pnl_usdnullablenumberMonth-to-date unrealized profit/loss in USD
mtd_inflow_usdnullablenumberMonth-to-date capital inflow in USD
mtd_outflow_usdnullablenumberMonth-to-date capital outflow in USD
ytd_realized_pnl_usdnullablenumberYear-to-date realized profit/loss in USD
ytd_unrealized_pnl_usdnullablenumberYear-to-date unrealized profit/loss in USD
ytd_inflow_usdnullablenumberYear-to-date capital inflow in USD
ytd_outflow_usdnullablenumberYear-to-date capital outflow in USD
assetsAsset[]Individual assets within this position (optional)

PageInfo

FieldTypeDescription
has_morerequiredbooleanWhether more results are available
next_cursornullablestringCursor for fetching next page (ISO 8601 timestamp)

Token

FieldTypeDescription
addressrequiredstringToken contract address
symbolrequiredstringToken symbol
decimalsrequiredintegerToken decimals

TokenValues

FieldTypeDescription
balancerequirednumberToken balance in token units
price_usdrequirednumberToken price in USD
balance_usdrequirednumberBalance value in USD

TokenFlows

FieldTypeDescription
inrequiredobject—
outrequiredobject—

Response envelopes#

List endpoints wrap rows in an array plus page_info. Performance wraps an organization tree. Errors share one object.

AssetsResponse

FieldTypeDescription
assetsrequiredAsset[]—
page_inforequiredPageInfo—

HoldingsResponse

FieldTypeDescription
holdingsrequiredHolding[]—
page_inforequiredPageInfo—

PositionsResponse

FieldTypeDescription
positionsrequiredPosition[]—
page_inforequiredPageInfo—

PerformanceResponse

FieldTypeDescription
start_daterequireddate-timeStart date for the performance calculation period
end_daterequireddate-timeEnd date for the performance calculation period
organizationsrequiredOrganization[]List of organizations with their wallets and performance metrics

Error

FieldTypeDescription
errorrequiredstringError type
messagerequiredstringHuman-readable error message
statusCodeintegerHTTP status code

Performance rollups#

Window metrics shared by every rollup. Wallet, position, asset, and protocol objects add their own identity fields on top of PerformanceMetrics.

PerformanceMetrics

FieldTypeDescription
total_realized_pnl_usdrequirednumberRealized PnL during the period
total_unrealized_pnl_usdrequirednumberChange in unrealized PnL during the period
total_pnl_usdrequirednumberTotal PnL (realized + unrealized change)
total_realized_balance_pnl_usdrequirednumberRealized PnL from balance changes valued at last price (pure quantity effect)
total_unrealized_balance_pnl_usdrequirednumberUnrealized PnL from balance changes valued at last price (pure quantity effect)
total_balance_pnl_usdnumberTotal balance PnL (realized_balance + unrealized_balance) - represents PnL from quantity changes only
total_price_effect_pnl_usdrequirednumberPnL from price changes (total PnL minus balance PnL)
total_inflow_usdrequirednumberCapital inflows during the period
total_outflow_usdrequirednumberCapital outflows during the period
total_net_flow_usdrequirednumberNet flow (inflows - outflows)
start_value_usdrequirednumberPortfolio value at start date
end_value_usdrequirednumberPortfolio value at end date
total_value_change_usdrequirednumberChange in value (end - start)
roi_pctnullablenumberReturn on Investment percentage
time_weighted_return_pctnullablenumberTime-weighted return percentage
apr_pctnullablenumberAnnual Percentage Rate (simple interest annualization)
apy_pctnullablenumberAnnual Percentage Yield (compound interest annualization)

PerformanceBreakdown

FieldTypeDescription
idrequiredstringUnique identifier for the entity
namerequiredstringDisplay name for the entity
realized_pnl_usdrequirednumberRealized PnL
unrealized_pnl_usdrequirednumberUnrealized PnL change
total_pnl_usdrequirednumberTotal PnL
realized_balance_pnl_usdrequirednumberRealized PnL from balance changes valued at last price (pure quantity effect)
unrealized_balance_pnl_usdrequirednumberUnrealized PnL from balance changes valued at last price (pure quantity effect)
total_balance_pnl_usdrequirednumberTotal balance PnL (realized_balance + unrealized_balance) - represents PnL from quantity changes only
price_effect_pnl_usdrequirednumberPnL from price changes (total PnL minus balance PnL)
inflow_usdrequirednumberCapital inflows
outflow_usdrequirednumberCapital outflows
net_flow_usdrequirednumberNet flow
start_value_usdrequirednumberStart value
end_value_usdrequirednumberEnd value
value_change_usdrequirednumberValue change

WalletPerformance

Includes every field from PerformanceMetrics, plus the fields below.

FieldTypeDescription
wallet_addressrequiredstringWallet address
wallet_namerequiredstringWallet name
start_daterequireddate-timeStart date
end_daterequireddate-timeEnd date
by_protocolrequiredPerformanceBreakdown[]Breakdown by protocol
by_assetrequiredPerformanceBreakdown[]Breakdown by asset
by_positionrequiredPerformanceBreakdown[]Breakdown by position
by_holdingrequiredPerformanceBreakdown[]Breakdown by holding

PositionPerformance

Includes every field from PerformanceMetrics, plus the fields below.

FieldTypeDescription
position_idrequiredstringPosition ID
wallet_addressrequiredstringWallet address
protocol_namerequiredstringProtocol name
market_addressrequiredstringMarket address
start_daterequireddate-timeStart date
end_daterequireddate-timeEnd date
by_assetrequiredPerformanceBreakdown[]Breakdown by asset

AssetPerformance

Includes every field from PerformanceMetrics, plus the fields below.

FieldTypeDescription
asset_idrequiredstringAsset ID
position_idrequiredstringPosition ID
wallet_addressrequiredstringWallet address
asset_addressrequiredstringAsset address
asset_symbolrequiredstringAsset symbol
asset_namerequiredstringAsset name
start_daterequireddate-timeStart date
end_daterequireddate-timeEnd date

HoldingPerformance

Includes every field from PerformanceMetrics, plus the fields below.

FieldTypeDescription
holding_idrequiredstringHolding ID
wallet_addressrequiredstringWallet address
asset_addressrequiredstringAsset address
asset_symbolnullablestringAsset symbol
asset_namenullablestringAsset name
start_daterequireddate-timeStart date
end_daterequireddate-timeEnd date

ProtocolPerformance

Includes every field from PerformanceMetrics, plus the fields below.

FieldTypeDescription
protocol_namerequiredstringProtocol name
wallet_addressrequiredstringWallet address
start_daterequireddate-timeStart date
end_daterequireddate-timeEnd date
by_positionrequiredPerformanceBreakdown[]Breakdown by position within this protocol
by_assetrequiredPerformanceBreakdown[]Breakdown by asset within this protocol

AssetAddressPerformance

Includes every field from PerformanceMetrics, plus the fields below.

FieldTypeDescription
asset_addressrequiredstringAsset address
asset_symbolnullablestringAsset symbol
asset_namenullablestringAsset name
wallet_addressrequiredstringWallet address
start_daterequireddate-timeStart date
end_daterequireddate-timeEnd date
by_assetrequiredPerformanceBreakdown[]Breakdown by asset instances in positions
by_holdingrequiredPerformanceBreakdown[]Breakdown by holdings at wallet level

Performance tree#

GET /performance returns organizations, then wallets, protocols, positions, and assets or holdings. Metrics is the numeric block repeated at each level.

Organization

FieldTypeDescription
org_namerequiredstringOrganization name
org_idrequiredstringOrganization ID
number_of_walletsrequiredintegerNumber of wallets in the organization
metricsrequiredMetrics—
walletsrequiredPerformanceWallet[]—

PerformanceWallet

FieldTypeDescription
wallet_addressrequiredstringWallet address
wallet_namenullablestringWallet name
metricsrequiredMetrics—
protocolsrequiredPerformanceProtocol[]List of protocols with positions
holdingsrequiredPerformanceHolding[]List of holdings (non-DeFi token balances)

PerformanceProtocol

FieldTypeDescription
protocol_namerequiredstringProtocol name (e.g., "Aave", "Compound", "Merkl")
metricsrequiredMetrics—
positionsrequiredPerformancePosition[]List of positions within this protocol

PerformancePosition

FieldTypeDescription
idrequiredstringUnique position identifier
position_typerequiredstringPosition type (e.g., "defi")
position_namenullablestringPosition name (e.g., protocol names for Merkl rewards)
chain_idrequiredintegerBlockchain network ID
start_timestamprequireddate-timePosition opening timestamp
end_timestampnullabledate-timePosition closing timestamp (null if still open)
metricsrequiredMetrics—
assetsrequiredPerformanceAsset[]List of assets within this position

PerformanceAsset

FieldTypeDescription
idrequiredstringUnique asset identifier
namenullablestringAsset name
tokenrequiredToken—
metricsrequiredAssetMetrics—
initialrequiredTokenValues—
finalrequiredTokenValues—
flowsrequiredTokenFlows—
childrenrequirednullablePerformanceAsset[]Recursive children assets (for unwrapped assets)

PerformanceHolding

FieldTypeDescription
idrequiredstringUnique holding identifier
chain_idrequiredintegerBlockchain network ID
namenullablestringHolding name
tokenrequiredToken—
initialrequiredTokenValues—
finalrequiredTokenValues—
flowsrequiredTokenFlows—
metricsrequiredMetrics—

Metrics

FieldTypeDescription
realized_pnl_usdrequirednumberRealized PnL during the period
unrealized_pnl_usdrequirednumberChange in unrealized PnL during the period
strategy_pnlrequirednumberStrategy PnL (balance change × price)
market_pnlrequirednumberMarket PnL (total PnL - strategy PnL)
inflow_usdrequirednumberCapital inflows during the period
outflow_usdrequirednumberCapital outflows during the period
net_flow_usdrequirednumberNet flow (inflows - outflows)
initial_value_usdrequirednumberPortfolio value at start date
final_value_usdrequirednumberPortfolio value at end date
value_change_usdrequirednumberChange in value (end - start)
roi_pctrequirednumberReturn on Investment percentage
time_weighted_return_pctrequirednumberTime-weighted return percentage
apr_pctrequirednumberAnnual Percentage Rate (simple interest annualization)
apy_pctrequirednumberAnnual Percentage Yield (compound interest annualization)

AssetMetrics

Includes every field from Metrics, plus the fields below.

FieldTypeDescription
unrealized_balance_pnlrequirednumberUnrealized balance PnL (quantity effect)
realized_balance_pnlrequirednumberRealized balance PnL (quantity effect)