
By Orion (Defi Positions API)
Orion is a self-contained, ledger-pinned, multi-protocol DeFi positions API with published correctness guarantees.
StellarExpert is the dominant Stellar block explorer with a public API, it sees all on-chain activity but has no protocol enrichment. It cannot compute a health factor or decompose an LP position. LOBSTR integrates Blend and Aquarius for its 5M users but has no public API and no health factor display. Smoothie provides rich Blend analytics, yield decomposition, P&L, cost basis with a browser-dependent backend service supporting only Blend.
The structural gap: None of them can tell you an arbitrary address's health factor across all Stellar DeFi protocols via a single server-side call.
A REST API with full OpenAPI spec. One call returns complete DeFi position state for any Stellar address across all supported protocols: USD-denominated collateral, liabilities, health factor, borrow limit, LP token decomposition, CDP vault collateral ratio, backstop position, yield estimates. Every response includes data_staleness_seconds, last_indexed_ledger, and attribution_confidence so consumers can assess data quality programmatically.
Multi-protocol DeFi position normalization across Blend, Aquarius, Soroswap, and FxDAO. Ledger-pinned state reads via getLedgerEntries, direct ScVal decoding, wasmHash-based version detection, SEP-41 token resolution, and per-pool oracle integration. Protocol-specific semantics — l_factor inversion, bToken/dToken conversion, LP share decomposition, CDP linked list enumeration — handled inside each adapter without leaking into the core system.
GET /v1/users/:address/positions — health factor, borrow limit, LP decomposition, CDP collateral ratio, yield estimates, full protocol breakdown. Every response includes data_staleness_seconds, last_indexed_ledger, and attribution_confidence.
GET /v1/users/:address/activities — normalized event taxonomy (deposit, withdraw, borrow, repay, liquidation, claim_rewards) across event-driven protocols. FxDAO explicitly excluded and documented.
GET /v1/health — ingestion lag, adapter status, cache state, oracle staleness.
Auto-generated SDKs (TypeScript, Go, Python) versioned from the OpenAPI spec. CLI via npx oriondefi positions <address>. Claude and MCP-compatible agent skills exposing the full API surface to AI toolchains. Self-service developer portal with API key issuance, usage visibility, and OpenAPI explorer.
4. Correctness Artifacts & Observability
Published snapshot fixture suite, versioned JSON across all supported adapters, pinned to closed ledgers, independently verifiable against the public endpoint. Live smoke tests on every deploy: 3–5 controlled addresses per protocol, one per position archetype. Open-source contract registry auto-populated from events, with metrics and dashboards covering ingestion lag, per-adapter health, API latency percentiles, and cache hit ratio.
Ingestion (Deliberately Phased)
The ingestion source is phased by practicality. Tranche-1 and Tranche-2 use a dedicated Goldsky Mirror, a managed Stellar indexing service that provides full event history without Captive Core infrastructure. The adapter interface is data-source agnostic: the same LedgerCloseMeta structs arrive regardless of source. T-3 migrates to Captive Core (hot path, real-time ledger stream) plus Galexie CDP data lake (cold path, historical backfill and recovery). The adapters are unchanged by this migration, which provides a clean swap at the LedgerBackend layer in preparation for Mainnet.
+---------------------+------------------------------------------+----------------------------------------------------------------------------------------------+
| Phase | Ingestion Source | Rationale |
+---------------------+------------------------------------------+----------------------------------------------------------------------------------------------+
| Testnet MVP | Goldsky Mirror + Soroban RPC | Managed indexing operational in hours; Captive Core requires multi-week setup; adapter |
| | | interface is data-source agnostic for a clean swap later. |
+---------------------+------------------------------------------+----------------------------------------------------------------------------------------------+
| Testnet Expansion | Goldsky Mirror + Soroban RPC | Multi-protocol expansion validates adapter correctness, not infrastructure; same source as |
| | | T1. |
+---------------------+------------------------------------------+----------------------------------------------------------------------------------------------+
| T3 Mainnet | Captive Core (hot) + Galexie CDP (cold) | Full SDF-native stack; eliminates third-party indexing dependency; adapters unchanged, only |
| | | the LedgerBackend implementation swaps. |
+---------------------+------------------------------------------+----------------------------------------------------------------------------------------------+
For on-demand state reads reserve balances, oracle prices, user positions at a specific ledger. Orion uses stellarcore.Client's GetLedgerEntries(ctx, ledgerSeq, keys...). This pin reads to the exact ledger sequence just ingested, eliminating race conditions where events at ledger N are matched with state at ledger N+2. getLedgerEntries is unaffected by the Protocol 22 SDK incompatibility that breaks simulateTransaction.
Storage
PostgreSQL: normalized positions, activities, protocol metadata
TimescaleDB: time-series position snapshots enabling historical queries and snapshot-at-ledger
ElastiCache: 30s TTL hot cache with event-driven invalidation per address
API Layer
Public tier: 60 req/min per IP, no auth required, suitable for developers and hackathons
Authenticated tier: 600 req/min per key, configurable for high-volume integration partners
Response Metadata: data_staleness_seconds, last_indexed_ledger, partial_result, attribution_confidence, oracle_staleness_seconds (storage-polled protocols)
bToken/dToken share-to-asset conversion
Health factor
Borrow limit, borrow cap, net APY, supply APY, borrow APY breakdown
Full backstop decomposition: BLND/USDC exposure, Q4W countdown, emissions
V1/V2 versioning via wasmHash registry with support for different SCALAR constants handled per-pool
Pool discovery via router events and Pool Plane contract.
LP holder identification: LP token (TokenShare) mint/burn events.
LP decomposition: ~8 positions across 4 pools
Token metadata support via SEP-41 compatible contracts
Parity reference: on-chain pool state (TotalShares, ReserveA/B from instance storage)
~174 pairs from FactoryContract. Top pools: XLM/CDTKPWPL (~1.34M XLM), XLM/USDC (356K XLM), USDC/CDTKPWPL (282K USDC).
Pair enumeration via factory all_pairs(i).
Constant product LP math computation.
Adapter-level raw RPC fallback for Protocol 22 simulateTransaction incompatibility
Parity reference: on-chain pair reserves and TotalSupply from instance storage
CDP vault protocol: deposit XLM collateral, mint USDx stablecoin (EURx, GBPx defined but inactive)
Enumerate & support all active USD vaults.
Health factor & Oracle integration (more information & discovery needed)
Indexing: storage polling adapter with ~60 seconds linked list poll on Vaults.
In order to de-risk adapter design, every protocol adapter will be built through engagement with protocol teams early in the tranche to ensure alignment on enumeration strategies, indexing boundaries, oracle integration, event schema etc before we commit to an approach.
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Dimension | StellarExpert | Orion | LOBSTR | Smoothie |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Type | Block explorer + Open API | DeFi infrastructure API | Consumer wallet | Blend analytics |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Protocols | All (no enrichment) | Protocol agnostic + Blend + Aquarius + | Stellar + Aquarius earn + | Blend only |
| | | Soroswap + FxDAO | Blend earn | |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Public API | Yes (rate-limited, no SLA) | Yes (OpenAPI, SLA, versioned) | No public API | No public API |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Open source | Yes (explorer) | Yes | Yes | Yes |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| LP decomposition | No | Yes | No | No |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Health factors | No | Yes | No | No |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| CDP vaults | No | Yes | No | No |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Ledger-pinned reads | No | Yes | N/A | No |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
| Hybrid indexing (event + | No | Yes | No | No |
| storage polling) | | | | |
+------------------------------+-------------------------------+-----------------------------------------------+------------------------------+----------------------+
StellarExpert is raw infrastructure. It sees everything on-chain but understands nothing at the protocol level. It is complementary to Orion: StellarExpert is the raw ledger layer, Orion is the semantic enrichment layer above it. Smoothie is deeply capable within its scope. It produces yield decomposition, P&L, cost basis, and annualized ROI computed on top of Blend State. But its architecture makes it inaccessible as infrastructure: the browser must first read the current position state from a connected wallet and pass it as query parameters to Smoothie's server with computation via RPC.
Orion reconstructs state across protocols and exposes it as infrastructure. Smoothie could plug into Orion as a data source. Orion cannot be replaced by Smoothie.
$122.2K
We validated the architecture on mainnet against live contracts before writing this proposal. Blend V2 health factors compute in sub-millisecond time. We enumerated all 10 active FxDAO vaults. Discovered a Protocol 22 SDK incompatibility on Soroswap and isolated the raw JSON-RPC workaround inside the adapter layer.
Prior Soroban-based projects:
Stellar Wrapped (public deployment)
Attestation Service (on-chain reputation service)
We have deep integration experience with Soroban smart contracts, token standards, on-chain indexing patterns and building on Stellar.
MVP
20% of total budget
+------------------------------+----------------------------------------------------------------------------------------------+
| Criterion | Measurement |
+------------------------------+----------------------------------------------------------------------------------------------+
| Blend health factor parity | Matches blend-sdk-js PositionsEstimate.build() within ±0.001 at pinned ledger sequence |
+------------------------------+----------------------------------------------------------------------------------------------+
| Deterministic replay | GetPositions at fixed ledger produces identical output; snapshot fixtures published as JSON |
+------------------------------+----------------------------------------------------------------------------------------------+
| wasmHash upgrade detection | Unknown contract wasm hash version halts adapter and flags version\_unknown |
+------------------------------+----------------------------------------------------------------------------------------------+
| Oracle parallel optimization | Oracle contribution < 200ms (from 1.7s avg baseline via parallel fetch + price cache) |
+------------------------------+----------------------------------------------------------------------------------------------+
| Contract registry published | Open-source JSON registry of tracked contracts in public GitHub repository |
+------------------------------+----------------------------------------------------------------------------------------------+
| Public testnet endpoint | Live endpoint; sample address fixture independently verifiable against it |
+------------------------------+----------------------------------------------------------------------------------------------+
| Index freshness SLO | Index lag < 10s behind network tip; last_indexed_ledger exposed in API metadata |
+------------------------------+----------------------------------------------------------------------------------------------+
2 senior backend engineers 4 weeks × 40 hrs/week × 2 engineers = 320 hours Blended rate ≈ $76.39/hour = $24,444.20
Testnet
30% of total budget
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| Criterion | Measurement |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| Aquarius LP positions | LP token mint/burn event tracking operational |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| Soroswap LP positions | Factory enumeration of ~174 pairs; LP balance reads via raw JSON-RPC workaround; positions verified |
| | against on-chain reserves |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| FxDAO vault positions | Enumerate all active vaults; health factor derivable with oracle resolution; activity feed documented |
| | as unsupported |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| Unified /positions endpoint | Multi-protocol aggregation verifiable via published sample address sets per adapter |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| Hybrid indexing modes | Event-driven (Blend/Aquarius/Soroswap) and storage-polled (FxDAO) operational and documented |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| Cross-protocol fixture suite | Snapshot fixtures for all 4 adapters; same response schema, same metadata fields, same failure semantics |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| Activities endpoint | Normalized event taxonomy across event-driven adapters; FxDAO exempted |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
2 senior backend engineers at 4 weeks × 40 hrs/week × 2 = 320 hrs, 1 frontend engineer at 4 weeks × 30 hrs/week = 120 hrs, infrastructure configuration at 25 hrs, and protocol team coordination and discovery sessions at 2 hrs, totalling 467 hrs at $75/hr = $35,025.00. Third-party services and infrastructure: Indexer Mirror pipeline = $180, cloud hosting for testnet API endpoint (compute, PostgreSQL, Redis) = $320, monitoring stack = $491.30, load testing tooling = $250, CI/CD minutes and artifact storage = $150, log storage and retention (ingestion and API) = $150, secrets management = $50, CDN and edge caching (docs/OpenAPI/assets) = $50, totalling $1,641.30. Labor + services = $36,666.30.
This tranche transitions from single-protocol correctness to full aggregation and developer usability. Adapter abstraction and API key infrastructure introduce new operational complexity. Protocol team coordination covers discovery sessions with Aquarius, Soroswap, and FxDAO teams aligning on enumeration strategies, oracle integration, and undocumented storage layout decisions before committing adapter implementations.
Mainnet
T3 Acceptance Criteria $48,888.40, Week 10
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Criterion | Measurement |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Warm cache p95 | < 400ms p95 under load test |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Cold query | < 1.0s with Captive Core + stellarcore.Client (vs 2.5–3.6s unoptimized RPC baseline) |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Load test success rate | ≥ 99% across concurrent queries |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Load test report published | Public load test report documenting concurrency profile, latency distribution, and ≥99% success rate |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Ingestion source migration | Captive Core + Galexie CDP replace Goldsky Mirror; adapters unchanged, only LedgerBackend swaps |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Ingestion lag observable | data_staleness_seconds and last_indexed_ledger in every response; health endpoint live |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| CLI publication | CLI published to npm (`npx orion`), supports live mainnet queries and ledger-pinned reproducible reads |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| API key system readiness | Production-grade API key issuance, rate limiting, and quota enforcement operational |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
| Public GitHub | Engine, all 4 adapters, contract registry, fixture suite published under open-source license |
+------------------------------+--------------------------------------------------------------------------------------------------------------+
Allocation
2 senior backend engineers at 2 weeks × 40 hrs/week × 2 = 160 hrs, 1 frontend engineer at 2 weeks × 30 hrs/week = 60 hrs, 1 DevRel at 2 weeks × 30 hrs/week = 60 hrs, 1 DevOps engineer at 2 weeks × 40 hrs/week = 80 hrs, 1 QA engineer at 2 weeks × 30 hrs/week = 60 hrs, and infrastructure hardening at 40 hrs, totalling 460 hrs at a blended rate of $75/hr = $34,500.
Remaining allocation supports: Production infra scaling Load testing infrastructure RPC scaling and monitoring stack and observability tooling, performance optimization. The final milestone focuses on operational reliability, SLA compliance, documentation completeness, and ecosystem readiness.
We are a focused backend and blockchain engineering team with experience building production-grade systems on Stellar and Soroban. Our expertise spans smart contract interaction, semantic normalization, indexing systems, and API architecture.
Team members:
Cyndie Kamau — https://github.com/CyndieKamau — Developer Tooling (Rust, Go, Typescript) and DevRel
Raymond — https://github.com/raybaann — Distributed systems and protocol data modeling.
Drew — https://github.com/koolamusic — Data infrastructure (AI/ML) and semantic data pipeline experience.

No other submissions.