Yield Sources
Where Rails yield comes from — payment routing fees and Magma marketplace liquidity leases on Lightning. No lending, no counterparty risk.
Yield generated for Rails Liquidity Providers (LPs) comes from two core activities on the Lightning Network: payment routing and liquidity leases through the Magma Marketplace.
Payment routing
Every Lightning payment that traverses your node pays a small forwarding fee, accruing as alltime_routing_revenue. Rails maximizes routing revenue by:
| Lever | What it does |
|---|---|
| Channel partner selection | Opens channels with high-traffic peers identified by the Amboss intelligence layer. |
| Fee policy | Adjusts inbound/outbound fee rates to remain competitive in active routes without leaving money on the table. |
| Rebalancing | Maintains balanced channel state so liquidity is available in both directions when payments arrive. |
| Channel sizing | Sizes new channels to the partner's historical demand to maximize utilization per sat of capital. |
Liquidity leases on Magma
The Magma Marketplace lets node operators sell channel-open commitments to buyers who need inbound liquidity. Sellers earn an upfront lease premium plus the buyer's routing fees over the lock-up window, accruing as alltime_leasing_revenue.
Rails lists your liquidity automatically based on demand and price signals, and reinvests realized revenue back into either further leases or routing liquidity.
Over the past four years, yields from Magma leases alone have ranged between 1-4% APY. Combined with routing fees, blended LP yield has averaged around 4.5% in recent periods.
Tracking yield via the API
Earnings are split between routing and liquidity in every revenue payload. Pull both, and the on-chain costs that net against them, in one query:
query YieldBreakdown($input: LiquidityProviderInput) {
user {
id
liquidity_provider(input: $input) {
id
revenue {
liquidity { sats usd }
routing { sats usd }
}
balances {
balances {
alltime_routing_revenue { sats usd }
alltime_leasing_revenue { sats usd }
alltime_onchain_costs { sats usd }
}
financial_changes {
routing_revenue_change { sats usd }
leasing_revenue_change { sats usd }
onchain_costs_change { sats usd }
}
}
}
}
}curl -X POST https://rails.amboss.tech/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AMBOSS_DASHBOARD_TOKEN" \
-d '{
"query": "query($input: LiquidityProviderInput) { user { liquidity_provider(input: $input) { revenue { liquidity { sats usd } routing { sats usd } } } } }",
"variables": { "input": { "node_id": "<NODE_ID>" } }
}'const data = await client.request(YIELD_BREAKDOWN, {
input: { node_id: process.env.NODE_ID },
});
console.log("Routing revenue:", data.user.liquidity_provider.revenue.routing.sats, "sats");
console.log("Liquidity revenue:", data.user.liquidity_provider.revenue.liquidity.sats, "sats");What "yield" does not include
- No lending. Your Bitcoin is never lent to a counterparty.
- No rehypothecation. Channel collateral is not pledged to a second party.
- No counterparty credit risk. Funds stay in 2-of-2 multisig channels on a node you custody.
See Security for the custody and key model, and the FAQ for the full risk and recovery story.