Route your fees. Get one token.
Everything you need to plug an app into a jar, in a few minutes of reading.
How it works
TJAR is the Uniswap Token Jar, the engine Uniswap uses for its own protocol fees. Four steps, all onchain.
Fees land in your jar
Your jar is a plain address. Send it fees in any token, from any app or contract.
The jar has a price
You set it in one token, like 100 USDC. Autopilot can keep it close to what the jar holds.
A searcher buys it all
The first searcher to pay the price takes everything inside, in one transaction.
You receive one token
The payment goes straight to your address, or to the burn address.
Launch without code
One wallet, one transaction, two more if you want Autopilot.
- 01
Pick a chain
Robinhood Chain, Ethereum, Base, Arbitrum, Optimism, BNB Chain or Polygon.
- 02
Choose what you receive
USDC, ETH, or paste any token address, including your own.
- 03
Choose where it goes
Your wallet by default, a treasury, or the burn address.
- 04
Set a starting price
We suggest $100 worth. Autopilot adjusts it as the jar fills.
- 05
Sign
The TJAR Factory deploys your jar and its releaser. You own both.
// TJAR Factory, same address on all seven chains
factory(0xfAc70EEEE259F2140CBbB8e3157b75A52ce39fee)
.deploy(token, recipient, price, owner, configSetter, salt)
returns (jar, releaser)Uniswap API fees
If you build swaps on the Uniswap API, your jar can be the fee recipient. Every swap fee lands in it, in whatever token was traded.
POST https://trade-api.gateway.uniswap.org/v1/quote
{
"tokenIn": "...",
"tokenOut": "...",
"amount": "...",
"integratorFees": [
{ "recipient": "0xYourJar", "bips": 25 }
]
}Any other app
Wallets, bots, launchpads: send fees to the jar address like to any wallet. Native coins work too.
Uniswap v2 style pools
Set the jar as the factory's feeTo. Protocol fees accrue to it as LP tokens.
Your own token
Set your token as the jar's price. Every release becomes a buyback, paid by the searcher, at no cost to you.
Price it in your token
Paste your token address in the launcher. Searchers buy it on the market to release your jar.
Keep it in treasury
Send the payment to your treasury and grow it with every release.
Or burn it
One tap sends every payment to 0x…dEaD. Supply goes down each time the jar is released.
Autopilot safety
Autopilot is a small contract you deploy and own. It can move your jar's price. It can never move your money. Enforced onchain.
It moves the price, nothing else
Each change re-reads your token, your recipient and the release size from the jar and writes them back unchanged. Your money can never be redirected.
Inside your range
You set a floor and a ceiling. By default they sit 4x below and 4x above your starting price.
Small steps only
At most 10% per change by default. The contract refuses anything above 50%.
Slowly
At least 1 hour between two changes by default, never less than 60 seconds.
Never on stale data
Every change names the jar's current nonce. If the jar was released or edited in between, the change fails.
Yours to take back
Pause it, change its range or its pilot, or remove it in one transaction. Your jar keeps working without it.
// Remove Autopilot at any time, as the jar owner
releaser.setConfigSetter(address(0))Public API
Read-only JSON, no key, rate limited per IP. Chains by id, addresses in lowercase, amounts as atomic strings, values in USD.
Explorer totals
Jars, value held, jars ready now, releases and volume converted.
curl https://jarvest.org/api/statsList jars
Filter by chain, source or owner, sort by value, profit, recent or releases. Paginate with cursor.
curl "https://jarvest.org/api/jars?chain=4663&sort=profit&ready=1&limit=20"One jar
Contents with USD values, the best release, history, inflows, Autopilot state.
curl https://jarvest.org/api/jars/4663/0x2ac03e14cfe755426daaee0a4994184ce81482f8Searchers
Leaderboard of releasers with what they paid and took.
curl "https://jarvest.org/api/searchers?limit=50"Any token
Symbol, decimals and price of any ERC-20, read onchain.
curl https://jarvest.org/api/tokens/4663/0x5fc5360d0400a0fd4f2af552add042d716f1d168Recommended price
What Autopilot would set the jar's price to right now.
curl "https://jarvest.org/api/autopilot/recommend?chain=4663&jar=0x2ac03e14cfe755426daaee0a4994184ce81482f8"Track a jar
Add any TJAR jar to the explorer. We check it onchain first.
curl -X POST https://jarvest.org/api/jars/track \
-H "content-type: application/json" \
-d '{"chainId":4663,"address":"0xYourJar"}'