Live on NEAR mainnet
Trading infrastructure
for NEAR.
routr is a trading venue and platform registry that launchpads, wallets and bots build on. Registration is open to anyone. Each platform sets the share its creators get and the share approved routing apps earn, chooses who may open pools under its name, and can create and seed those pools inside its own launch flow at a fee of its choosing. No admin method moves pool reserves, and every code change is announced on chain and waits a fixed delay before it can land.
What a launchpad sets
Your launchpad, your terms.
routr was built for launchpads. Each platform chooses its own economics and who may use them, and the contract applies them on every swap: there is no fee menu to pick from and no fee-splitting contract of your own to write. A pool's fee terms are fixed when it is created, so what you promise a creator holds for that pool even if you change your settings later.
| Setting | Your choices | Set | Afterwards |
|---|---|---|---|
| Pool fee | Any rate from 0.01% to 10%, chosen by the account that opens the pool: limit who may open your pools and the choice is yours | Per pool | Fixed for that pool |
| Creator's share | 0 to 100% of your part of the fee | Per platform | Fixed into each pool at creation; a change applies to new pools |
| Routing app's share | 0 to 100% of your part; the two shares together at most 100% | Per platform | Fixed into each pool at creation; a change applies to new pools |
| Fee recipient | Any account | Per platform | Each pool keeps the recipient it was created with |
| Approved routing apps | Up to 32 accounts that can earn the app share | Per platform | Change it any time; applies to every pool at once |
| Who may open pools under your id | Anyone, or up to 8 accounts such as your factory | Per platform | Change it any time |
| Opening price | The virtual quote reserve divided by the amount seeded; it is also the pool's floor price | Per pool | Set once; trading moves the price from there |
| Quote asset | Any NEP-141 token: wNEAR and USDC today; payouts in another token need the venue account registered on it | Per pool | Fixed for that pool |
| Creator and seeder | The account that earns the creator's share, and the one account whose seed is accepted | Per pool | The creator can hand its share on; the seeder is fixed |
Your part of the fee is what remains after the protocol's share (20% today, capped at 30% in the code). These are the venue's settings: rules on the token itself, such as taxes or wallet limits, belong to your token contract. The calls are register_platform, set_platform and create_pool: see the contract reference.
How it works
Four steps to a trading market.
Once your token exists and your accounts are registered on it.
01
Register a platform
One call, open to anyone. Name your fee recipient, the share creators get and the share approved apps earn for routing orders. A 0.5 NEAR bond becomes your storage credit.
02
Open a pool per coin
One pool per token, quote and platform. Its lookup key is known before it exists, so a token can carry its own route. Its fee rate and split are fixed when it is created.
03
Seed it once
The seeder deposits the token once. There are no LP shares and no method to withdraw or migrate liquidity; tokens leave the pool only through buys. The seed and a virtual quote reserve set the opening price.
04
Trade, and get paid
Submit a swap with one ft_transfer_call. The contract sends the output and books every fee leg in the swap receipt; anyone can push the payouts.
Fees
Every swap pays the people who made it happen.
The pool fee is charged on the quote side of each trade. The protocol takes a share, capped in the code; the rest belongs to the platform, which passes part of it to the pool's creator and part to the app that routed the order, if the platform approved that app.
A 100 NEAR buy on a platform with a 1% pool fee
Example parameters (fastr's). The pool creator picks the pool fee (up to 10%); each platform sets its creator and builder shares and can restrict who creates its pools. The protocol share is 20% today and the code caps it at 30%. Rate and split are fixed per pool at creation.
Who builds on routr
One venue, many front doors.
Launchpads
Create and seed a pool inside your own launch flow. routr handles the pool, the curve, the fee accounting and the payouts; you keep your product and your brand. Once registered, your platform id has an owner, and you choose who may open pools under it.
Wallets, bots and solvers
Quote any pool with the full fee waterfall, price impact and the contract's current answer on whether it would execute; set min_out and submit. Name yourself as the builder on the swap and a platform that approved you pays you a share of its fees.
Creators
Your share is written into the pool when it is created. A later change to the platform's or the protocol's terms applies only to new pools. You can hand your creator share to another account yourself.
Indexers and data sites
Pool creation, seeding, swaps and payouts are NEP-297 events; swap events carry every fee leg and the reserves after the trade. Pools page by id, and one view returns a launch's pool, terms and state.
Rules the contract enforces
Neutral by construction.
The contract can be upgraded, but only through itself, in the open, after a fixed delay. What it can never do is change a pool's terms or touch its money.
No owner method over pool money
In the current code, reserves move only through swaps, and amounts owed move only to the account they are owed to.
Control you can watch
A guardian can freeze the venue at once and do nothing else. Unfreezing and every code change are announced on chain and wait a fixed delay before they can land, so nothing changes quietly. No method moves reserves or balances.
Fee terms fixed per pool
A pool's fee rate and percentage terms are fixed when it is created; only the platform's approved-builder list applies to existing pools. The protocol's share is capped at 30% of the pool fee in the code.
Money owed is booked first
Output and fee shares are recorded as liabilities before a transfer leaves; if a transfer fails, the amount is recorded as owed and anyone can push it later.
What it costs
A whole launch in one transaction.
In sandbox and testnet runs of fastr, the first launchpad built on routr, creating the token, opening the pool, seeding it and making the creator's first buy ran as one transaction. Each routr pool is its own record, so seeding or trading one reads and writes that pool and a few account records and nothing else on the venue.
Measured 2026-09-30 in the NEAR sandbox (tests seed_and_swap_gas_do_not_grow_with_the_number_of_pools and launch_gas_on_routr_is_flat_over_many_launches) and on testnet. The launch figure is all the gas the transaction burnt; the seed and swap figures are the largest routr receipt per call. They are results of these runs, not guarantees for every call.
Status
Shipping in public, one release a week.
| Stage | What | State |
|---|---|---|
| Phase 0 | Venue on testnet; the first launchpad launches on it in one transaction; end-to-end tests in the browser | done |
| Phase 1 | routr.near live from a reproducible build whose hash is published here; owner a 2-of-3 multisig, account keyless | done |
| Phase 2 | Resting orders, a TypeScript SDK, an intents solver, a second platform, public stats | weekly |
Building a launchpad, wallet or bot on NEAR?
The integration is a handful of calls and one message format. Start with the quickstart; the whole contract interface is on one page.