Shreds and HyperShreds API

Add, verify, list and remove Shreds and HyperShreds UDP destinations with your API key.

Shreds and HyperShreds deliver raw Solana shreds to an IPv4 address and UDP port that you control. You manage the destinations with a small HTTPS API, authenticated with the same API key you use for RPC.

ProductWhat it isIncluded with
ShredsRaw shreds over UDP.1 destination on Ultra
HyperShredsThe same shreds on our lower-latency delivery.1 destination on Max, 2 on Enterprise

You can add more of either at any time. HyperShreds is $250 a month per destination ($2,500 a year), and extra Shreds destinations are $100 a month ($1,000 a year). Contact support to buy an add-on or to change the number of destinations on your account.

Base URL and authentication

https://shreds.mainnet.solana.nolimitnodes.com

Send your API key in the x-api-key header. Requests are rate limited by your plan (5 requests per second on Pro, Ultra and Max, 10 on Enterprise).

See what you can use

curl -s https://shreds.mainnet.solana.nolimitnodes.com/v1/shreds \  -H "x-api-key: $NLN_API_KEY"

The response lists your allowance and usage for each product, and your current destinations:

{  "entitlements": {    "shreds": { "allowed": 1, "used": 0 },    "hypershreds": { "allowed": 0, "used": 0 }  },  "destinations": []}

Add a destination

curl -s -X POST https://shreds.mainnet.solana.nolimitnodes.com/v1/shreds/destinations \  -H "x-api-key: $NLN_API_KEY" \  -H "content-type: application/json" \  -d '{"class": "hypershreds", "ip": "203.0.113.10", "port": 20000, "label": "trading box"}'
FieldValue
classshreds or hypershreds
ipA public IPv4 address that you control
portA UDP port from 1024 to 65535
labelOptional name for your own reference

The destination is created as pending. We send one UDP packet to the address, in the form SHREDCAST-VERIFY <id> <token>, to prove that you control it.

Verify it

Listen on the port, read the token from the packet, and send it back:

# on the receiving machinenc -u -l 20000 # thencurl -s -X POST https://shreds.mainnet.solana.nolimitnodes.com/v1/shreds/destinations/$ID/verify \  -H "x-api-key: $NLN_API_KEY" \  -H "content-type: application/json" \  -d '{"token": "<token from the packet>"}'

The destination becomes active and delivery starts. If the packet did not arrive, check your firewall and resend it:

curl -s -X POST https://shreds.mainnet.solana.nolimitnodes.com/v1/shreds/destinations/$ID/challenge \  -H "x-api-key: $NLN_API_KEY"

Remove a destination

curl -s -X DELETE https://shreds.mainnet.solana.nolimitnodes.com/v1/shreds/destinations/$ID \  -H "x-api-key: $NLN_API_KEY"

Delivery stops and the slot is free to use again.

Errors

StatusMeaning
400The class, address or port is not valid.
401No API key was sent.
403The account is disabled, has no Shreds or HyperShreds allowance, or the allowance is already used.
404That destination does not belong to your account.
502Delivery could not be reached. Try again shortly.

What happens when your account changes

  • If your account is disabled or its plan ends, your destinations are paused automatically.
  • If your allowance goes down, for example after a downgrade or when an add-on ends, the newest destinations beyond the new allowance are paused. They resume on their own when the allowance returns.
  • A pause that we place cannot be undone from the API.