LONGETF Launch a token
Documentation

How LONGETF works

A token launched on long.xyz earns trading fees. This platform takes those fees and sends them to the people holding the token, every six hours, without anyone having to claim anything.

This page covers both ways to connect a token, what happens on every cycle, and every rule the contracts enforce. Nothing here is a plan. It is all live on Robinhood Chain today.

What this does

When you launch a token on long.xyz it gets paired with an anchor asset. Usually that anchor is a tokenized stock like SPY or NVDA. Every trade in that pool pays a fee, and the fee arrives in both tokens at once. Some in your token, some in the anchor.

By default those fees go to whoever launched the token. LONGETF puts a vault in that position instead. The vault has one job. Every six hours it collects the fees, burns half of the fee paid in your token, and sends the anchor side out to holders.

The part that matters. Once the vault is the fee recipient, nothing can move it. The vault has no function that redirects the stream, not for us and not for the team that launched the token. That is the difference between a promise and a fact you can check.

Two ways in

It does not matter whether your token already exists. Both routes end in the same place, with the vault holding the fee rights and unable to give them back.

LAUNCH MODE

You have not launched yet

Create the token here. The vault is named as the fee recipient in the launch transaction itself, so there is never a moment where the stream points anywhere else.

Cost is around four dollars in gas. long.xyz charges nothing to launch.

MANUAL MODE

Your token is already live

Deploy a vault, then move your fee rights to it from the wallet that currently receives them. Same end state, one extra transaction.

Cost is around two dollars in gas.

Launch mode, step by step

Go to longetf.xyz/launch and connect a wallet on Robinhood Chain. The page walks you through four steps and shows you what each transaction does before you sign it.

  1. Fill in the token. Name, ticker, and the anchor you want to pair against. Tickers are letters only, no digits or spaces, because the chain rejects anything else. The page checks availability while you type. Image, description and social links are optional and you can skip all three.
  2. Deploy your vault. This creates a contract that belongs to your token alone. The address is worked out before you sign, and the page mines a salt so the address sorts correctly against long.xyz's own beneficiary. Get that wrong and the launch fails with no explanation, so the page will not let you past it.
  3. Launch on long.xyz. The vault address goes into the launch as the ninety five percent fee recipient. long.xyz keeps five percent, which is their protocol fee and applies to every token on their launcher. Your entire supply goes into the pool. You receive no tokens, which is how their launcher works for everyone.
  4. Register. This tells our factory the pair exists. It does not take your word for it. The contract reads the fee split straight off long.xyz and refuses unless the vault really is holding at least ninety percent. That is why the token list on the front page can be trusted even though we publish it.

After that you do nothing. The token appears on the front page, the cycle starts, and payouts run on their own. There is no dashboard to check and no button to press.

Manual mode, step by step

Your token is already trading on long.xyz and the fees are going to your own wallet. You can hand that stream to a vault and it becomes permanent.

  1. Deploy a vault for your token. Same contract as launch mode. Use the launch page and stop after step two, or call deployVault on the factory directly. You pay the gas and the vault belongs to your token.
  2. Move your fee rights. From the wallet that currently receives the fees, call updateBeneficiary(poolId, vault) on long.xyz's pool contract. That function moves the caller's own entry, so nobody else can do this for you and nobody else can undo it.
  3. Register. Call register(token, vault) on the factory. It reads the split from the chain and confirms the vault now holds your share. If the move in step two did not go through, this step fails and nothing is recorded.

Read this twice. Step two cannot be reversed. Once the vault holds the fee rights, the vault is the only thing that could move them and it has no function to do so. You are giving up the stream permanently in exchange for holders being able to prove it.

The six hour cycle

Every six hours the same sequence runs for every registered token. It runs whether or not anybody is watching and whether or not there is enough to pay out.

1. CollectPull the accumulated fees out of long.xyz into the vault. Both tokens arrive, your token and the anchor.
2. BurnHalf the fee paid in your token goes to the dead address. This happens every single cycle and does not depend on the payout.
3. Check the potValue the anchor side in dollars. If it clears the threshold the cycle opens. If not, it is skipped and the anchor stays in the vault for next time.
4. PaySend the anchor out to holders, in proportion to how much of your token they hold at that moment.

A skipped cycle is not a lost cycle. Nothing is returned and nothing is written off. The anchor sits in the vault and joins the next pot, so a quiet week simply means a larger payout later.

The burn

Half of every fee paid in your token is destroyed. Not held, not sold, not moved to a treasury we control. Sent to an address nobody has the keys to.

The fifty percent floor is a constant in the contract. We can raise it. We cannot lower it, and neither can the team that launched the token. If we ever wanted to burn less we would have to deploy a different contract, which would show up as a different address.

