Fees
lp.xyz is non-custodial and never a counterparty, but it is a business: a small platform fee rides a few of the actions. Every one of them is shown in the quote or plan you see before you sign. Fee-bearing actions and their fee settle together, so one cannot land without the other. Here is the whole list.
The full schedule
These are the platform fees, taken by lp.xyz. They are separate from the pool's own trading fee (which the AMM sets and which you earn as an LP) and from network gas. The values below mirror the fee constants in the code (SWAP_FEE_BPS, AMM_FEE_BPS, HARVEST_FEE_BPS, TRANSFER_FEE_BPS, BRIDGE_FEE_BPS, CREATE_FEE_SOL, CREATE_FEE_USD and AUTOMATION_FEE_BPS, plus the v4 hook's LPXYZ_HOOK_PLATFORM_FEE_PPM), which are the single source for what actually gets charged — the figure above is drawn from them directly.
- Swap · 0.5%
- Taken on one leg of a swap routed through the hub. On Solana it rides Jupiter's native platform-fee mechanism on a quote-class leg (a stable input is preferred, otherwise the output mint); on a SOL-to-token buy, where that mechanism can't collect, it comes off the SOL you're selling instead. On EVM it's carved off a native input before quoting, or — when you're selling a token — taken from the output: the chain's native asset, one of its stablecoins, or the output token itself when that token clears the same safety gate we apply before letting anyone provide liquidity against it. An output we can't price, one that fails that gate, or one whose fee falls below the gas-cost floor is left alone. Either way it's already inside the quoted amounts.
- Uniswap v4 pool swap · 0.10% · activation pending
- Charged by the lp.xyz platform-fee hook on every swap through a pool created with that hook, including swaps sent by other routers. It settles on the unspecified side inside the same PoolManager transaction: from output for an exact-input swap, or as extra input for an exact-output swap. The exact-output basis is the gross input including the selected LP fee, so the effective charge relative to input before LP fees increases with that tier. Uniswap's v4 quoter therefore returns an amount that already reflects it. The pool's selected LP fee still goes to liquidity providers. A swap routed through the lp.xyz app can carry both this pool-level fee and the 0.5% app-routing fee above; the quote shows them as separate lines. The hook is immutable for the pool, and creators retain a No hook choice.
- Liquidity · 0.25%
- Skimmed off the SOL (WSOL) leg of a liquidity action built through us on Solana, and off the native leg (ETH / BNB) on EVM: adds, increases, the seed deposit when you create a pool, a wall posted on the SOL side (a wall is a single-sided add), and removes. A pool with NO native side pays on its stable leg instead — in that stable — so a token/stable position is billed the same way whichever side it holds, going in and coming out. A token/token position with neither still pays nothing: there is no side of it we could take a fee in without ending up holding a dust position in every token anyone ever LP'd. On a full exit the basis includes the fees that exit collects, so closing a position is billed once as a remove rather than twice.
- Harvest · 5% of what you claim
- A performance fee on the native side of the fees you claim, not on your position — which is why the percentage is larger and the amount smaller. It only ever fires when a claim actually pays out, so a position that earned nothing costs nothing, and rewards paid in other tokens are left alone. Autoharvest claims pay the same rate; nothing extra is charged for automating it.
- Create a pool · flat
- 0.2 SOL on Solana, charged inside the create transaction. On EVM it is a flat dollar amount paid in the chain's native asset — $30 on Ethereum; $15 on Base, BNB Chain, Robinhood Chain, Arc — converted at the live price when the plan is built and settled atomically with create + seed. The create form shows the exact native amount before you sign. It is nonrefundable, charged once, and on top of the 0.25% on whatever you seed the pool with. It applies whatever the pool is paired against, which the percentage can't — a token/token launch has no native leg to skim. A Uniswap or PancakeSwap v2/v3 create that lands on a pool that already exists only adds liquidity, and skips it. Separate from the venue's own creation cost: Raydium charges 0.15 SOL of its own on a CPMM pool, every Solana pool pays account rent, and every EVM transaction pays gas.
- Transfer · 0.2%
- Charged on sends and distributes, on top of the amount you send, in the chain's native asset for direct EVM sends and in the sent asset for private routing. It is an instruction in the Solana transaction or part of the EVM fee-router transaction, so principal and fee share one receipt. Transfers between your OWN wallets are free: funding your trading wallets is something we leave free, and we work out which those are from the wallets on your account rather than taking the app's word for it. Private routing carries this same 0.2% once, folded into the order deposit; Husher's own fee and its flat network fee are separate from ours, and both are shown in the quote beside it — read live, because Husher moves that rate.
- Bridge · 0.2%
- An app fee on cross-chain bridge transfers, forwarded to the lp.xyz treasury through the bridge aggregator's appFees and reflected in the amount you receive. It matches the transfer rate deliberately, so choosing the private route doesn't change what we take.
- Automation · 0.25%, once
- One fee per action a worker takes, replacing the individual add and remove skims rather than stacking on top of them. A repositioning worker removes, claims and re-adds: that is one action, so it pays once, on the native leg of the position it ends up with. A worker that closes a position and rebuilds nothing — a stop-out, a filled limit order — is one action too, and pays on the way out. Autoharvest claims are the exception and pay the harvest fee above, because they pay out to your wallet instead of compounding back in.
What you don't pay lp.xyz for
Reading costs nothing: your portfolio, positions, PnL, charts, watchlists, discovery and alerts carry no fee and never have. Neither does moving funds between your own wallets, or a position in a pool with neither a native nor a stablecoin side — a token/token pool is outside every percentage on this page. Arming automation is free; it charges only when it actually repositions or exits. And a fee is always skipped rather than collected when it would cost more gas than it is worth, when it wouldn't fit inside the transaction it belongs to, when your wallet is too short of SOL to cover it on top of what you are doing, or when the platform treasury isn't configured at all.
EVM pool creation combines the flat platform fee, venue initialization, and first liquidity in one atomic fee-router transaction. Token approvals can appear first; the create itself has one signature, and any venue or treasury failure rolls the whole launch back.
EVM action fees use a live gas calculation. We price the incremental gas their native or token transfer call will burn at the chain's current gas price, and collect the fee only when it is worth at least 3× that, and at least $0.05. Below either line we skip it. That floor moves with the chain: it is cents on BSC or Base and more on Ethereum at a busy hour, which is the point — a flat threshold high enough for mainnet would make every small action free everywhere else. On Solana the fee is an instruction inside your own transaction, so it adds no signature and the only threshold is a dust one. EVM folds the fee call into the same signed atomic batch and applies the gas-aware floor to that added call.
Always disclosed, never custodial
Because an SDK builds the transaction and your wallet signs it, a fee can only ever be an instruction inside a transaction you approve. lp.xyz never holds your funds and never moves them on its own. When a fee applies, it's shown in the quote or the build plan before you sign, and it lands in your portfolio activity feed after it confirms.
