MetaMask setup, how liquidity pools actually work, and a full walkthrough of creating your first position — start to finish.
Reserves Finance — Issuer Console Software Services · Version 1.1 · Last updated August 13, 2026
These Terms of Service ("Terms") are entered into between Reserves Finance, a company incorporated in England and Wales with company number [company number] ("Platform", "we", "us"), and the entity identified as the customer at sign-up ("Issuer", "you"), a limited company (or equivalent) intending to use the Platform's software to structure and manage a securities offering.
The Issuer accepts these Terms in full by checking the acceptance box presented at sign-in and completing wallet sign-in as described in the Services' interface. A dated, versioned record of that acceptance is retained by the Platform.
The Platform provides software tools only: a token-deployment interface, a KYC-provider connection and whitelist-management console, and related on-chain compliance tooling (together, the "Services"). The Platform does not provide, and nothing in these Terms should be read as providing:
The Issuer acknowledges that the Platform is a technology vendor and is not, and does not act as, a broker-dealer, placement agent, exchange, transfer agent, or investment adviser in connection with the Issuer's offering.
The Issuer is, and remains at all times, the "Arranger of Record" and sole legally responsible party for its own offering, including: the legal characterization and compliant offering of any token it issues; identifying and complying with an applicable registration exemption; all investor-facing solicitation and disclosure materials; configuring and operating adequate KYC/AML checks; the accuracy of all information it inputs into the Services; and obtaining its own legal, tax, and regulatory advice before running a live offering.
The Issuer shall pay the Platform a one-time Launch Fee of $3,000 (three thousand US dollars), payable in USDC to the wallet address displayed within the Issuer Console at the time of payment, before certain Services (including token minting) are unlocked.
The Launch Fee is a flat, fixed fee for software access. It is not calculated as a percentage of, and is not contingent upon, the amount of capital raised, the number of investors onboarded, or the success of the Issuer's offering in any respect. All fees are exclusive of applicable taxes and are non-refundable except as required by law.
All smart contracts deployed via the Services are deployed from, and administered by, the Issuer's own wallet. The Platform does not hold, and cannot access, any private key capable of deploying, minting, pausing, or otherwise administering the Issuer's token contract, nor any key capable of moving investor funds. The Issuer is solely responsible for the security of its own wallet and private keys.
The Platform retains all right, title, and interest in the Services. The Issuer receives a limited, non-exclusive, non-transferable license to use the Services for its own offering during the term of these Terms, and retains all right, title, and interest in its own offering materials, investor data, and the token(s) it deploys.
THE SERVICES ARE PROVIDED "AS IS" AND "AS AVAILABLE," WITHOUT WARRANTY OF ANY KIND. THE PLATFORM DOES NOT WARRANT THAT ANY SMART CONTRACT DEPLOYED VIA THE SERVICES IS FREE OF DEFECTS OR VULNERABILITIES, THAT USE OF THE SERVICES WILL SATISFY ANY LEGAL OR REGULATORY OBLIGATION IN ANY JURISDICTION, OR THAT THE SERVICES WILL BE UNINTERRUPTED OR ERROR-FREE.
TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE PLATFORM'S AGGREGATE LIABILITY SHALL NOT EXCEED THE TOTAL FEES PAID BY THE ISSUER IN THE TWELVE (12) MONTHS PRECEDING THE CLAIM. THE PLATFORM SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING LOST PROFITS OR LOST INVESTOR FUNDS.
The Issuer shall indemnify, defend, and hold harmless the Platform from any claims, damages, liabilities, costs, and expenses arising out of: the Issuer's offering (including its legal structuring, marketing, and investor communications); the Issuer's breach of these Terms; or the Issuer's violation of any applicable law in connection with its offering.
These Terms continue until terminated. The Platform may suspend or terminate access for breach, non-payment, or if required by law. Termination does not affect any token contract already deployed by the Issuer, which continues to exist and be administered independently by the Issuer's own wallet.
These Terms, and any dispute or claim arising out of or in connection with them (including non-contractual disputes or claims), are governed by and construed in accordance with the laws of England and Wales. The parties submit to the exclusive jurisdiction of the courts of England and Wales.
The Issuer may not assign these Terms without the Platform's prior written consent. These Terms constitute the entire agreement between the parties regarding the Services. If any provision is held unenforceable, the remainder remains in effect. Nothing in these Terms creates a partnership, joint venture, or agency relationship between the parties.
Reserves reads pool reserves, position fees, and price history straight from the chain — no subgraph, no cached indexer, no synthetic APY. If a number is on this screen, it came from a real on-chain call you can check yourself.
Scans real Swap events over whatever window you choose, ranks pools by measured volume and reserve-derived TVL, and estimates what a position would actually earn at current activity — not a backwards-looking APY average.
Filter by liquidity, volume, buy/sell pressure, or fee tier. Every result links straight to the contracts behind it.
Open the Scanner →Surfaces recently-active positions ranked by fee yield, using the same live fee-accrual math the Positions tab uses for your own. Expand any row for its real price chart, or hit Replicate to open Create Position pre-filled with that exact range.
No fabricated PnL or ROI here — those need cost-basis history no public API can honestly reconstruct, so we don’t pretend to show it.
Browse Top Positions →Every candle is reconstructed from that pool’s own Swap events — not a third-party price API. 1m through 1D intervals, live refresh while open, and a full indicator set: moving averages, Bollinger Bands, VWAP, Volume, RSI, MACD.
Draw your own trendlines directly on the chart — saved to your browser, never generated or interpreted by the app.
License this chart →Deposit, withdraw, collect fees, compound, move range, or arm an unattended auto-exit — each bundled into as few signatures as the underlying contracts allow. Range changes solve for the exact swap needed to avoid leaving funds unused, not a flat guess.
Everything here reads live on-chain state before every transaction — never a stale estimate from when the page loaded.
View Positions →Pool value comes from live balanceOf reads on the actual pool contract at scan time — not a cached indexer figure that can drift from what’s really there.
Nothing here ever holds your funds or your keys. Every action is a transaction your own wallet reviews and signs — this tool only ever prepares what to sign.
Every figure traces back to a specific on-chain read — a pool contract, a position’s fee growth, a swap event. You can verify any of it independently on Etherscan.
RESERVES reads pool reserves straight off-chain — balanceOf() for V3, StateView-derived active liquidity for V4 — and ranks live fee opportunity by what a pool can actually pay, not what a dashboard rounds to. Runs across six chains through one unified API.
python scan.py --version both --blocks 150 --min-fee 1.0
| Pair | Ver | Fee | Volumeselect window & scan | Est. 24h volumeextrapolated | TVL (real) | Swaps | Accelvs prior window | Est. $500 LP earnings24h* / exact window | Conc. range24h* / exact window | Risk | 5M | 1H | 6H | 24H | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Run a scan above to populate this table with live reserve-derived TVL. | |||||||||||||||
Every V3 pool is its own contract, so its token balance is its reserves. Active pools are found by scanning chain-wide Swap events rather than crawling PoolCreated back to genesis, then token0() / token1() / fee() are pulled straight off each pool.
Every V4 pool shares one PoolManager contract, so balanceOf(PoolManager) returns a token's balance across every pool using it. StateView.getSlot0 / getLiquidity gives this specific pool's price and active liquidity, from which its true reserves are derived.
Every chain here is read through Etherscan's unified v2 API — same endpoint, same key, just a different &chainid=. V3 needs no chain-specific contract address, so it's available on all six. V4 additionally needs a verified PoolManager + StateView pair per chain — currently confirmed for Ethereum, Base, and BNB Chain. Arbitrum, Optimism, and Polygon stay V3-only until their StateView addresses are verified.
USD value only resolves when at least one side of a pool is a known quote asset — USDC, USDT, DAI, or live-priced ETH/WETH. The other side is implied from the pool's own reserve ratio. Pools with neither side priceable show as N/A, not zero.
"Volume" is the real total inside your block window — nothing is projected here. Ethereum averages ~12s/block, so a 25-block window is a genuine ~5 minutes of on-chain activity, a 150-block window ~30 minutes, and so on.
"Est. 24h volume" scales the measured window by 86400s ÷ window-seconds. It assumes the trading rate holds steady for a full day — reasonable for a 2h+ window, noisy for a 5-minute one. Widen the window for a steadier projection.
Each earnings cell shows both: the top figure is the 24h projection for a $500 position; the smaller line beneath it is what that same $500 position actually would have earned in the exact blocks you scanned — no extrapolation. Concentrated-range figures apply the same split.
This app also runs the Launch STO tooling issuers use to tokenize an offering — whitelist enforcement on-chain, KYC, a trading pool, all of it. Any issuer who chooses to list publicly shows up in the STO Directory — a plain, published list of what's been tokenized here. It's informational only: no buy button, no matching investors to deals. Interested in a listing means contacting that company directly, not through this platform.
| Pair | Chain | TVL | Fee | 5m volume | Swaps (5m) |
|---|
| # | Pair | Chain | TVL | Fee | 5m volume | Swaps (5m) | |||
|---|---|---|---|---|---|---|---|---|---|
Loading… | |||||||||
| Pair | Fee | Position value | Uncollected fees | Fee yield | Volume | Est. 24h earn | Range | Owner | |
|---|---|---|---|---|---|---|---|---|---|
Run a scan above to find recently-active LP positions on this chain. | |||||||||
A legal label (mainly a US concept) for individuals wealthy or experienced enough that regulators let them invest in risky, unregistered offerings — roughly, over $1M in net worth excluding their home, or over $200k/year income for a couple of years running. Rules like this exist to stop everyday people losing their savings on something hard to evaluate.
A wealthy individual who invests their own money into very early, very small companies — usually the first real money in, before any venture capital firm will touch it. Higher risk, and they know it.
Depends entirely on which legal path is used — this isn't one fixed number, and the actual current limits are a question for your lawyer, not this page. Roughly: a few million from accredited/professional investors only under the simplest path, or considerably more if extra disclosure rules are followed to include everyday investors too.
Connect KYC, create your token, approve investors on-chain, pay $3,000 USDC to launch, then issue tokens — the payment only happens once, at step 5, after everything else is ready.
Creating the token is one click; your own wallet deploys it directly on-chain — this platform never takes custody of it or your funds.
Connect a provider you already use, or start with manual review and approve investors yourself while you're still deciding.
| Offering | Token | Chain | Status | |
|---|---|---|---|---|
Loading… | ||||
| Wallet | Status | On-chain | Provider | Updated | Note |
|---|---|---|---|---|---|
No investors yet. | |||||
| Name | Wallet | Invited? | Investor status | ||
|---|---|---|---|---|---|
No contacts yet. | |||||
Every candle comes from that pool's own on-chain Swap events, reconstructed server-side — no third-party price feed, no subgraph, nothing that can silently drift from what actually happened on the contract.
Ethereum, Base, BNB Chain, Arbitrum, Optimism, and Polygon — any pool version this app already covers, your key covers too.
Every key carries its own per-minute rate limit and daily usage tracking. Optionally lock a key to your own site's origin — the same model Google Maps and Stripe use for a key that's necessarily visible in your own page source.
The pool's own on-chain contract address (V3) or pool ID (V4) — the same one you'd already have if you're tracking that pool anywhere else: your own pool list, a Factory PoolCreated/Initialize event, or copied straight off the pool's own page. We don't discover pools for you — you bring the address, we turn it into candles.
Whether that pool is a Uniswap V3 or V4 contract, and which of our six supported chains it's on. Both are things you already know about a pool you're tracking — they determine which contract ABI and event signatures we decode against.
The ERC-20 decimals() of the pool's two tokens (18 for most, 6 for USDC/USDT, etc.) — needed to convert raw on-chain integer amounts into an actual price. Read directly from each token contract, or wherever you already source token metadata.
chart-engine.js (the same module this app runs) can point at your key instead of ours — works with either key type too.X-RateLimit-Limit and X-RateLimit-Remaining, a request past your limit returns 429, and a request from an origin your key isn't allowlisted for returns 403. Using your own subscriber key instead, none of that applies — it just authenticates the same as it does everywhere else in the app.chart-engine.js — the exact module this page's own demo below is running — can point at your key instead of ours. One script tag, a few lines of config, done. Fastest path if you don't already have a charting UI you're attached to.
Already using TradingView's Advanced Charts, or building your own? Point its Datafeed.getBars() at our endpoint instead of a reconstruction pipeline you'd otherwise have to build and maintain yourself. See the adapter below.
{x, open, high, low, close, volume} into whatever bar format your renderer expects.Tell us your expected volume and where it'll be embedded — we'll issue a key sized for it.
Across's own relayer network fronts the funds on the destination chain and gets reimbursed from your deposit on the source chain — you receive the real token, not a synthetic representation of it.
Get an exact quote — what you'll receive, the fee, the estimated arrival time — before signing anything. Nothing is estimated after the fact.
Bridge into any of this app's supported chains and the token is immediately usable for a swap, a position, or anything else here — no separate "claim" step.
One rebalance transaction serves every depositor in the pool at once. A $500 position doesn't pay the same gas as a $50,000 one repositioning on its own — the actual reason pooling matters here, not just a bigger number.
Blends short and long-term volatility, weights recent price spikes specifically (not just averages), and adds a fixed safety margin on top — a range that's razor-thin right up until the next real move isn't actually efficient, it just rebalances constantly and bleeds gas.
Every rebalance and pool migration is governed by rules fixed and published before any capital is deposited — the backend evaluates the formula, it doesn't decide anything. That's a deliberate structural choice, not a technicality.
From simple (your position moves out of range) to advanced (MACD crossover, RSI extremes, Bollinger breakout, sudden volume acceleration) — see the full list below.
The same swap-event reconstruction and indicator math as the chart itself — nothing here is a separately-maintained approximation that could quietly drift.
No fixed check-in schedule shown to you — you hear about it exactly when it happens. Optionally hand a triggered alert to Automation to act on your behalf.
Configure conditions and connect Telegram from your account — browse it free, subscribe to save. No waiting on us.
Your private key never leaves your wallet; this app only ever holds a scoped, revocable permission you grant on-chain to the operator address.
Auto-execution only ever fires for a pool you've explicitly authorized; if an alert's best match isn't on your list, that cycle is skipped — never substituted with something you didn't approve.
Every transaction is genuinely atomic and simulated before it's ever broadcast. Per-trade, per-day, and expiry limits are enforced by the contract itself, not just the interface.
Grant a scoped permission and choose which pools it covers — browse it free, subscribe to authorize. No waiting on us.
| # | Name | Price | Market cap | TVL | Volume (24h) | Swaps (24h) | Est. $500 LP earnings | Circulating supply |
|---|---|---|---|---|---|---|---|---|
Loading… | ||||||||