Adapters & Price Feeds
Protocol Adapters
Protocol adapters extract position data from DeFi protocols on Stellar.
Position Types
| Type | Description | Protocols |
|---|---|---|
SUPPLY | Lending supply (bTokens) | Blend |
BORROW | Lending debt (dTokens) | Blend |
LP | Liquidity pool shares | Aquarius, SoroSwap, Phoenix |
WALLET | Token balances | Stellar Wallet |
COLLATERAL | CDP collateral | FxDAO |
STAKE | Staked tokens | Phoenix |
Adapter Overview
| Adapter | Protocol | Position Types | Data Source |
|---|---|---|---|
blend | Blend Capital | SUPPLY, BORROW | Blend SDK |
stellar-wallet | Native Stellar | WALLET | Horizon API |
aquarius | Aquarius AMM | LP | Soroban RPC |
soroswap | SoroSwap | LP | Soroban RPC |
phoenix | Phoenix | LP, STAKE | Soroban RPC |
fxdao | FxDAO | COLLATERAL, BORROW | Soroban RPC |
untangled-vault | Untangled Vaults | SUPPLY | Soroban RPC |
Price Feeds
OctoPos prices assets using a priority-based feed system.
Priority Chain
| Priority | Feed | Best For |
|---|---|---|
| 0 | Aquarius AMM | Tokens with active pools |
| 1 | Wrapped Asset | Wrapped/yield tokens |
| 2 | Blend Oracle | Blend pool assets |
| 3 | StellarExpert | Classic Stellar assets |
| 4 | DeFiLlama | Cross-chain tokens |
| 5 | Untangled Vault NAV | Vault share tokens |
Feed Details
Aquarius AMM (Priority 0)
- Uses swap quotes from liquidity pools
- Best accuracy for liquid tokens
Wrapped Asset (Priority 1)
- Calculates:
wrapped price = underlying price × exchange rate - Rate sources: on-chain contract or fixed config
Blend Oracle (Priority 2)
- On-chain oracle prices used by Blend
- Consistent with health factor calculations
StellarExpert (Priority 3)
- API for classic Stellar assets
- Handles
native:XLMandSYMBOL:ISSUERformats
DeFiLlama (Priority 4)
- Broad cross-chain coverage
- CoinGecko-backed pricing
Untangled Vault NAV (Priority 5)
- NAV per share from vault contracts
- Formula:
sharePrice = navPerShare × underlyingPrice
Pricing Service
The Unified Pricing Service:
- Cache check — Prices cached for 30 seconds (configurable)
- Priority fallback — Tries feeds in order until a price is found
- Cross-validation — Warns if feeds diverge by >5%
Example Usage
GET /api/v1/prices?tokens=native,CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75
Response:
{
"success": true,
"prices": {
"native": { "usd": 0.12, "updatedAt": "2026-04-13T12:00:00.000Z" },
"CCW67TSZV...": { "usd": 1.00, "updatedAt": "2026-04-13T12:00:00.000Z" }
}
}