High-speed RPC for your wallet
Public endpoints are shared, throttled and slow when the chain is busy. A plan gives you your own private endpoint for PulseChain, fast enough to leave in your wallet as the network you use every day.
See plans ↓Get a plan
Connect your wallet in the portal and buy a term. A key is minted with it.
Copy your RPC link
It is this address with your own key on the end of it.
https://api.pulsescanner.io/rpc/<your key>Paste it into your wallet as a network
Add a network by hand and fill in these five fields.
- Network name
- PulseChain
- New RPC URL
- https://api.pulsescanner.io/rpc/<your key>
- Chain ID
- 369
- Currency symbol
- PLS
- Block explorer URL
- https://pulsescanner.io
Done
Your wallet now reaches PulseChain through your own endpoint instead of a shared one.
For developers
Anything already written against the Etherscan-style HTTP API works here as a drop-in: the same module and action parameters, the same key conventions, the same response envelopes. Underneath it is a wider surface built for PulseChain — one envelope, keyset cursors, and figures this indexer computes rather than proxies.
73 operations · build 2.0.0-dev · read the docs
One endpoint, taking the same module and action parameters your client already sends. 29 action pairs across 7 modules, GET or form-encoded POST.
Base URL https://api.pulsescanner.io/api, with the key as the apikey query parameter — which is the parameter an existing client is already sending.
Every answer on this endpoint is HTTP 200, including refusals — a failure rides in the envelope. Branch on which key is present, never on the status code.
Three calls to copy
The current PLS price.
curl "https://api.pulsescanner.io/api?module=stats&action=plsprice&apikey=psk_…"
The height of the chain right now.
curl "https://api.pulsescanner.io/api?module=proxy&action=eth_blockNumber&apikey=psk_…"
The bytecode deployed at an address — empty for a wallet, non-empty for a contract.
curl "https://api.pulsescanner.io/api?module=proxy&action=eth_getCode&address=0x…&tag=latest&apikey=psk_…"
Three answers, all HTTP 200
{"jsonrpc":"2.0","id":1,"result":"0x…"} — the call returned
{"jsonrpc":"2.0","id":1,"error":{"code","message"}} — the node refused it — `execution reverted` arrives here
{"status":"0","message":"NOTOK","result":"…"} — the gateway refused it before the node saw anything (bad module or action, missing key)
Every pair the surface serves
account
- addresstokenbalance·Starter
- balance·Starter
- balancemulti·Starter
- tokenbalance·Starter
- tokentx·Starter
- txlist·Starter
- txlistinternal·Starter
block
- getblockcountdown·Starter
- getblocknobytime·Starter
- getblockreward·Starter
logs
- getlogs·Starter
proxy
- eth_blockNumber·Starter
- eth_call·Starter
- eth_estimateGas·Starter
- eth_gasPrice·Starter
- eth_getBalance·Starter
- eth_getBlockByNumber·Starter
- eth_getCode·Starter
- eth_getStorageAt·Starter
- eth_getTransactionByHash·Starter
- eth_getTransactionReceipt·Starter
- eth_sendRawTransaction·Starter
stats
- plsprice·Starter
- plssupply·Starter
token
- tokenholderlist·Lite
- tokeninfo·Starter
- tokensupply·Starter
transaction
- getstatus·Starter
- gettxreceiptstatus·Starter
66 operations this indexer computes rather than proxies, grouped by subject. Each line is the route and the publisher’s own one-line purpose for it.
Blocks and transactions
11GET /v2/blocksRecent blocks, newest firstGET /v2/blocks/{num}/rewardsOne block's fee recipient, gas use and burnt fees, with its consensus rewardGET /v2/blocks/{num}/txsTransactions in one blockGET /v2/head/blocksBlocks from the head preview lane, ahead of the indexed headGET /v2/head/blocks/{num}/txsTransactions in one head-lane block, ahead of the indexed headGET /v2/head/txs/{hash}One transaction from the head preview lane, ahead of the indexed headGET /v2/txs/{hash}One transaction: its status, value, gas and decoded actionGET /v2/txs/{hash}/internalInternal value transfers made by one transactionGET /v2/txs/{hash}/swapsDex swaps decoded from one transactionGET /v2/txs/{hash}/traceThe call tree of one transactionGET /v2/txs/{hash}/transfersToken transfers emitted by one transaction
Tokens, pools and markets
10GET /v2/pools/newPools registered most recentlyGET /v2/protocolsRegistered dex protocols and the factories they are discovered byGET /v2/swapsRecent dex swaps across every registered protocolGET /v2/tokens/newTokens seen most recentlyGET /v2/tokens/{addr}One token's metadata, supply and trust tierGET /v2/tokens/{addr}/ohlcOpen, high, low and close candles for one tokenGET /v2/tokens/{addr}/poolsEvery registered pool holding one tokenGET /v2/tokens/{addr}/priceOne token's current price, with the anchor it was priced againstGET /v2/tokens/{addr}/price/historyOne token's price over timeGET /v2/tokens/{addr}/transfersTransfers of one token, newest first
Token holders and pool statistics
2GET /v2/pools/{addr}/statsOne pool's tokens, fee tier, reserves and recent volumeGET /v2/tokens/{addr}/richlistThe largest holders of one token, ranked by balance
Wallet activity
5GET /v2/wallets/{addr}/bridgeBridge transfers made by one walletGET /v2/wallets/{addr}/summaryOne wallet's headline balances and activityGET /v2/wallets/{addr}/tradesDex trades made by one walletGET /v2/wallets/{addr}/txsTransactions involving one wallet, newest firstGET /v2/wallets/{addr}/validatorsValidators whose withdrawal address is this wallet
Wallet analytics
6GET /v2/wallets/{addr}/holdingsEvery token one wallet holds, with its current valueGET /v2/wallets/{addr}/networthOne wallet's current net worthGET /v2/wallets/{addr}/networth/historyOne wallet's net worth over timeGET /v2/wallets/{addr}/networth/replayOne wallet's net worth recomputed across a window, for chartingGET /v2/wallets/{addr}/positionsOne wallet's open liquidity positionsGET /v2/wallets/{addr}/positions/itemsThe individual items behind one wallet's liquidity positions
Consensus layer
9GET /v2/beacon/statsBeacon-chain totals: validator counts by status, participation, and the epoch they were read atGET /v2/epochsRecent beacon epochs and their participationGET /v2/slotsRecent beacon slots, including the ones no block was proposed forGET /v2/slots/{slot}One beacon slot: its proposer, block and statusGET /v2/validatorsValidators in index order, oldest first, optionally narrowed to one statusGET /v2/validators/entitiesValidators grouped by withdrawal address, or blocks grouped by the graffiti they carriedGET /v2/validators/missedValidators ranked by the proposals they missed inside a 1d/7d/30d/90d windowGET /v2/validators/slashedValidators that have been slashedGET /v2/validators/{idx}One validator: its status, balance and activation window
Search and network stats
2GET /v2/home/statsThe front page's headline numbers: PLS price and its 24-hour change, PLS burned, transaction count, and the block they were computed atGET /v2/searchResolve a query to a transaction, block, address, token, validator, slot or epoch
Account and keys
21GET /v2/accountThe signed-in account: its wallet, tier and current limitsGET /v2/account/entitlementsEvery entitlement on the signed-in account, with its tier, bonus and effective windowGET /v2/account/keysThe account's API keys by prefix and status; a key's secret is shown once at creation and never againPOST /v2/account/keysCreate an API key and return its secret onceDELETE /v2/account/keys/{id}Revoke an API keyGET /v2/account/listsThe account's address lists, each with its member countPOST /v2/account/listsCreate an address listDELETE /v2/account/lists/{id}Delete an address list and its membersGET /v2/account/lists/{id}One address list and its membersPATCH /v2/account/lists/{id}Rename an address listPOST /v2/account/lists/{id}/addressesAdd an address to a listDELETE /v2/account/lists/{id}/addresses/{address}Remove an address from a listPOST /v2/account/logoutEnd the current sessionGET /v2/account/pendingTier credits paid for by this wallet and not yet claimedPOST /v2/account/siwe/nonceIssue a single-use nonce for a Sign-In With Ethereum messagePOST /v2/account/siwe/verifyVerify a signed Sign-In With Ethereum message and open a sessionGET /v2/account/tagsThe account's private address labelsGET /v2/account/tags/lookupPrivate labels for a batch of addresses, for annotating a page the account is viewingDELETE /v2/account/tags/{address}Delete the account's private label for one addressPUT /v2/account/tags/{address}Create or replace the account's private label for one addressGET /v2/account/usageCall units and request counts for the signed-in account, by day and endpoint class
The complete list, with parameters and response schemas, is in /openapi.json.
Plans
| Plan | Starter$15 / month | Lite$49 / month | Standard$199 / month | Advanced$299 / month | Professional$399 / month |
|---|---|---|---|---|---|
| Rate and volume | |||||
| Requests per second | 3 | 5 | 10 | 20 | 30 |
| Call units (CU) per day | 100,000 | 100,000 | 200,000 | 500,000 | 1,000,000 |
| CU per month (daily × 30) | up to 3,000,000 | up to 3,000,000 | up to 6,000,000 | up to 15,000,000 | up to 30,000,000 |
| Endpoints | |||||
| Wallet JSON-RPC | included | included | included | included | included |
| Etherscan-compatible surface | included | included | included | included | included |
| Blocks and transactions | included | included | included | included | included |
| Tokens, pools and markets | included | included | included | included | included |
| Token holders and pool statistics | not included | included | included | included | included |
| Wallet activity | included | included | included | included | included |
| Wallet analytics | not included | included | included | included | included |
| Consensus layer | included | included | included | included | included |
| Search and network stats | included | included | included | included | included |
| Features | |||||
| On-demand tracing | not included | not included | not included | included | included |
| WebSocket connections | not included | 2 | 5 | 10 | 25 |
| Log query range | 5,000 blocks | 10,000 blocks | 10,000 blocks | 20,000 blocks | 50,000 blocks |
99% monthly uptime SLA: if the API's availability falls below 99% in a calendar month, the downtime is credited back to your plan at 2×, automatically.
A call unit (CU) is the API's metering unit; each endpoint costs a fixed number of units per request — see the cost list in the docs.
Every plan comes with an API key, and every data call travels with it. Starter covers the standard endpoint groups; Lite and up add the heavy ones.
Keyless: /health, /openapi.json, /v2/plans — plus the account routes the portal signs in with, since that is how a key is obtained. Everything else is a data call and carries a key.
Rate, volume and every endpoint mark on this table are read from the plan record and from each route's own minimum tier. The monthly prices are the published figures. The portal reads the tier table straight out of the billing contract at the moment you look at it, so the figure it charges is the contract's own — a number copied onto a page could only go stale.
Plans can be purchased on our IPFS portal
Get your key today →