Skip to content
zerocopy.sh

SWQoS

Stake-backed transaction delivery.

Stake-weighted quality of service: when a block is nearly full, validators take the traffic backed by stake before the rest. Send through us and your transactions carry our stake.

One block, filling

87% full
  • You, through us
  • Other staked senders
  • Everyone else
  • You, on a plain connection
  • Space left
* When a block is nearly full the leader takes staked traffic first. The rest waits for the next one.
$2.80
Per million landed, on credit
$0
For a miss
1
Lines of code that change
0
Tip instructions

The path

Three hops.

You sign it. We carry it. The leader takes staked traffic first.

Your client

signs and sends

zerocopy

carries it under stake

The leader

takes staked traffic first

Ways to send

Plain, tipped, or staked.

A plain send waits its turn. A tip buys a place in one auction. Stake is a standing place.

Plain RPC, a tipped bundle and a staked send, compared
ItemPlain RPCWith a tipThrough zerocopy
What the leader seesAn unstaked senderA bundle carrying a tipA staked sender
When the block is nearly fullQueued behind stakeRanked by the size of the tipAhead of unstaked traffic
What a miss costsNothingNothing; the tip is only paid on landingNothing
What a landing costsNothingThe tip, on top of the fee$2.80 per million
What changes in your codeNothingA bundle call and a tip instructionOne URL

How it lands

How it works.

Change one URL. Everything else about how you send stays as it is.

01

Point your client at us

Same code. One URL changed. Nothing else about how you send moves.

02

We forward it under our stake

Signed by you, carried by us. The leader sees a staked sender.

03

You pay when it lands

A landing costs a fraction of a cent. A miss costs nothing.

* Billed per landing: $2.80 per 1M on credit, $3.50 at list.

The change

One line.

The endpoint moves. The signing, the fee, the retry loop stay where they are.

Before

TypeScript
import { Connection } from '@solana/web3.js' const rpc = new Connection('https://api.mainnet-beta.solana.com')await rpc.sendRawTransaction(signed)

After

TypeScript
import { Connection } from '@solana/web3.js' const rpc = new Connection('https://send.zerocopy.sh/?key=YOUR_KEY')await rpc.sendRawTransaction(signed)

Questions

Before you write in.

Do I change my client?
One URL. Sign as you do now and send to us; we forward the same bytes under our stake. Nothing else about how you build or sign a transaction moves.
What does a miss cost?
Nothing. You are billed per landing, $2.80 per million on credit, and a transaction that does not land is not a landing.
Is there a tip?
No tip instruction and nothing extra inside the transaction. The priority comes from stake the leader already recognises, not from a payment the leader has to weigh.
Do you look at what I send?
We forward what you sign, in the order it arrives. We do not simulate, reorder or hold transactions, and there is nothing to read that the leader would not see anyway.
Can I route through my own stake?
Under a whitelabel, yes, and the revenue split changes in your favour. The licensing page has the sheet.

Try it for a week.

Measure a week of sends and count the difference. Billed per landing, never per attempt.