Skip to main content

Supported Sources

Protocol Support Status

OctoPos continuously expands its protocol coverage. The table below reflects the current state of integration.

Position Tracking

ProtocolPosition TypesStatusNotes
Blend CapitalSUPPLY, BORROW✅ Fully Supported5 V2 pools configured
Aquarius AMMLP✅ Fully Supported20+ pools configured
SoroSwapLP✅ Fully SupportedAuto-detects pair addresses via factory
Phoenix DeFi HubLP, STAKE✅ Fully SupportedStaking + LP positions
FxDAOCOLLATERAL, BORROW✅ Fully SupportedVault CDP tracking
Native Stellar WalletWALLET✅ Fully SupportedG-addresses and C-addresses
Untangled VaultsSUPPLY✅ Fully SupportedERC-4626 NAV pricing

Pricing Coverage

Price FeedStatusCoverage
Blend On-Chain OracleAll Blend V2 pool assets
Aquarius AMM20+ major Stellar pools
DeFiLlama + CoinGecko20+ tokens (BTC, ETH, stablecoins, DeFi)
StellarExpertStellar Classic assets
Pool-Derived Pricing✅ Active / 🟡 ExpandingAquarius pools active; Soroswap pool readout in progress
Wrapped-Asset FeedFixed-rate + on-chain rate sources
Untangled Vault NAVUSDyc2 and future ERC-4626 vaults

🟡 Expanding — Pool-derived pricing currently covers Aquarius pools. Support for deriving prices from SoroSwap pair reserves is under active development.


External Data Sources

OctoPos integrates with the following external services and data providers:

Blockchain & Protocol APIs

SourceTypeUsage
Soroban RPCStellar nodeContract state reading, token metadata, LP reserves
Horizon APIStellarNative XLM balance, trustline balances, account info
Blend SDKProtocol SDKBlend Capital lending pool positions, bToken/dToken balances
Aquarius AMM APIProtocol APIPool info, LP pricing, claimable AQUA rewards
stellar.expertPrice APIToken prices for Stellar Classic assets

Price Aggregation

SourceTypeCoverage
Aquarius AMMDEX pricingStellar-native tokens with active liquidity pools
Blend On-Chain OracleProtocol oracleAssets in Blend lending pools
DeFiLlamaAggregatorBroad multi-chain coverage, CoinGecko-backed
CoinGeckoFallback via DeFiLlamaCross-chain assets (SolvBTC, PYUSD, EURC, etc.)

Supported Protocols

Blend Capital

DetailValue
TypeLending protocol
BlockchainStellar Soroban
Adapterblend
Position TypesSUPPLY, BORROW
Key DatabToken/dToken balances, reserve rates, health factor
Pool AddressesConfigured in tokens.yaml

Aquarius AMM

DetailValue
TypeLiquidity pool (AMM)
BlockchainStellar Soroban
Adapteraquarius
Position TypesLP
Key DataLP share balance, claimable AQUA rewards, underlying token decomposition
IntrospectionReads Aquarius pool reserves

SoroSwap

DetailValue
TypeLiquidity pool (AMM)
BlockchainStellar Soroban
Adaptersoroswap
Position TypesLP
Key DataFactory pair lookup, LP token balance, pair reserves
IntrospectionReads SoroSwap pair reserves

Phoenix DeFi Hub

DetailValue
TypeStaking + LP
BlockchainStellar Soroban
Adapterphoenix
Position TypesLP, STAKE
Key DataPool shares, staking info, pending rewards
Contract Methodsquery_pool_info(), query_share(), query_user_stake()

FxDAO

DetailValue
TypeCollateral Debt Position (CDP)
BlockchainStellar Soroban
Adapterfxdao
Position TypesCOLLATERAL, BORROW
Key DataVault collateral (XLM deposited), debt minted (xUSD), collateral ratio
Contract Methodsget_vault(user)

Native Stellar Wallet

DetailValue
TypeWallet / trustlines
BlockchainStellar (G-address + C-address)
Adapterstellar-wallet
Position TypesWALLET
Key DataXLM native balance, all trustlines, C-address (Soroban) token detection
Address TypesG-addresses (classic Stellar) and C-addresses (Soroban contracts)

Untangled Vaults

