Skip to content

Menu

Methodology

How KohenApp reads the market

Where every figure comes from, how it is computed, where the method stops, and which integrations are live in this deployment. The facts on this page were last re-verified against their sources on 2026-09-30.

Sources

Every figure in KohenApp is read from one of the sources below and is labelled with that source and the time it was read. Nothing is computed from a source that is not listed here.

Robinhood Chain JSON-RPC

Chain reads — bytecode, ERC-20 metadata, balances, pool state, quoter calls — go to the official endpoint rpc.mainnet.chain.robinhood.com, with publicnode and dRPC as fallbacks. The browser never talks to an RPC directly: reads are relayed through /api/rpc, which accepts an allow-list of read-only methods and no signing methods. The upstream is fixed by server configuration; a user can never supply an RPC URL.

GeckoTerminal public API

Pool discovery uses GeckoTerminal’s key-free public API for the network robinhood (about 30 requests per minute): pool lists, pools per token, pool search, 24-hour volume and 24-hour buy and sell counts. The 24-hour volume is the indexer’s sum of trades. reserve_in_usd is the total liquidity of a pool, not the depth a trade can actually use.

DefiLlama coins API

USD reference prices come from DefiLlama’s coins API by chain slug robinhood and contract address, together with the provider’s confidence figure. They are shown for orientation only; no swap is ever priced from them.

Chainlink AggregatorV3 feeds

ETH/USD at 0x78F355…E8d3A9 and USDG/USD at 0x61B7e5…1B9aD2, read on-chain, plus the per-Stock-Token feeds listed in Chainlink’s published directory for Robinhood Chain. The feeds carry a 24-hour heartbeat; a reading older than 1.5 × the heartbeat is flagged stale and is not used for valuation.

Sourcify v2

Source verification and proxy resolution are looked up on Sourcify. A 404 means the contract is not verified there — which is not evidence of anything, in either direction.

Robinhood Stock Token registry

Tokenized equities are identified through the official registry at api.robinhood.com/rhj/assets, matched by contract address only. Copycat tokens reuse names and tickers; they cannot reuse an address.

Blockscout

robinhoodchain.blockscout.com provides explorer links. Its JSON API challenges servers, so verification records, holders and wallet history are read from the visitor’s browser only, and are labelled as such wherever they appear.

Uniswap deployment registry

Uniswap venue addresses come from developers.uniswap.org/deployments.json, chainId 4663 — never from a search result or a token list.

KyberSwap aggregator API

Aggregated routes come from KyberSwap’s API for chain slug robinhood and settle through the MetaAggregationRouterV2 at 0x6131B5…6337b5, a Sourcify exact match.

Methods

How figures are formed, compared and carried through to a signature. The same rules apply on every page.

Identity and amounts

  • An asset is its chain id plus its lowercase contract address. ERC-20 decimals are always re-read on-chain, never trusted from a list.
  • Amounts are integers in base units (bigint). There is no floating-point token arithmetic anywhere in the pipeline.

Quote terms

  • Minimum received = floor(expectedOutput × (10000 − slippageBps) / 10000).
  • Expected output is gross of the venue fees that are already inside the price. Fees reported “in expected output” are never subtracted a second time.
  • Price impact compares the quoted output with the pool’s mid price with the LP fee stripped out, and is shown only when a mid price could be read.
  • Gas is a quoter meter, a provider estimate or a typical figure — each labelled as what it is — and is valued in USD through Chainlink ETH/USD only when that reading is fresh.
  • A quote expires 30 seconds after it was read and is refreshed before signing.

Comparison and ranking

  • “Best among checked routes” is shown only when at least two valid, comparable quotes exist: same chain, same pair, same amount, none expired. Otherwise the label is “Single available source” or “No supported route”.
  • Ranking is net of gas only when every valid quote carries gas in USD and the output token has a verified USD price. Otherwise routes rank by gross output and gas is shown separately.

Market figures

  • 24-hour volume is the indexer’s sum of trades, never derived from a reserve snapshot.
  • Total pool liquidity is not executable depth; the two are never substituted for each other.

Execution flow

  1. Connect a wallet.
  2. Validate the chain, using the wallet’s own chain id.
  3. Enter an amount.
  4. Quote.
  5. Review.
  6. Approve the exact amount for the named spender. An unlimited allowance is granted only by explicit setting.
  7. Re-quote and check the terms: an output more than 0.5 % worse, a lower minimum, or a different target, spender, route or value sends the trade back to review.
  8. Simulate: an eth_call from the wallet’s address, with the output decoded where the router returns it.
  9. Sign in the wallet.
  10. Track the receipt. A trade is confirmed only on a successful receipt; reverted, replaced, dropped and unknown outcomes are each handled and shown as such.

Before every signature, the browser re-checks the transaction target and the spender against its own registry of allowed contracts. The wallet signs and broadcasts; KohenApp never holds keys.

Activity

The activity list contains only transactions submitted through KohenApp, tracked by hash and chain id. When the browser-side explorer read adds the wallet’s wider history, that part is labelled as read from the explorer.

Limitations

Where the method stops. None of these is hidden behind a placeholder figure.

  • Indexer coverage and rate limits: pools the indexer does not cover do not appear in discovery, and a rate limit is shown as “unavailable”, never as an empty market.
  • No historical windows beyond 5 m, 1 h, 6 h and 24 h.
  • Stock Token feeds run 24/5, so weekend readings are hours old and are flagged accordingly.
  • The public RPC drops large batches; what could not be read is shown as unavailable, not filled in.
  • Blockscout blocks server-side callers; its records are available from the browser only.
  • There is no L2 sequencer-uptime feed on this chain.
  • The testnet (chain 46630) has no venues, no feeds and no indexer: inspection only.
  • The local fork is a development environment only. It never proves production support.
  • A passing inspection is not a safety rating.
  • KohenApp charges no fee and has no custody; it never holds keys or funds.

Integration status

Read live from /api/status: the static registry of what KohenApp relies on, plus a cached probe of the providers that can be probed cheaply. A provider whose probe fails is marked degraded, not removed.

Environments

One code base, three environments. The banner at the top of the page tells you which one you are looking at whenever it is not mainnet.

chain 4663This deployment

Robinhood Chain

Full workspace

Discovery, inspection, comparison and wallet-signed execution. Uniswap and KyberSwap venues, Chainlink feeds, the Stock Token registry and the GeckoTerminal index all cover this chain.

chain 46630

Robinhood Chain Testnet

Inspection only

Uniswap publishes no deployment record, KyberSwap does not cover it and Chainlink publishes no feed directory, so there is nothing to quote or execute. Contract inspection works.

chain 4663

Local Anvil fork

Development only

A fork of mainnet on the developer’s machine (NEXT_PUBLIC_NETWORK=local): real contracts, local state, no real funds, no explorer. It is labelled with a banner and never proves production behaviour.