Skip to content
Get started

Lookup merged market data by asset

GET/api/v1/markets/merged/lookup

Lookup merged market data by asset

Query ParametersExpand Collapse
asset_id: string

Asset ID for lookup

with_text: optional boolean

Include text variation fields

with_value: optional boolean

Calculate and include USD values for amounts, where applicable

ReturnsExpand Collapse
data: MergedMarket { asset_info, borrow_collateral, borrow_debt, lend }

Data for all of an assets markets

asset_info: AssetInfo { asset, classification, metadata }

Asset identifiers with associated metadata

asset: AssetSpec { id, group, group_key }

Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)

id: string
group: "native" or "token"
One of the following:
"native"
"token"
group_key: string
classification: AssetClassification

The asset's classification metadata. Assets are classfied to provide context on their usage throughout the Neptune API (e.g. regular assets, neptune receipt tokens, LSTs, etc.)

Each asset belongs to only a single classification type. This object contains metadata pertaining to the given classification.

While some fields may be common among the distinct classifcations, each classification is distinct and subject to independent change.

One of the following:
Regular = object { kind, neptune_receipt_asset }
kind: "regular"
neptune_receipt_asset: AssetSpec { id, group, group_key }

Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)

id: string
group: "native" or "token"
One of the following:
"native"
"token"
group_key: string
NeptuneReceiptToken = object { kind, origin_asset }
kind: "neptune_receipt_token"
origin_asset: AssetSpec { id, group, group_key }

Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)

id: string
group: "native" or "token"
One of the following:
"native"
"token"
group_key: string
LiquidStakingToken = object { kind, origin_asset }
kind: "liquid_staking_token"
origin_asset: AssetSpec { id, group, group_key }

Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)

id: string
group: "native" or "token"
One of the following:
"native"
"token"
group_key: string
metadata: AssetMetadata { decimals_denom, decimals_display, name, 2 more }

Additional metadata for assets

decimals_denom: number

Denom exponent, or num. of decimal places that shift between denom/standard amounts (e.g. 18 for INJ)

formatuint32
minimum0
decimals_display: number

Number of decimals used when displaying amounts of this asset (this is subjective and used for generating text representations)

formatuint32
minimum0
name: string

Full name of the asset

symbol: string

Symbol of the asset, e.g.: NEPT INJ

symbol_denom: string

Denom symbol for the asset (e.g. inj for INJ, sat for BTC)

borrow_collateral: BorrowCollateralMarketData { config, state }

Info for asset as collateral for borrow market, if one exists

config: BorrowCollateralConfig { allowable_ltv, collateral_cap, enabled, 4 more }

Collateral configuration parameters

allowable_ltv: string

The loan to value ratio at which we allow collateral withdrawals or borrows.

collateral_cap: string

The optional, global/shared maximum deposit limit for this collateral.

enabled: boolean

Collateral enabled state

extra: object { text, value }
text: object { allowable_ltv, collateral_cap, liquidation_ltv, 2 more }

Human-readable field variants. Will not be null when query param with_text is true.

allowable_ltv: string
collateral_cap: string
liquidation_ltv: string
max_discount: string
min_discount: string
value: object { collateral_cap, extra, price }

USD values for the corresponding amounts above. Will not be null when query param with_value is true.

Note

This variant group contains an additional price field (set to the number used in value calculation).

The embedded text group will contain the text variant if with_text was specified as well.

collateral_cap: string
extra: object { text }
text: object { collateral_cap, price }

Human-readable variants of USD values. Will not be null when query params with_text and with_value are true.

collateral_cap: optional string
price: optional string

Text representation of price

price: string

Price used in value calculations

liquidation_ltv: string

The loan to value ratio at which the collateral can be liquidated.

max_discount: string

The maximum dynamic discount

min_discount: string

The minimum dynamic discount.

state: BorrowCollateralState { balance, collateral_sum, extra }

Current collateral state

balance: string
collateral_sum: string

Total amount of this asset which is actively collateralized

extra: object { text, value }
text: object { collateral_sum }

Human-readable field variants. Will not be null when query param with_text is true.

collateral_sum: string
value: object { collateral_sum, extra, price }

USD values for the corresponding amounts above. Will not be null when query param with_value is true.

Note

This variant group contains an additional price field (set to the number used in value calculation).

The embedded text group will contain the text variant if with_text was specified as well.

