Transaction relay, under your name.
Customers send signed Solana transactions to your address, prepaid in SOL. You set the price. We run the relay.
curl -sS \
https://send-acme.site.nodeshop.app/v1/transactions \
-H "Authorization: Bearer $SWQOS_API_KEY" \
-H 'Content-Type: application/json' \
-d "{\"transaction\":\"$TRANSACTION_BASE64\"}"The host is the store’s own. Customers never see ours.
One hop from your customer to the leader.
- 01Customer signs
They sign locally and keep their private keys. Only the signed bytes leave their machine.
- 02Your address
The bytes go to your store's own send address with an API key. The host is yours, never ours.
- 03The relay
The envelope is checked, one send is charged, and the exact bytes are forwarded over staked connections.
- 04The leader
One hop to the block producer. If it does not land, the whole charge goes back to the customer.
A receipt means the signed bytes were accepted for forwarding. Whether they landed on chain is reported separately, in the customer’s transaction register.
Prepaid in SOL. No card, no subscription.
Plan fees go through your normal checkout. SWQoS never appears on that invoice: customers fund a balance from their own dashboard, for as much as they want.
- 01Open the tab
Customers find SWQoS under Projects in your dashboard and receive an API key.
- 02Deposit SOL
They send SOL from any wallet to the deposit address, with their own memo attached.
- 03Credit on finality
The balance is credited once the deposit is finalized on chain. The memo is the only thing that credits an account.
- 04Spend it down
Each send draws one send from the balance, shown in sends and in SOL at your price.
What is charged, and what is not.
This is the billing boundary your customers get. A send that does not land costs them nothing.
- Accepted and forwarded
One send at your price, held while landing is checked.
- It lands
The hold becomes final.
- It does not land
The full charge returns to the customer's balance.
- Forwarding fails
Charged, then reversed automatically.
- Duplicate signature within 90 seconds
Not charged.
- Invalid transaction envelope
Not charged.
- Unknown or invalid API key
Not charged.
- Disabled account, or insufficient balance
Not charged, and refused immediately.
You keep 90% of the margin.
Wholesale cost is 0.00015 SOL per send. Stores start at 0.0002 SOL and can charge anything from the floor up. NodeShop takes 10% of what you add above cost, and nothing on the cost itself.
- Wholesale cost
- What the relay charges NodeShop
- NodeShop, 10% of margin
- Margin is 0.00005 SOL
- You, 90% of margin
- Recorded on every deposit
- 0.05002500.011250.00125
- 0.10005000.02250.0025
- 0.50002,5000.11250.0125
- 1.00005,0000.22500.0250
At 0.0002 SOL per send. Your share is fixed when the deposit finalizes, so a later price change never rewrites an earlier deposit.
Work out what you would earn
Counts landed sends. Sends that do not land are refunded to the customer and earn nothing for anyone.
- Customers pay
- 20.0000 SOL
- Wholesale cost
- 15.0000 SOL
- NodeShop share, 10% of margin
- 0.5000 SOL
- You keep, 90% of margin
- 4.5000 SOL
Per send you keep 0.000045 SOL. NodeShop covers cost first, then takes 10% of the 0.00005 SOL margin.
An address for every store.
The send address follows your storefront, so your customers see your name and never ours. Certificates are issued automatically.
- Your NodeShop address
- send-acme.site.nodeshop.app
Live as soon as your store is. No DNS to touch.
- Your own domain
- send.acme.com
Available once your custom domain is connected.
Errors your customers will see.
Every refusal is explicit. Nothing is queued and nothing is silently dropped.
The transaction is not valid base64.
The envelope is malformed or over 1,232 bytes.
A field is missing or malformed.
No Bearer credential was sent.
The key could not be decoded.
The balance is empty. Deposit and try again.
The account is switched off. Contact the store.
The same signature is already in flight.
Retry with backoff. Nothing was charged.
Retry. Any charge is reversed automatically.
Questions about SWQoS
What do I have to run?
Nothing. The relay, the send address, the balances and the deposit tracking are ours. You set a price and your customers do the rest.
What does it cost me?
0.00015 SOL for each send that is charged, and only then. If nobody sends, you owe nothing.
How is my share worked out?
On every finalized deposit, the part above wholesale cost is split 90 / 10. Your share is recorded with the deposit and shown in your console, fixed at the price in force when it arrived.
Can I sell below cost?
No. The floor is 0.00015 SOL per send and the console refuses anything under it. At the floor you earn nothing and neither do we.
Does it change my customers' transactions?
No. The exact bytes they submit are forwarded. Nothing is added, re-signed or reordered, so the signature in their receipt always matches what they built.
Does an accepted receipt mean the transaction landed?
No. It means the bytes were accepted for forwarding. Landing is tracked separately and shown in the customer's transaction register.
Which address do my customers use?
Your own: send-yourstore.site.nodeshop.app by default, or send.yourdomain.com once you connect a custom domain. Certificates are issued for you.
Can I turn it off?
Yes. It is on for every new store and one switch in your console removes it from your storefront and your customers' dashboards.