Skip to content

Conversation

Screpuh
Copy link

@Screpuh Screpuh commented Oct 10, 2025

Oxium vaults use on-chain orderbook market making strategies, which makes it difficult to calculate APY directly from on-chain data alone. The data is spread across multiple transactions, protocols, and off-chain data over time, so we use our own indexing API to handle this complexity.

Why we use our indexing API

  • Vault APY comes from orderbook fills that happen across many transactions over time
  • Calculating market making performance requires analyzing historical fill events and computing time-weighted returns
  • While liquidity sits in the orderbook, unused funds are deployed to staking protocols for additional yield
  • This creates multi-protocol positions that need data from orderbook events, staking positions, reward programs, and off-chain data

We run an hourly snapshot service that:

  • Fetches TVL directly from vault contracts
  • Analyzes historical orderbook performance
  • Aggregates yields from lending positions and reward distributions
  • Provides a clean APY breakdown

@llamatester
Copy link

The oxium adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 25 passed, 25 total
Snapshots: 0 total
Time: 0.265 s
Ran all test suites.

Nb of pools: 3
 

Sample pools:
┌─────────┬──────────────────────────────────────────────────┬───────┬─────────┬───────────────┬───────────────────┬────────────────────┬───────────────────┬──────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬──────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────┐
│ (index) │ pool                                             │ chain │ project │ symbol        │ tvlUsd            │ apyBase            │ apyReward         │ rewardTokens                                     │ underlyingTokens                                                                               │ poolMeta                             │ url                                                                     │
├─────────┼──────────────────────────────────────────────────┼───────┼─────────┼───────────────┼───────────────────┼────────────────────┼───────────────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
│ 0       │ '0x257410d7191c622dcce3e64621a81d4de81d9e1f-sei' │ 'Sei' │ 'oxium' │ 'WSTETH-WETH' │ 1387158.545662722 │ 0.031              │ 20.69980588410557 │ [ '0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7' ] │ [ '0xBE574b6219C6D985d08712e90C21A88fd55f1ae8', '0x160345fC359604fC6e70E3c5fAcbdE5F7A9342d8' ] │ 'Kandel Takara - Silverhand Capital' │ 'https://app.oxium.xyz/earn/0x257410D7191C622dccE3e64621a81d4de81D9E1F' │
│ 1       │ '0x6cc971c279879c8f006c4bb48bb1ad0f70db6db3-sei' │ 'Sei' │ 'oxium' │ 'SYUSD-USDC'  │ 904586.5569686854 │ 2.9047426997941312 │ 32.77556419165379 │ [ '0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7' ] │ [ '0x059A6b0bA116c63191182a0956cF697d0d2213eC', '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392' ] │ 'Kandel Takara - Silverhand Capital' │ 'https://app.oxium.xyz/earn/0x6CC971C279879C8F006C4Bb48BB1AD0F70Db6dB3' │
│ 2       │ '0x14232617f16ae55c37fa336b26d587c0b3aa0a63-sei' │ 'Sei' │ 'oxium' │ 'WSEI-USDC'   │ 14203.79187638136 │ 3.438061286326664  │ 5.356455907616571 │ [ '0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7' ] │ [ '0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7', '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392' ] │ 'Kandel Takara - Silverhand Capital' │ 'https://app.oxium.xyz/earn/0x14232617F16Ae55c37FA336B26d587C0B3AA0a63' │
└─────────┴──────────────────────────────────────────────────┴───────┴─────────┴───────────────┴───────────────────┴────────────────────┴───────────────────┴──────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────┘

@slasher125
Copy link
Collaborator

gm @Screpuh
why not from on chain calls?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants