Solana SWQoS Endpoint Documentation
What is the SWQoS Endpoint?
The SWQoS Endpoint provided by ERPC is a high-performance RPC service that allows users with stake connections to send transactions through dedicated lanes.
It is available for both shared and dedicated plans, enabling faster and more reliable transaction delivery.
It is available for both shared and dedicated plans, enabling faster and more reliable transaction delivery.
The endpoint can be obtained by registering your elSOL holdings on the official Validators DAO Discord.
- Validators DAO Discord: https://discord.gg/C7ZQSrCkYR
What is SWQoS?
SWQoS (Stake weighted Quality of Service) is a communication control mechanism that prioritizes validators with stake connections.
Leaders allocate approximately 80% of total bandwidth to the priority lane and 20% to the non-priority lane.
Leaders allocate approximately 80% of total bandwidth to the priority lane and 20% to the non-priority lane.
Traffic with stake connections can utilize the priority lane while also being sent through the non-priority lane at the same time. As a result, compared to traffic that relies solely on the non-priority lane, the effective delivery capacity is significantly larger.
This control is applied before Priority fee handling, at the stage where traffic is accepted and routed toward the leader, meaning that whether a transaction reaches the priority lane directly affects downstream processing speed.
This control is applied before Priority fee handling, at the stage where traffic is accepted and routed toward the leader, meaning that whether a transaction reaches the priority lane directly affects downstream processing speed.
Relationship with Priority Fee
Priority fee plays an important role, but it is applied after a transaction has reached the leader via SWQoS routing.
If a transaction cannot enter the SWQoS priority lane, the effectiveness of Priority fees becomes limited, and improving basic reachability is difficult.
For optimal operation, it is most effective to combine SWQoS-based reachability with appropriate Priority fee settings.
If a transaction cannot enter the SWQoS priority lane, the effectiveness of Priority fees becomes limited, and improving basic reachability is difficult.
For optimal operation, it is most effective to combine SWQoS-based reachability with appropriate Priority fee settings.
Shift in Cost Structure
In conventional transaction submission services, users were required to attach Tips when sending transactions.
With ERPC’s SWQoS Endpoint, Tips are not required. Instead, access to priority bandwidth is granted through holding elSOL.
With ERPC’s SWQoS Endpoint, Tips are not required. Instead, access to priority bandwidth is granted through holding elSOL.
elSOL is a Liquid Staking Token (LST) on Solana, issued by staking SOL.
Its value increases relative to SOL as staking rewards accrue, and it is not fixed at a 1:1 ratio.
For example, holding 1 elSOL over time may gradually become “1 elSOL = 1.1 SOL” or “1 elSOL = 1.2 SOL”.
Its value increases relative to SOL as staking rewards accrue, and it is not fixed at a 1:1 ratio.
For example, holding 1 elSOL over time may gradually become “1 elSOL = 1.1 SOL” or “1 elSOL = 1.2 SOL”.
elSOL can be converted back to SOL through the unstaking process, with settlement reflecting accumulated staking rewards.
The SOL staked via elSOL is delegated to validators connected to ERPC.
As elSOL holdings increase, the total SWQoS bandwidth available across ERPC expands.
By holding elSOL, users contribute directly to strengthening the network and, in return, gain access to dedicated transmission lanes.
As elSOL holdings increase, the total SWQoS bandwidth available across ERPC expands.
By holding elSOL, users contribute directly to strengthening the network and, in return, gain access to dedicated transmission lanes.
- elSOL Official Site: https://elsol.app/en
Bandwidth Allocation (TPS Structure)
For shared SWQoS Endpoints, available TPS is calculated as elSOL holdings ÷ 4.2, rounded down.
For example, holding 10 elSOL grants 2 TPS.
For example, holding 10 elSOL grants 2 TPS.
The actual usable limit is determined by the smaller of:
- The maximum TPS allowed by the subscribed plan, or
- The TPS derived from elSOL holdings.
A Developer Plan or higher is required to use SWQoS endpoints, and Bundle Plans are also eligible.
- Validators DAO Discord: https://discord.gg/C7ZQSrCkYR
Connection Keep Warming (Keep Alive)
With ERPC’s Solana SWQoS endpoint, sending a GET request to
/ping allows you to maintain the HTTPS connection between the client and the ERPC SWQoS endpoint.When submitting a transaction, the first request incurs a small amount of time for HTTPS and TLS session establishment.
By sending
By sending
/ping in advance and keeping this connection active, you can avoid initial connection latency and enter the transaction submission process immediately when sending the actual transaction.Even if transactions are not sent continuously, this approach is effective for setups where transactions must be sent quickly at specific moments, helping to stabilize initial submission behavior.
Ping Endpoint
Keep Warming is performed by sending a GET request to
This request does not process any transactions and is used solely to maintain the connection state between the client and ERPC.
/ping on the SWQoS endpoint.This request does not process any transactions and is used solely to maintain the connection state between the client and ERPC.
Endpoint Format (HTTPS)
text
https://<your-swqos-endpoint-domain>/pinghttps://<your-swqos-endpoint-domain>/pingReplace
<your-swqos-endpoint-domain> with the SWQoS-specific domain provided by ERPC.Usage Example
Periodic Keep Alive Example (JavaScript)
typescript
async function keepWarm(endpoint: string) {
try {
await fetch(`${endpoint}/ping`, { method: 'GET' })
} catch {
// Ignore failures
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)async function keepWarm(endpoint: string) {
try {
await fetch(`${endpoint}/ping`, { method: 'GET' })
} catch {
// Ignore failures
}
}
setInterval(() => {
keepWarm('https://<your-swqos-endpoint-domain>')
}, 30000)By sending
/ping at regular intervals, you can maintain a state where transaction submission can begin immediately when required.Notes
・
/ping does not consume TPS or affect elSOL-based bandwidth calculations
・It is not a substitute for transaction submission
・It is a supplemental request used solely to maintain the client-to-ERPC connectionThe design of SWQoS (stake-based routing) and Priority fees remains unchanged.
Use Keep Warming as a mechanism to reduce latency at the moment transaction submission begins.