Documentation
Overview
Payline is a token deployer with a fee router attached. A router is two things: a dedicated vault keypair, and a split of up to 10 recipients defined in basis points. A single engine process walks every active router on a fixed interval, claims whatever fees the token has earned, and executes the split on-chain.
Nothing runs per token. Deploying adds one router record; the same loop picks it up on the next cycle.
Quickstart
- Where it launches. Pick Pump.fun, Bags or a native Payline mint. Native mints choose SPL or Token-2022 with a transfer tax.
- The token. Name, ticker, logo, socials, supply and decimals. Revokes for mint, freeze and metadata update are on by default.
- Where fees go. Add up to 10 recipients and set shares that sum to 100%. Sign. The router page goes live with the token.
Launchpads
| Launchpad | Fee source | Rate |
|---|---|---|
| Pump.fun | The vault signs the create, so it is the on-chain creator. Creator fees accrue to it and are claimed every cycle with collectCreatorFee. Your dev buy is forwarded to your wallet. | 0.95% → 0.05% by market cap, set by pump.fun |
| Bags | Wallets and social accounts are written into the Bags fee-share config and paid by Bags. Burn, buyback and reward shares go to the vault as one claimer. Bags allows 7 claimers; overflow wallets are paid through the vault. | 7 modes default 2%, 0.75% to the split |
| Payline SPL | Your own mint. No built-in fee: send creator or LP fees to the vault. | — |
| Payline Token-2022 | TransferFeeConfig extension. The vault is the withdraw-withheld authority and harvests tax every cycle. | 0.1–10% you set it |
Split recipients
| Type | Execution |
|---|---|
| wallet | System transfer of SOL to the address. |
| Transfer to the Bags embedded wallet for that account. Escrowed in the vault until the account resolves. | |
| burn | Jupiter SOL → token swap, then burn on the received amount. Harvested tax tokens burn directly. |
| buyback | Jupiter swap; tokens stay in the vault. |
| rewards | Holder snapshot, then pro-rata to accounts above the minimum (default 0.05% of supply), up to 100 per cycle. Paid in SOL, or in any token you choose: the share is bought on Jupiter and sent out. Opening a token account costs rent, so holders without one only get a token reward once their share is worth 0.01 SOL. PDAs (pools), the vault and the deployer are skipped. |
| charity | Coming soon. Transfer to a verified nonprofit donation address. |
Cycle engine
Every 5 minutes the engine runs these stages for each active router, in order:
- Timelock. If a scheduled split change has cleared its 24-hour wait, it becomes the live split.
- Claim. Pump.fun creator fees, Bags claim transactions, Token-2022 withheld tax.
- Settle. Distributable = vault SOL − reserve − escrowed social shares. Below the payout floor, the cycle is skipped and the balance carries over.
- Execute. Wallet and social transfers, then swaps and burns, then holder rewards.
- Log. Every signature is written to the router page with a Solscan link.
12:04:01 claim pump.fun creator fees +1.204 SOL
12:04:02 settle vault − reserve 1.194 SOL
12:04:03 payout @PaylineDev (X) 0.179 SOL
12:04:06 burn 412,880 PAYLINE confirmed
12:04:11 rewards 61 holders · pro-rata 0.238 SOL
Payout schedule
Each coin has its own schedule, set at launch and changeable any time from Routers → Schedule. Changes apply from the next run and are logged on the coin's page.
| Setting | What it does | Default |
|---|---|---|
| Run every | How often the router claims fees and pays out: 5 min, 15 min, 1 hour, 6 hours or 24 hours. | 5 min |
| Pay out once the vault has | Nothing is paid until the vault holds at least this much SOL above its reserve. Below it, fees keep building up. | 0.05 SOL |
| Buybacks & token rewards wait for | Buybacks, burns and token rewards each build up until they have this much SOL, so small swaps aren't eaten by fees and slippage. Wallet and SOL payouts aren't held back. | 0.05 SOL |
| Minimum holding | Holders below this share of supply are skipped for rewards. | 0.05% |
X and GitHub payouts
Handles are resolved with the Bags API (fee-share/wallet/v2/bulk), which returns the embedded wallet Bags keeps for that account. The person claims by signing in to bags.fm with the same account. Handles that have never signed in have no wallet yet: their share is escrowed in the vault, re-checked every cycle, and paid in full once it resolves.
On Bags launches, social recipients are fixed on-chain at creation, so every handle must already resolve before you launch.
Anyone can see what an account is owed on the Check fees page: total paid, SOL waiting in escrow, and every router that pays them.
Token-2022 transfer tax
The tax is withheld inside each recipient's token account. The router vault is the withdraw withheld authority, so it harvests on each cycle. Harvested tokens are burned for burn shares, held for buyback shares, and sold to SOL for everything else. Locking the rate removes the fee-config authority at deploy so nobody can raise it later.
Charity Soon
Charity recipients will come from a directory of nonprofits whose Solana donation address is checked against a public source, such as the nonprofit's own page or a platform like The Giving Block. That source is linked on every router page that donates to it.
Attach a router
Attach creates a vault and a public page for a token you already launched. It cannot redirect fees by itself: they arrive only when the token's creator or tax authority sends them to the vault.
Routers are marked Verified dev when the signing wallet is the mint, freeze, transfer-fee or metadata authority, or the pump.fun bonding-curve creator. Anything else is marked Unverified with a notice on its page.
Owner controls
| Action | Effect |
|---|---|
| Pause / resume | Stops or restarts cycles. Fees keep accruing. |
| Edit split | Scheduled with a 24-hour timelock and announced on the router page. Cancellable until it applies. |
| Withdraw | Sends all SOL and tokens in the vault to the owner and pauses the router. |
Each action is a signed message from the owner wallet. No transaction fee.
Public API
Router data is public and CORS-enabled, so you can build on it.
GET /api/routers/:id router, split, totals, last 100 events
GET /api/routers?owner=… routers owned by a wallet
GET /api/explore?q=&sort= public routers (routed | holders | new)
GET /api/claims?provider=twitter&handle=… what an account is owed
GET /api/config cycle interval, timelock, fees
GET /r/:id share link with a preview card (/og/:id.png)
GET /embed.html?r=:id live widget (theme=light|dark)
Security model
- One vault keypair per router, encrypted at rest with AES-256-GCM.
- Vaults are custodial so the engine can sign on schedule. The owner can withdraw everything at any time.
- Split changes are timelocked and public before they apply.
- Swaps use Jupiter with capped slippage; holder rewards skip program-owned accounts.
Protocol fees go to the Payline treasury.
Limits & fees
| Deploy | Free |
| Mint, freeze, update revokes | Included |
| Vanity address · attach | Free |
| Routing | free |
| Recipients per router | 10 (Bags: 7 native) |
| Supply sends at launch | 5 wallets |
| Holder rewards per cycle | 100 holders |