01
Overview
One coin, two exits. Buys feed one chain, sells feed another, and holders get paid in both.
pump.fun pays a creator fee on every trade. When you launch here, that fee is assigned to a router wallet made just for your coin. Once an hour the router collects what has built up, works out how much came from buys and how much from sells, and sends each part out through its own exit.
Exits are delivered by NEAR Intents, which swaps the SOL and sends native coins: real ZEC to a Zcash address, real BTC to a Bitcoin address, and so on. Nobody needs to bridge, wrap or touch another chain's wallet to receive them.
02
Launching a coin
One wallet approval. Up to three transactions, all built and checked by the server before you sign.
- 1
Pick the coin and the rule
Name, ticker, image, then a buy exit, a sell exit and a destination: holders or one address. The image and metadata are pinned to IPFS through pump.fun. - 2
Create
The coin is created on pump.fun with you as the creator, so it shows up as yours everywhere. - 3
Share fees with the router
A pump.fun fee-sharing config is created and sets the coin's router wallet as the only shareholder at 100%. The same transaction sends 0.01 SOL of fuel to the router so it can pay its own network fees. - 4
Optional first buy
Buy up to 10 SOL of your own coin in the same approval.
03
The rule
The rule is set once, at launch, and can't be changed afterwards.
SOLANA ──BUY──► ZCASH
SOLANA ──SELL─► BITCOIN
DEST ────────► HOLDERS- Buy exit
- Any listed exitWhere the share of fees earned from buys goes.
- Sell exit
- Any listed exitCan be the same coin as the buy exit.
- Destination
- Holders · One addressHolders split each hour pro rata. One address sends both legs to addresses set at launch.
04
The hourly cycle
Every hour, for every live coin, the engine runs the same five steps.
- 1
Collect
The router calls pump.fun's fee distribution for the coin. If the unclaimed amount is below pump.fun's own minimum, nothing is collected that hour and it simply keeps building. - 2
Measure
Every trade since the last cycle is read from pump.fun and summed into buy SOL and sell SOL. - 3
Split
The collected SOL is split between the two exits in proportion to that buy and sell volume. - 4
Assign
Holder routes credit every eligible holder's balance. One-address routes send each leg once it passes the minimum delivery size. - 5
Record
The cycle, its amounts and its transaction are stored and shown on the coin's page.
Each coin is locked while its cycle runs and can run at most once every 50 minutes, so an hour can never be paid twice.
05
How fees split
pump.fun charges the same creator fee rate on buys and sells, so volume is a fair way to tell the two apart.
buyShare = collected × buyVolume / (buyVolume + sellVolume)
sellShare = collected − buyShare
// no trades recorded this hour → split 50 / 50Try the split
Example coin routing buys to ZEC and sells to BTC. Same math as the engine.
0.012 SOL
Loading live price…
0.008 SOL
Loading live price…
pots: 1.2000 SOL → ZEC · 0.8000 SOL → BTC · you get 1.0% of each
06
Holder snapshots
Taken at the moment of each cycle, straight from the chain.
- Who counts
- Wallets holding the coinAll token accounts are read and added up per owner, so a wallet with several accounts counts once.
- Minimum holding
- 100,000 tokens0.01% of the 1,000,000,000 supply. Smaller holders are skipped for that hour.
- Excluded
- Curve, pools, routerProgram-owned accounts such as the bonding curve and AMM pools, plus the coin’s own router wallet, never earn.
- Your share
- your tokens ÷ eligible supplyEligible supply is the total held by the wallets that qualify, not the whole 1B.
07
Claiming
Holder balances wait for you. Claim them whenever you like, to any address you choose.
- 1
Find your balance
Paste your wallet on Claim or open the coin's page. Balances are tracked per coin and per exit, in SOL. - 2
Enter where to receive it
A native address on the exit's chain. It is checked against NEAR Intents before you sign. - 3
Sign a message
Your wallet signs a plain-text message. It costs nothing, moves nothing and is valid for 5 minutes. - 4
Delivery
The router sends your whole balance for that exit to NEAR Intents, which swaps it and delivers the native coin. The coin's page tracks it until it settles.
portals claim
wallet: <your Solana wallet>
coin: <mint>
asset: ZEC
deliver to: <your ZEC address>
issued: 2026-10-01T16:00:00.000ZThe signature proves the wallet that earned the balance chose this address, so nobody else can claim it. If a delivery fails or NEAR refunds it, the balance is put back automatically and you can claim again.
08
One-address routes
For a creator, a treasury or a cause: both legs go straight to addresses set at launch.
With One address there is nothing to claim. Each hour, every leg that has reached 0.02 SOL is sent automatically. Smaller amounts wait for the next hour.
09
Exits
10 exits, each one quoted live from SOL through NEAR Intents before it was listed.
- ZEC · Zcasht1… or u1… address
- BTC · Bitcoinbc1… address
- ETH · Ethereum0x… address
- SOL · SolanaSent directly on Solana
- XRP · XRP Ledgerr… address
- DOGE · DogecoinD… address
- LTC · Litecoinltc1… or L… address
- SUI · Sui0x… address
- TRX · TronT… address
- DASH · DashX… address
SOL is the one exit that never leaves Solana: it is sent as a plain transfer, with no swap and no bridge cost.
10
Costs and limits
Every number here is read from the code, not typed into this page.
- Cycle
- Every hourAt most once per 50 minutes per coin.
- Router fuel
- 0.01 SOLSent once at launch so the router can pay its network fees.
- Router reserve
- 0.005 SOLAlways kept back for fees and rent.
- Minimum delivery
- 0.02 SOLSmaller balances stay credited until they grow past it.
- Minimum holding
- 100,000 tokens
- Largest first buy
- 10 SOL
- Claim signature
- Valid 5 minutes
- Delivery costs
- Taken by the routeNEAR Intents’ swap spread plus network fees on both chains come out of the delivered amount. They are mostly fixed, so small deliveries lose a larger share: claiming a bigger balance less often keeps more.
11
Custody and risk
Read this before you launch or hold.
- pump.fun
- Trading and feesCoin creation, the bonding curve, the fee rate and fee sharing are all pump.fun’s. If pump.fun changes them, routes change with them.
- NEAR Intents
- DeliveryQuotes, swaps and settlement are NEAR’s. If a route stops quoting, the balance stays credited and the claim can be retried.
- Rule
- Fixed at launchExits and destination can’t be changed after the coin exists.
- Not advice
- Memecoins are volatileFees depend entirely on trading volume. A coin nobody trades earns nothing.
12
Public API
Read-only and keyless. Data comes from the same sources the site uses.
GET/api/prices
curl https://useportal.tech/api/pricesGET/api/search?q=<name | ticker | mint>
GET/api/coins/<mint>/trades
tx, time, user, type, sol, usd, price.GET/api/coins/<mint>/candles?tf=1m|5m|15m|1h|4h|1d
GET/api/claim?mint=<mint>&wallet=<wallet>
owed and delivered in lamports per exit), plus its last 10 deliveries.const res = await fetch('https://useportal.tech/api/claim?mint=<mint>&wallet=<wallet>')
const { balances } = await res.json()
for (const b of balances) {
const unclaimed = BigInt(b.owed) - BigInt(b.delivered)
console.log(b.asset, Number(unclaimed) / 1e9, 'SOL')
}POST/api/claim
mint, wallet, asset, recipient, issued (ISO time) and signature (base58 ed25519 over the claim message above). Errors return { error } with 400, 401, 404, 409 or 503.13
FAQ
Do I need a Zcash or Bitcoin wallet to buy the coin?
No. You trade with SOL on pump.fun like any other coin. You only need an address on an exit’s chain when you claim to it.
Why is my balance shown in SOL?
Fees are collected in SOL and swapped at the moment you claim, so you get the live rate then, not the rate from when the fee was earned.
I sold. Do I keep what I earned?
Yes. Credited balances stay yours. You just stop earning from the next snapshot.
Does it still work after the coin graduates?
Yes. pump.fun keeps paying creator fees on its AMM, and fee sharing carries over.
Can the launcher change the exits later?
No. The rule is fixed when the coin is created.
Where can I ask something else?
On X at @portalstech.