DetailValue
TypeERC-4626 tokenized vault
BlockchainStellar Soroban
Adapteruntangled-vault
Position TypesSUPPLY
Key DataVault share balance, NAV per share, underlying asset
StandardERC-4626 on Soroban
Pricing Feeduntangled-vault (priority 5)
Contract Methodsbalance(), navPerShare(), totalAssets(), totalSupply()

Supported Tokens

Tokens are configured in tokens.yaml. The system handles:

Stellar Classic Assets

  • Assets with SYMBOL:ISSUER format
  • Resolved via StellarExpert API
  • Examples: USDC issued by various anchors

Soroban Token Contracts (SAC)

  • C-addresses (Soroban contract addresses)
  • Token metadata resolved via name(), symbol(), decimals() calls
  • Examples: BLND, AQUA

Wrapped / Yield-Bearing Assets

  • Configured in tokens.yaml under wrappedAssets
  • Exchange rate: on-chain contract call or fixed config
  • Examples: yXLM (Yield XLM), sUSD

Cross-Chain Assets (via CoinGecko)

  • Mapped via coingeckoMappings in tokens.yaml
  • Priced via DeFiLlama → CoinGecko fallback
  • Examples: SolvBTC → solv-btc, PYUSD → paypal-usd, EURC → euro-coin

Configuration

All external sources are configured via tokens.yaml:

tokens:
BLND:
contract: CD25MNVTZDL4Y3XBCPCJXGXATV5WUHHOWMYFF4YBEGU5FCPGMYTVG5JY
name: Blend Token

wrappedAssets:
"yXLM:GARDNV3...":
symbol: yXLM
underlyingSymbol: XLM
underlyingAssetId: XLM
exchangeRateSource: fixed
fixedRate: 1.0

pools:
blend:
CAJJZ...: { name: Blend Fixed Pool }
aquarius:
"native:USDC": CDVQV...

protocols:
phoenix:
address: CAPH...
soroswap:
address: CASR...
fxdao:
address: CAXF...

# ─── Untangled Vaults (ERC-4626) ──────────────────────────
vaults:
CDDDLSQAR6EVIBFU6KMHA6WLIZJ5PDPXKJCEADD6YJ3HJ3S775XHVEE4:
name: USDyc2
symbol: USDyc2
underlyingSymbol: USDC
underlyingContract: CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75
decimals: 7

coingeckoMappings:
SolvBTC: solv-btc
PYUSD: paypal-usd
EURC: euro-coin
AQUA: aquarius
BLND: blend

defaults:
timeouts:
httpRequest: 15000
rpcCall: 15000
feedQuery: 10000
alertCooldown: 900000
cache:
symbolMaxSize: 500
priceMaxSize: 500
rateMaxSize: 200
priceTtlMs: 30000
thresholds:
maxPriceImpact: 0.05
crossValidationDivergence: 5
healthDebounceCount: 2

Tracker Schedules

The OctoPos background tracker runs on a scheduled loop:

TaskScheduleDescription
Position collectionEvery 60sCollect positions, price, save snapshots + state
Health monitoringAfter each tickSlack alerts on adapter status changes
Hourly aggregationTop of each hour (minute ≥ 1)Roll up raw snapshots → hourly OHLC
Daily aggregationMidnight UTC (minute ≥ 5)Roll up hourly → daily OHLC

SourceHealthMonitor

Monitors adapter health and sends Slack alerts on status changes:

  • Health statuses: healthydegradeddown
  • Debounce: Alert fires only after ≥2 consecutive failures
  • Cooldown: 15-minute cooldown between alerts to prevent alert storms

Protocol Roadmap

OctoPos is actively expanding its coverage across the Stellar DeFi ecosystem.

In Progress

  • Soroswap pool-derived pricing — Enabling precise LP token valuation by reading Soroswap pair reserves directly, complementing the existing DeFiLlama fallback.
  • Pool coverage expansion — Continuously adding newly launched pools across supported protocols.

Planned

  • Multi-source price aggregation — Cross-validate prices across Blend Oracle, Aquarius, and DeFiLlama to detect anomalies and improve reliability.
  • Additional protocol integrations — Expanding support as new Stellar DeFi protocols launch.

Event Types

OctoPos tracks the following position lifecycle events:

EventDescription
depositAsset deposited into a protocol
withdrawAsset withdrawn from a protocol
borrowDebt borrowed against collateral
repayDebt repaid
liquidationPosition liquidated
claimRewards or interest claimed
swapAsset swapped (DEX)
stakeToken staked
unstakeToken unstaked