collateral_sum: string
extra: object { text }
text: object { collateral_sum, price }

Human-readable variants of USD values. Will not be null when query params with_text and with_value are true.

collateral_sum: string
price: string

Text representation of price

price: string

Price used in value calculations

borrow_debt: BorrowDebtMarketData { config, rate, state }

Info for asset as debt for borrow market, if one exists

config: BorrowDebtConfig { borrow_cap, borrow_halt_utilization, enabled, 2 more }

Debt market configuration parameters

borrow_cap: string

The global max amount which can be borrowed

borrow_halt_utilization: string

The maximum utilization ratio at which new borrow positions can be opened.

enabled: boolean

Market enabled state

extra: object { text, value }
text: object { borrow_cap, borrow_halt_utilization, interest_fee }

Human-readable field variants. Will not be null when query param with_text is true.

borrow_cap: string
borrow_halt_utilization: string
interest_fee: string
value: object { borrow_cap, extra, price }

USD values for the corresponding amounts above. Will not be null when query param with_value is true.

Note

This variant group contains an additional price field (set to the number used in value calculation).

The embedded text group will contain the text variant if with_text was specified as well.

borrow_cap: string
extra: object { text }
text: object { borrow_cap, price }

Human-readable variants of USD values. Will not be null when query params with_text and with_value are true.

borrow_cap: optional string
price: optional string

Text representation of price

price: string

Price used in value calculations

interest_fee: string

The protocol (base) interest rate that is charged to borrowers.

rate: MarketRate { apr, apy, extra }

Market rates

apr: string

Market rate in APR standard as a decimal percentage

apy: string

Market rate in APY standard as a decimal percentage

extra: object { text }
text: object { apr, apy }

Human-readable field variants. Will not be null when query param with_text is true.

apr: string
apy: string
state: BorrowDebtState { balance_sum, extra, principal_sum, 2 more }

Current debt market state

balance_sum: string
extra: object { text, value }
text: object { balance_sum, principal_sum, time_last_distributed_interest }

Human-readable field variants. Will not be null when query param with_text is true.

balance_sum: string
principal_sum: string
time_last_distributed_interest: string
value: object { balance_sum, extra, price, principal_sum }

USD values for the corresponding amounts above. Will not be null when query param with_value is true.

Note

This variant group contains an additional price field (set to the number used in value calculation).

The embedded text group will contain the text variant if with_text was specified as well.

balance_sum: string
extra: object { text }
text: object { balance_sum, price, principal_sum }

Human-readable variants of USD values. Will not be null when query params with_text and with_value are true.

balance_sum: string
price: string

Text representation of price

principal_sum: string
price: string

Price used in value calculations

principal_sum: string
principal_sum: string
time_last_distributed_interest: string

Timestamp used to keep track of the last time interest was distributed.

formatdate-time
utilization_accumulator: string

Asset utilization tracker.

lend: LendMarketData { rate, state }

Info for asset's lending market, if one exists

rate: MarketRate { apr, apy, extra }

Lending market rates

apr: string

Market rate in APR standard as a decimal percentage

apy: string

Market rate in APY standard as a decimal percentage

extra: object { text }
text: object { apr, apy }

Human-readable field variants. Will not be null when query param with_text is true.

apr: string
apy: string
state: LendMarketState { extra, principal_sum, receipt_total_supply, redemption_ratio }

Current lending market state

extra: object { text, value }
text: object { principal_sum, receipt_total_supply, redemption_ratio }

Human-readable field variants. Will not be null when query param with_text is true.

principal_sum: string
receipt_total_supply: string
redemption_ratio: string
value: object { extra, price, principal_sum }

USD values for the corresponding amounts above. Will not be null when query param with_value is true.

Note

This variant group contains an additional price field (set to the number used in value calculation).

The embedded text group will contain the text variant if with_text was specified as well.

extra: object { text }
text: object { price, principal_sum }

Human-readable variants of USD values. Will not be null when query params with_text and with_value are true.

price: string

Text representation of price

principal_sum: string
price: string

Price used in value calculations

principal_sum: string
principal_sum: string

The total amount of the asset deposited for lending in the market.

receipt_total_supply: string
redemption_ratio: string
error: unknown

Error data. Guaranteed null for successful response.

status: number

HTTP status. Successful responses are guaranteed to be < 400. Conversely, error responses are guaranteed to be >= 400.

