Reference

REST API Reference

Every read route, its parameters, response shape, and a copy-paste curl.

All routes live under https://pluid.net/api/v1. Unless noted, a GET returns { result, slot, receipt } — the answer, the slot it was resolved at, and a signed proof-of-serve receipt. Errors return { error, message } with a 4xx/5xx status. Authentication is optional; see Authentication.

Response envelope
result is the data, slot is the freshness anchor, receipt is verifiable offline (Receipts). A few utility routes return a bespoke shape, called out below.

Network & Cluster

Current Slot

GET/api/v1/slot

Latest processed slot observed by the mesh.

bash
curl https://pluid.net/api/v1/slot

Epoch Info

GET/api/v1/epoch

Current epoch, slot index, slots-in-epoch, and absolute slot.

bash
curl https://pluid.net/api/v1/epoch

Health

GET/api/v1/health

Mesh read health. Returns { result } only — no slot or receipt.

bash
curl https://pluid.net/api/v1/health

Performance Samples

GET/api/v1/performance

Recent performance samples used to derive TPS and slot timing.

bash
curl https://pluid.net/api/v1/performance

Priority Fee

GET/api/v1/priority-fee

Recent prioritization-fee estimate for landing transactions promptly.

bash
curl https://pluid.net/api/v1/priority-fee

Network Snapshot

GET/api/v1/network

Composite live snapshot (slot, TPS, epoch, epoch progress, priority fee). Returns { result, slot }; this is the same payload pushed over the realtime global stats stream.

bash
curl https://pluid.net/api/v1/network

Accounts & Balances

Balance

GET/api/v1/balance/:addr
ParamTypeDescription
:addrbase58Account public key.
bash
curl https://pluid.net/api/v1/balance/5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9
json
{ "result": { "lamports": 4198320512 }, "slot": 296410233, "receipt": { "…": "…" } }

Account Info

GET/api/v1/account/:addr
ParamTypeDescription
:addrbase58Account public key. Returns parsed account info.
bash
curl https://pluid.net/api/v1/account/5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9

Token Accounts

GET/api/v1/token-accounts/:owner
ParamTypeDescription
:ownerbase58Owner public key.
mintquery, base58Optional. Filter to a single mint. Omit for all token accounts.
bash
curl "https://pluid.net/api/v1/token-accounts/5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9?mint=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"

Address History

GET/api/v1/address/:addr/history
ParamTypeDescription
:addrbase58Account public key.
beforequery, signatureOptional cursor — return activity before this signature.
typequeryOptional. Set to transfers for parsed transfer rows; omit for signature history.
bash
curl "https://pluid.net/api/v1/address/5tzFki…uAi9/history?type=transfers"

Portfolio

GET/api/v1/address/:addr/portfolio
ParamTypeDescription
:addrbase58Owner public key. Returns SOL + token holdings with valuations.
bash
curl https://pluid.net/api/v1/address/5tzFki…uAi9/portfolio

Explorer

Block

GET/api/v1/block/:slot
ParamTypeDescription
:slotintSlot number. Returns block detail (blockhash, parent, time, tx summary).
bash
curl https://pluid.net/api/v1/block/296410233

Transaction

GET/api/v1/tx/:sig
ParamTypeDescription
:sigbase58Transaction signature.
enhancedqueryOptional. Set to 1 to also include a parsed/enhanced view as enhanced.
bash
curl "https://pluid.net/api/v1/tx/4Nd1mB…?enhanced=1"

Token

GET/api/v1/token/:mint
ParamTypeDescription
:mintbase58Mint address. Returns supply, decimals, and metadata.
bash
curl https://pluid.net/api/v1/token/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

Token Holders

GET/api/v1/token/:mint/holders
ParamTypeDescription
:mintbase58Mint address.
pagequery, int1-based page number. Defaults to 1.
bash
curl "https://pluid.net/api/v1/token/EPjFWd…TDt1v/holders?page=2"
GET/api/v1/search

Resolve an arbitrary query — address, mint, signature, slot, or .sol domain — to its canonical explorer target.

ParamTypeDescription
qqueryThe raw search string to classify and resolve.
bash
curl "https://pluid.net/api/v1/search?q=296410233"

Utility

Public Key

GET/api/v1/pubkey

The ed25519 public key used to sign receipts. Returns { publicKey, algorithm } — no envelope. Pin or fetch this to verify receipts.

bash
curl https://pluid.net/api/v1/pubkey
json
{ "publicKey": "7c0a…ff", "algorithm": "ed25519" }

RPC Passthrough

POST/api/v1/rpc

Call an allow-listed read method directly. Body is { method, params }; the response is { result }. Only read methods are accepted — any write or transaction-submitting method is rejected.

FieldTypeDescription
methodstringAn allow-listed read method (see list below).
paramsarrayPositional parameters for the method.
bash
curl -X POST https://pluid.net/api/v1/rpc \
  -H "content-type: application/json" \
  -d '{ "method": "getTokenSupply", "params": ["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"] }'

Allow-listed methods:

text
getBalance              getAccountInfo          getMultipleAccounts
getSlot                 getEpochInfo            getHealth
getVersion              getClusterNodes         getBlockProduction
getRecentPerformanceSamples                     getRecentPrioritizationFees
getTokenAccountsByOwner getTokenAccountBalance  getTokenSupply
getTokenLargestAccounts getBlock                getBlockTime
getBlockHeight          getTransaction          getSignaturesForAddress
getLatestBlockhash
Read-only by design
The allow-list is the security boundary. Methods that send transactions or mutate state are never exposed — Pluid is a read layer only.

Explain a Transaction

POST/api/v1/explain

Generate a one or two sentence plain-English summary of a transaction. Body is { tx, logs? }; the response is { explanation }.

bash
curl -X POST https://pluid.net/api/v1/explain \
  -H "content-type: application/json" \
  -d '{ "tx": { /* parsed transaction */ } }'