It's easy to see "STON.fi," "Omniston," and "xStocks" mentioned in the same sentence and assume they're three interchangeable names for the same product. They're not — they're three distinct layers of a stack, each solving a different problem, and understanding where one ends and the next begins is the difference between building an integration that actually works and one that quietly breaks the moment a trade routes somewhere you didn't expect. STON.fi is the AMM and the app people actually open. Omniston is the aggregation and execution layer underneath it, connecting multiple liquidity sources — including ones STON.fi doesn't own — through a single interface. xStocks is a real-world-asset product that plugs into that stack without STON.fi ever touching the underlying liquidity itself. This piece maps out how those three pieces actually connect, with the specific technical seams a developer needs to know about.


The Three Layers, in One Sentence Each

  • STON.fi is the AMM protocol and app: liquidity pools, LP positions, farming, and the interface most users interact with directly.

  • Omniston is the aggregation and execution layer: it takes a swap request, shops it across STON.fi's own pools, other TON DEXs, and off-chain RFQ resolvers, and returns whichever route quotes best — through either standard on-chain settlement or resolver-driven escrow settlement.

  • xStocks is a real-world-asset product — tokenized equities and ETFs issued by Backed Finance — that's accessible through STON.fi's interface and Omniston's routing, but doesn't live in a STON.fi-owned liquidity pool at all.

That last point is the one most write-ups gloss over, and it's worth sitting with, because it's the clearest illustration of how these three pieces actually divide responsibility.


Layer One: STON.fi — the AMM and the Front Door

STON.fi is TON's largest native DEX by volume, running a classic AMM model (v1 and v2 contracts, audited by Trail of Bits, with ongoing bug bounty coverage through Certik and HackenProof) where liquidity providers deposit paired assets into pools and earn trading fees plus farming rewards. This is the layer most people mean when they say "I swapped on STON.fi" — the app, the pool pages, the farming dashboard, the LP deposit and withdrawal flows.

Critically, STON.fi's own pools are just one of the liquidity sources available once Omniston is in the picture — not the only one, and, for certain products like xStocks, not involved at all. STON.fi is where you go to provide liquidity and farm; it's not necessarily where your swap's liquidity actually comes from once you hit the swap button.


Layer Two: Omniston — the Routing and Execution Brain

Omniston is a liquidity aggregation protocol purpose-built for TON. Conceptually, it does the same job a DEX aggregator does on Ethereum — shop a trade across multiple sources and route to the best price — but its execution model has grown a second, distinct mode beyond standard on-chain swapping.

Standard aggregated swaps. A user (or an app, via the SDK) sends a swap request to Omniston. Omniston fans that request out as a Request-for-Quote (RFQ) to connected sources — STON.fi's own pools, other TON DEXs, and independent RFQ resolvers — collects competing quotes, and executes against whichever wins. This is the flow covered by useRfq() and useTonBuildSwap() in the Omniston SDK, using a swap-type settlement.

Escrow-based resolver swaps. Later in Omniston's development, a second execution class was introduced: resolver-driven, escrow-based settlement. Instead of routing through an on-chain pool, a professional market maker ("resolver") commits to a specific price, and the trade settles through a hashed-timelock-contract (HTLC) escrow — the trade either completes exactly at the quoted price or the funds return automatically to their original owner. This is the order-type settlement path in the SDK, and it's what lets Omniston access private OTC-style liquidity that no public AMM pool holds at all. It's also the mechanism behind Omniston's native cross-chain swaps: no wrapped tokens, no bridge custody — an HTLC guarantees both sides of a cross-chain trade complete together or not at all.

// Requesting a quote — Omniston decides which settlement type fits import { useRfq, type QuoteRequest, type SettlementParams } from "@ston-fi/omniston-sdk-react"; const settlementParams: SettlementParams[] = [ { // Standard on-chain AMM routing params: { $case: "swap", value: { maxPriceSlippagePips: 10_000 } }, }, { // Resolver-driven escrow settlement (HTLC-backed) params: { $case: "order", value: { flexibleIntegratorFee: true } }, }, ]; const quoteRequest: QuoteRequest = { inputAsset: usdtAssetId, outputAsset: targetAssetId, amount: { $case: "inputUnits", value: amountInBaseUnits }, settlementParams, // Omniston picks whichever route quotes best across both types };

Passing both settlement types in the same request is the important detail here: it doesn't commit you to one execution model up front — it tells Omniston "quote me the best of either," and the response tells you which one actually won. For a plain jetton-to-jetton swap on deep, liquid pairs, swap settlement usually wins. For thinner pairs or asset classes with no public pool at all — which is exactly xStocks' situation — order/escrow settlement is often the only route that returns a quote at all.


Layer Three: xStocks — Real-World Assets Riding on Top

xStocks are tokenized U.S. equities and ETFs — AAPLx, TSLAx, NVDAx, GOOGLx, AMZNx, and others — issued by Backed Finance, a regulated third-party entity that holds the underlying real shares and mints a 1:1-backed jetton representing them on TON. Because they follow the standard TON jetton format, any wallet or app that already understands jettons recognizes xStocks automatically, with no custom integration work required just to hold one.

Here's the detail that makes this a genuinely interesting case study rather than "STON.fi added some new tokens": STON.fi's own documentation is explicit that STON.fi does not list xStocks trading pairs and does not operate liquidity pools for xStocks. There is no AAPLx/USDT pool sitting in STON.fi's AMM contracts the way there is for, say, TON/USDT. Users can open the STON.fi app, select an xStock, and swap into it — but that swap is served through Omniston's escrow/resolver settlement path, sourcing price from RFQ resolvers who quote against the real, off-chain equity price, not from an on-chain STON.fi pool at all.