formatuint16
minimum0
maximum65535
status_text: string

HTTP status text

Lookup merged market data by asset

curl https://api-v2.nept.finance/api/v1/markets/merged/lookup
{
  "data": {
    "asset_info": {
      "asset": {
        "id": "native;inj",
        "group": "native",
        "group_key": "inj"
      },
      "metadata": {
        "name": "Injective",
        "symbol": "INJ",
        "symbol_denom": "inj",
        "decimals_denom": 18,
        "decimals_display": 4
      },
      "classification": {
        "kind": "regular",
        "neptune_receipt_asset": {
          "id": "token;inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f",
          "group": "token",
          "group_key": "inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f"
        }
      }
    },
    "lend": {
      "rate": {
        "apr": "0.05674109",
        "apy": "0.05838175",
        "extra": {
          "text": {
            "apy": "5.83%",
            "apr": "5.67%"
          }
        }
      },
      "state": {
        "principal_sum": "425740748412504991838699",
        "receipt_total_supply": "396952939907783847231686",
        "redemption_ratio": "1.072521968249961422",
        "extra": {
          "text": {
            "redemption_ratio": "1.0725",
            "receipt_total_supply": "396,952.9399 nINJ",
            "principal_sum": "425,740.7484 INJ"
          },
          "value": {
            "price": "2.99835",
            "principal_sum": "1276519.773002634342279563",
            "extra": {
              "text": {
                "price": "$2.99",
                "principal_sum": "$1,276,519.77"
              }
            }
          }
        }
      }
    },
    "borrow_collateral": {
      "config": {
        "enabled": true,
        "collateral_cap": null,
        "allowable_ltv": "0.1",
        "liquidation_ltv": "0.7",
        "min_discount": "0.14",
        "max_discount": "0.16",
        "extra": {
          "text": {
            "min_discount": "14.00%",
            "allowable_ltv": "10.00%",
            "collateral_cap": "",
            "liquidation_ltv": "70.00%",
            "max_discount": "16.00%"
          },
          "value": {
            "collateral_cap": null,
            "price": "2.99835",
            "extra": {
              "text": {
                "collateral_cap": null,
                "price": "$2.99"
              }
            }
          }
        }
      },
      "state": {
        "collateral_sum": "9121720851143",
        "balance": "3383942239892",
        "extra": {
          "text": {
            "collateral_sum": "0.0000 INJ"
          },
          "value": {
            "collateral_sum": "0.000027350111714024",
            "price": "2.99835",
            "extra": {
              "text": {
                "collateral_sum": "$0.00",
                "price": "$2.99"
              }
            }
          }
        }
      }
    },
    "borrow_debt": {
      "rate": {
        "apr": "0.18675966",
        "apy": "0.20533756",
        "extra": {
          "text": {
            "apy": "20.53%",
            "apr": "18.67%"
          }
        }
      },
      "config": {
        "enabled": true,
        "borrow_cap": null,
        "interest_fee": "0.01",
        "borrow_halt_utilization": "0.9",
        "extra": {
          "text": {
            "borrow_halt_utilization": "90.00%",
            "borrow_cap": "",
            "interest_fee": "1.00%"
          },
          "value": {
            "price": "2.99835",
            "borrow_cap": null,
            "extra": {
              "text": {
                "price": "$2.99",
                "borrow_cap": null
              }
            }
          }
        }
      },
      "state": {
        "principal_sum": "8937703110477",
        "balance_sum": "18275459071570",
        "utilization_accumulator": "27026.311276894544332545",
        "time_last_distributed_interest": "2026-04-09T22:40:09.137784316Z",
        "extra": {
          "text": {
            "time_last_distributed_interest": "2026-04-09 10:40:09 PM +00:00",
            "principal_sum": "0.0000 INJ",
            "balance_sum": "0.0000 INJ"
          },
          "value": {
            "principal_sum": "0.000026798362121298",
            "balance_sum": "0.000054796222707241",
            "price": "2.99835",
            "extra": {
              "text": {
                "price": "$2.99",
                "principal_sum": "$0.00",
                "balance_sum": "$0.00"
              }
            }
          }
        }
      }
    }
  },
  "error": null,
  "status": 200,
  "status_text": "200 OK"
}
{
  "data": null,
  "error": {
    "kind": "internal",
    "scope": "server",
    "message": "An unexpected error occurred"
  },
  "status": 500,
  "status_text": "500 Internal Server Error"
}
Returns Examples
{
  "data": {
    "asset_info": {
      "asset": {
        "id": "native;inj",
        "group": "native",
        "group_key": "inj"
      },
      "metadata": {
        "name": "Injective",
        "symbol": "INJ",
        "symbol_denom": "inj",
        "decimals_denom": 18,
        "decimals_display": 4
      },
      "classification": {
        "kind": "regular",
        "neptune_receipt_asset": {
          "id": "token;inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f",
          "group": "token",
          "group_key": "inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f"
        }
      }
    },
    "lend": {
      "rate": {
        "apr": "0.05674109",
        "apy": "0.05838175",
        "extra": {
          "text": {
            "apy": "5.83%",
            "apr": "5.67%"
          }
        }
      },
      "state": {
        "principal_sum": "425740748412504991838699",
        "receipt_total_supply": "396952939907783847231686",
        "redemption_ratio": "1.072521968249961422",
        "extra": {
          "text": {
            "redemption_ratio": "1.0725",
            "receipt_total_supply": "396,952.9399 nINJ",
            "principal_sum": "425,740.7484 INJ"
          },
          "value": {
            "price": "2.99835",
            "principal_sum": "1276519.773002634342279563",
            "extra": {
              "text": {
                "price": "$2.99",
                "principal_sum": "$1,276,519.77"
              }
            }
          }
        }
      }
    },
    "borrow_collateral": {
      "config": {
        "enabled": true,
        "collateral_cap": null,
        "allowable_ltv": "0.1",
        "liquidation_ltv": "0.7",
        "min_discount": "0.14",
        "max_discount": "0.16",
        "extra": {
          "text": {
            "min_discount": "14.00%",
            "allowable_ltv": "10.00%",
            "collateral_cap": "",
            "liquidation_ltv": "70.00%",
            "max_discount": "16.00%"
          },
          "value": {
            "collateral_cap": null,
            "price": "2.99835",
            "extra": {
              "text": {
                "collateral_cap": null,
                "price": "$2.99"
              }
            }
          }
        }
      },
      "state": {
        "collateral_sum": "9121720851143",
        "balance": "3383942239892",
        "extra": {
          "text": {
            "collateral_sum": "0.0000 INJ"
          },
          "value": {
            "collateral_sum": "0.000027350111714024",
            "price": "2.99835",
            "extra": {
              "text": {
                "collateral_sum": "$0.00",
                "price": "$2.99"
              }
            }
          }
        }
      }
    },
    "borrow_debt": {
      "rate": {
        "apr": "0.18675966",
        "apy": "0.20533756",
        "extra": {
          "text": {
            "apy": "20.53%",
            "apr": "18.67%"
          }
        }
      },
      "config": {
        "enabled": true,
        "borrow_cap": null,
        "interest_fee": "0.01",
        "borrow_halt_utilization": "0.9",
        "extra": {
          "text": {
            "borrow_halt_utilization": "90.00%",
            "borrow_cap": "",
            "interest_fee": "1.00%"
          },
          "value": {
            "price": "2.99835",
            "borrow_cap": null,
            "extra": {
              "text": {
                "price": "$2.99",
                "borrow_cap": null
              }
            }
          }
        }
      },
      "state": {
        "principal_sum": "8937703110477",
        "balance_sum": "18275459071570",
        "utilization_accumulator": "27026.311276894544332545",
        "time_last_distributed_interest": "2026-04-09T22:40:09.137784316Z",
        "extra": {
          "text": {
            "time_last_distributed_interest": "2026-04-09 10:40:09 PM +00:00",
            "principal_sum": "0.0000 INJ",
            "balance_sum": "0.0000 INJ"
          },
          "value": {
            "principal_sum": "0.000026798362121298",
            "balance_sum": "0.000054796222707241",
            "price": "2.99835",
            "extra": {
              "text": {
                "price": "$2.99",
                "principal_sum": "$0.00",
                "balance_sum": "$0.00"
              }
            }
          }
        }
      }
    }
  },
  "error": null,
  "status": 200,
  "status_text": "200 OK"
}
{
  "data": null,
  "error": {
    "kind": "internal",
    "scope": "server",
    "message": "An unexpected error occurred"
  },
  "status": 500,
  "status_text": "500 Internal Server Error"
}