Skip to main content

Triple Vaults

Query the triple_vault view to get vault-level data for triples, including market cap, position counts, shares, and asset totals per curve.

Query Structure​

query GetTripleVaults($termId: String!, $limit: Int!) {
triple_vaults(
where: { term_id: { _eq: $termId } }
order_by: { market_cap: desc }
limit: $limit
) {
term_id
counter_term_id
curve_id
total_assets
total_shares
market_cap
position_count
block_number
log_index
updated_at
}
}

Response Fields​

FieldTypeNullableDescription
term_idStringNoTerm ID
counter_term_idStringNoCounter-term ID
curve_idnumericNoBonding curve ID
total_assetsnumericNoTotal assets in the vault
total_sharesnumericNoTotal shares issued
market_capnumericNoVault market capitalization
position_countbigintNoNumber of positions in this vault
block_numbernumericNoBlock number of last update
log_indexbigintNoLog index
updated_attimestamptzNoLast update timestamp

Relationships​

FieldTypeDescription
termtermsTerm entity
counter_termtermsCounter-term entity

Single Lookup​

query GetTripleVault($termId: String!, $curveId: numeric!) {
triple_vault(term_id: $termId, curve_id: $curveId) {
total_assets
total_shares
market_cap
position_count
}
}

Interactive Example​

Query

query GetTopTripleVaults($limit: Int!) {
  triple_vaults(
    order_by: { market_cap: desc }
    limit: $limit
  ) {
    term_id
    counter_term_id
    curve_id
    market_cap
    position_count
    total_assets
    total_shares
  }
}

Variables

Click "Run Query" to execute the GraphQL query and see results

Use Cases​

Compare For/Against Vaults​

async function getTripleVaultPair(termId: string) {
const query = `
query GetVaultPair($termId: String!) {
for: triple_vault(term_id: $termId, curve_id: 1) {
total_assets
total_shares
market_cap
position_count
}
against: triple_vault(term_id: $termId, curve_id: 2) {
total_assets
total_shares
market_cap
position_count
}
}
`

return client.request(query, { termId })
}