
Most token prices are technically correct and can be practically useless. The industry standard is observational pricing: providers record the price of the last swap in a pool and serve it as the current price regardless of whether the swap has happened two seconds ago or two weeks ago. The pool may have been drained completely since then or the token may have moved 40%. None of that is reflected until the next swap lands and gets indexed. What you get is a historical record, not current state.
Centralized aggregators add another layer: off-chain dependencies, polling cycles, latency between on-chain reality and the number returned to you. A single-pool quote reads one pool's reserve ratio, which tells you what price would clear at zero trade size, ignoring slippage entirely. For highly liquid tokens on popular pairs, these gaps are small enough to ignore. For everything else like long-tail tokens, low-volume pools, or tokens on newer chains the gap is the difference between useful information and a liability.
Sim is built around a different premise: We track every event that changes pool state. This enables us to return a price that reflects the pool as it exists right now, not as it existed when someone last swapped.
Everything starts onchain
Sim doesn't aggregate from centralized sources and doesn't cache prices. Every price derives from current DEX pool states, indexed directly from the blockchain. When a swap happens, or when liquidity is added or removed, Sim ingests the event immediately. Pool state stays current between trades so we don’t serve stale prices.
For a token that trades continuously on a liquid pair, the difference is marginal. For a long-tail token that sees one trade a day, the difference is whether the price you return is accurate or meaningless. Sim uses current pool state throughout the gap between trades. If liquidity was withdrawn after the last swap, we reflect it.
Of course, token prices don't exist in isolation. A token is priced in relation to another token, and that token is priced in relation to yet another token again. Sim models this as a graph with every indexed pool as an edge, every token as a node. The graph connects the entire DEX liquidity landscape from the most actively traded pairs to long-tail tokens with a single shallow pool. To price a token, Sim finds a path through this graph to a stablecoin. A two-hop path might go from token A → ETH → USDC. A three-hop path might even go through a bridging token specific to one DEX. The graph handles all of it, automatically, without manual routing rules. The graph is the core of our pricing mechanism. If on-chain liquidity connects a token to a stablecoin, we can price it.
Optimize for price impact, not price
A simple version of token pricing reads the reserve ratio from the best-connected pool: reserves of token B divided by reserves of token A. That gives you a theoretical mid-price. It's also a price no real user can trade at because it ignores slippage entirely. Price impact is what happens to your execution price as trade size increases. Instead of only accounting for liquidity when pricing a token, Sim uses price impact as the optimization criterion. When finding the path from a token to a stablecoin, the routing algorithm selects the path with the lowest total price impact, not just the most direct one. A two-hop path through deep, liquid pools can be more accurate than a direct pool with thin liquidity.
At query time, Sim calculates what a trade across the route with the least price impact would result in, anchored to the stablecoin at the end of the chain. Sim excludes pools with excessive price impact from routing entirely. If a pool's slippage profile signals that the quoted price is unreachable for any meaningful trade size, it doesn't contribute to pricing. As a result, the price reflects what a real trade executes at; it is an actionable price.
Every token price ultimately traces back to a stablecoin. How that stablecoin is priced matters more than most systems acknowledge. The naive approach anchors to one stablecoin, usually USDC. If USDC depegs or experiences a temporary dislocation, every price in the system shifts. A single anchor is a single point of failure. Sim derives stablecoin prices from the mutual exchange rates between stablecoins. For each pair (like USDC/USDT, USDT/DAI, or DAI/USDC) Sim looks at all pools connecting them and takes the median exchange rate. This mechanism ensures that no single pool dominates and no single stablecoin becomes the sole source of truth. Instead, the stablecoin collective defines what $1 means. Individual depegs or outlier pools get absorbed by the median making the reference price more robust than any single anchor could be.
Coverage across chains and protocols
Pricing quality is only as good as what you cover.
Sim indexes across 65+ chains, including native support for cross-chain bridge pricing: bridge tokens are priced within the same graph as every other token, so cross-chain assets get accurate prices automatically rather than requiring separate integration or manual configuration.
Example path for pricing SUSHI: cbETH (Base) crosses to cbETH (Ethereum), then routes through wETH to USDC. The green line crossing over from Base to Ethereum is the bridge hop between chains. Dashed lines show the alternative paths that exist but are not chosen.
On-chain, Sim covers all major DEX types, Uniswap V2/V3, Curve, Balancer, and their forks. Because long-tail protocols typically fork established DEX code, they're supported automatically. Tokens that launch on a new fork on day one get priced on day one, without waiting for a manual integration.
Sim includes Curve, which matters specifically for stablecoins and liquid staking tokens: it holds a disproportionate share of that liquidity, and pricing stablecoins without it means working with incomplete data.
Response times are fast (<500ms P95 response time) which matters when price display is in the critical path of user interactions.
Prices you can act on
Token pricing is infrastructure. If you're building wallets, DeFi applications, or analytics tools, the price you show dominates what your users experience when they trade. A price that's stale, slippage-unaware, or anchored to a single fragile stablecoin reference is a liability. It creates discrepancies that surface at the worst moment: execution.
Sim is built to eliminate that gap. Real-time pool state, 65+ chains, bridge support, price-impact-optimized routing, and a distributed stablecoin anchor combine into a pricing mechanism that reflects on-chain reality as closely as possible: always current, never cached. The price shown is the price you can trade at.
Sim is Dune's real-time wallet and token API. Try out balances →