Why this compounds

The burn is funded by trading, and trading is what the payout is funded by too. They move together.

  • Someone trades. The pool takes a fee in both tokens.
  • Six hours later, half the fee paid in your token is burned. Supply goes down and it never comes back.
  • The anchor side of the same fee goes to holders as real tokenized stock.
  • Holding pays something, so there is a reason to keep holding rather than sell into the next buyer.

More volume burns more supply and pays out more at the same time. That is the whole flywheel. There is no emission, no staking contract, and no yield coming from anywhere except people trading the token.

Where the fees go

The fee arrives as two separate amounts and they are treated differently. Mixing them up is the most common misreading, so here is each side on its own.

The anchor side, usually a tokenized stock

All of it is for holders. A single cycle sends at most seventy percent of what the vault holds, and the rest rolls forward. That cap exists so one cycle cannot drain the vault and leave the next one empty.

The side paid in your own token

OrderGoes toHow much
FirstBurned50% and never less
ThenGas walletWhatever the remainder is, until it holds enough to keep paying transaction fees
LastCreator75% of what is left after that
LastLONGETF25% of what is left after that

The order is fixed in the contract. The burn is taken before anyone is paid, and the gas reserve is filled before either the creator or us. When volume is thin the creator and the platform receive nothing, and the burn and the holder payout still happen.

Rules and numbers

RuleValueNotes
Cycle length6 hoursCollect and burn run on this clock no matter what
Payout threshold$500Below this the payout is skipped and the pot rolls forward
Max paid per cycle70%Of what the vault holds. The rest stays for the next cycle
Burn50%Of the fee paid in your token. Floor, can be raised only
Vault share of fees95%long.xyz keeps 5% at the protocol level
Platform cut25%Of the surplus in your token after burn and gas. Nothing from the anchor side
Creator cut75%Of that same surplus
Forced payout7 daysIf the threshold has not been met for a week the cycle opens anyway, so funds cannot sit forever
Minimum holdingset per cycleHolders below it are skipped rather than paid dust that costs more in gas than it is worth

What can change and what cannot

Some of the numbers above are settings and some are welded in. The difference is worth knowing before you commit a fee stream to this.

Cannot change, everCan be adjusted
Who receives the fees, once the vault holds them
The burn floor of fifty percent
The vault's code, since there is no proxy and no upgrade path
That the platform cut never touches the anchor side
Cycle length
Payout threshold, capped at $100,000
Percent paid per cycle
Burn, upward only
Platform cut, capped at 30%

The caps are constants, not policy. Even with full control of the settings we cannot push the threshold past a hundred thousand dollars or take more than thirty percent of the surplus, because the contract rejects those values.

Check it yourself

Everything on this site is read from the chain when the page loads. There is no database behind it. If you would rather not take our word for any of it, here is how to confirm the important parts directly.

Who receives a token's fees

Call getBeneficiaries(token) on long.xyz's pool contract at 0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544. It returns each recipient and their share. For a token wired to us you will see the vault at ninety five percent and long.xyz at five.

That the vault cannot move the stream

The source is published at /src/StockFeeDistributor.sol. Search it for updateBeneficiary and you will find nothing, because there is nothing to find.

That the deployed vault is that source

Our factory is verified on the explorer and pins one code hash. Compile the source with solc 0.8.36, optimizer on, two hundred runs, under the file name S.sol, then hash the init code. It matches the hash the factory publishes, and the factory will only deploy that one bytecode. The file name matters because it is part of the metadata hash.

Who was paid, and how much

The holder list a cycle pays from is published at /holders/<token>.json, and its merkle root is written on chain when the cycle opens. You can rebuild the root from the published list and compare. If we ever changed a list after the fact, the roots would stop matching.

Honest limits

Things that are true and that we would rather you hear from us.

  • Payout size depends entirely on trading activity and can be zero. There is no floor and no promised yield.
  • The payout is paid in the anchor asset, so its dollar value moves with that asset. If the anchor is a tokenized stock, that is the stock's price.
  • Distribution transactions are sent by an operator key we hold. The contract limits what that key can do, since a recipient has to genuinely hold the token and a cycle cannot exceed its cap, but the key is still ours and the honest thing is to say so.
  • Anchors that are themselves meme tokens are priced through their own pool and then through a stock, which is one more step that can drift. Pairing against a stock directly is the simpler road.
  • LONGETF is not affiliated with Robinhood, with long.xyz, or with any issuer of the underlying assets.

Contracts and source: factory, vault. Live status: status.json.

All tokens  ·  Launch a token