That's the whole architecture in miniature: STON.fi provides the interface a user recognizes, Omniston provides the execution and quote-sourcing plumbing, and xStocks exists as an asset class that only works because Omniston's escrow layer exists — a plain AMM pool model has no good way to price something like a stock that needs to track a live off-chain market and settle atomically against a regulated issuer's commitments.


Tracing One Swap Through All Three Layers

Walking through a concrete example makes the division of labor clearer than describing it abstractly. Say a user opens the STON.fi app and swaps USDT for TSLAx.

  1. STON.fi (interface layer): The user picks USDT and TSLAx in the STON.fi app's swap screen — same UI pattern as any other swap.

  2. Omniston (routing layer): The app sends the swap request to Omniston. Omniston checks its connected sources for a route. Because there's no STON.fi pool or standard DEX pool for TSLAx, standard swap settlement returns no usable quote — so Omniston falls back to querying RFQ resolvers under order/escrow settlement instead.

  3. Resolver quote (execution layer): A resolver — a market maker with access to Backed Finance's issuance/redemption flow and real Tesla-share pricing — returns a firm quote: this much USDT for this much TSLAx, valid for a short window.

  4. HTLC escrow settlement: The user accepts. Funds lock into an HTLC-based escrow. Either the resolver delivers TSLAx at the committed price and the USDT releases to them, or the whole thing reverts and the user's USDT returns automatically — no partial fills, no counterparty risk beyond the smart contract itself.

  5. Wallet delivery: TSLAx lands in the user's wallet as a standard jetton, immediately transferable, usable as collateral elsewhere in TON DeFi, and tradable 24/7 — independent of NYSE trading hours, since it's a resolver-priced synthetic exposure rather than a direct order routed to a traditional exchange.

At no point in that flow does STON.fi's own AMM liquidity get touched — which is exactly why STON.fi's docs are careful to say they don't operate xStocks pools, even though the STON.fi app is where most users will actually encounter and swap xStocks.


Why This Layered Design Actually Matters for Builders

Composability without re-implementation. Because Omniston sits underneath STON.fi rather than being bolted onto it, any third-party app — a wallet, a trading dashboard, a Telegram bot — can integrate the Omniston SDK directly and get access to the same aggregated liquidity, including escrow-settled products like xStocks, without building their own routing logic or negotiating separate resolver relationships.

New asset classes don't require new AMM math. A traditional AMM pool assumes both sides of a pair are freely tradable on-chain assets with organic price discovery through the pool itself. xStocks breaks that assumption — its "correct" price lives off-chain, tied to a real, regulated, KYC'd issuer. Trying to force that into a constant-product pool would either require enormous, unrealistic liquidity or produce constant, exploitable mispricing. Routing it through resolver-quoted escrow settlement sidesteps the problem entirely: the resolver, not a bonding curve, is responsible for pricing accuracy.

Cross-chain and RWA products share the same underlying mechanism. It's not a coincidence that Omniston's HTLC/escrow settlement powers both cross-chain swaps and xStocks — both cases involve one side of a trade that a standard on-chain AMM pool structurally can't represent well: a different chain's native asset in one case, an off-chain regulated security in the other. The same trust-minimized settlement primitive solves both problems.


Honest Limitations Worth Knowing

Resolver dependency is a real, if different, kind of counterparty exposure. HTLC settlement removes bridge-style custodial risk, but a resolver quote is still only as good as that resolver's willingness and ability to fill it — thin resolver participation on an illiquid pair can mean wide effective spreads or outright noQuote responses, the same way thin AMM liquidity produces bad slippage elsewhere.

xStocks carry issuer and regulatory risk that's separate from TON or STON.fi entirely. Because xStocks are backed and issued by Backed Finance under its own prospectus-style documentation, their risk profile includes issuer solvency, custodial arrangements for the underlying shares, and regulatory eligibility restrictions — xStocks are explicitly unavailable to users in the US, EU/EEA, UK, Canada, Australia, and Belgium, which is a meaningfully different constraint than anything native to TON's own token standards.

The escrow/order settlement path is newer and less battle-tested than plain AMM swapping. Standard swap settlement through STON.fi's audited AMM contracts has years of production history behind it; escrow-based resolver settlement is a comparatively recent addition to Omniston's execution model, and integrators should treat it with the same "verify before relying on it heavily" caution they'd apply to any newer piece of financial infrastructure.


Wrapping Up

STON.fi, Omniston, and xStocks aren't three brands for one product — they're a genuine three-layer stack, and the seams between them are exactly where the interesting engineering lives. STON.fi gives users a front door and gives liquidity providers a place to actually earn yield. Omniston is the part doing the real work underneath every swap button, quietly deciding whether a trade should route through an on-chain pool or a resolver-quoted escrow. And xStocks is proof that the escrow layer isn't just a cross-chain trick — it's a general-purpose way to bring assets onto TON that no AMM pool could reasonably price on its own. For a developer building on top of this stack, the practical takeaway is simple: integrate against Omniston if you want access to everything — pools, other DEXs, and resolver-priced assets like xStocks — in one consistent API, rather than assuming STON.fi's own pools are the whole liquidity picture.


This article is based on STON.fi, Omniston, and xStocks documentation and public announcements as of mid-2026. Product architecture, supported settlement types, and asset availability by jurisdiction can change — verify current specifics against docs.ston.fi and ston.fi/xstocks before relying on them for a production integration or an investment decision. xStocks are not available to residents of certain jurisdictions and carry issuer, custodial, and regulatory risk separate from TON-native assets.

$GRAM

GRAM
GRAMUSDT
1.333
-0.74%