Query 12,000+ Evernode hosts filtered by reputation, instances, balance, country and more. Updated in real-time via heartbeat subscriptions to the Xahau ledger.
No authentication required. All endpoints return JSON. CORS enabled for browser requests.
Returns a paginated list of hosts matching the specified filters. All parameters optional. Defaults: minXah=5, minEvr=5. Responses include total, hasMore, nextOffset and prevOffset pagination fields.
| Parameter | Type | Default | Description |
|---|---|---|---|
| active | boolean | — | Filter by active status |
| minSlots / maxSlots | integer | — | Available instances range |
| minRep / maxRep | integer | — | Reputation score range (0–255) |
| includeUnscored | boolean | false | Include hosts with rep=0 |
| minXah | number | 5 | Minimum XAH balance |
| minEvr | number | 5 | Minimum EVR balance |
| minLease / maxLease | integer | — | Lease price range in drops |
| country | string | — | 2-letter ISO country code (DE, FR, JP...) |
| domain | string | — | Partial domain match |
| version | string | — | Sashimono version (1.0.0, 0.12.1...) |
| minRam / minDisk | integer | — | Minimum RAM (MB) or disk (MB) |
| isATransferer | integer | — | 0=exclude hosts in transfer mode, 1=only transferring hosts |
| reputedOnHeartbeat | boolean | — | true=only hosts actively being reputation-tested |
| minAccumulatedReward | number | — | Minimum lifetime EVR rewards earned |
| hasDescription | boolean | — | true=only hosts with a description set, false=only hosts without |
| hasEmail | boolean | — | true=only hosts with an email set, false=only hosts without |
| hasDomain | boolean | — | true=only hosts with a domain set, false=only hosts without |
| description_like | string | — | Partial match on description field |
| hostingType | string | — | cloud, dedicated, vps, residential, unknown |
| asnOrg | string | — | Partial match on ASN organisation name e.g. OVH, Hetzner, Contabo |
| includeFlagged | boolean | false | Include flagged/reported hosts in results |
| fields | string | — | Comma-separated list of fields to return e.g. address,domain,hostReputation |
| sort | string | — | Shorthand sort e.g. sort=hostReputation:desc (alternative to sortBy + sortDir) |
| sortBy | string | hostReputation | hostReputation, availableInstances, leaseDrops, xahBalance, evrBalance, ramMb, diskMb, lastHeartbeatIndex, registrationTimestamp, accumulatedReward, lastUpdated |
| sortDir | string | desc | asc or desc |
| limit / offset | integer | 100 / 0 | Pagination |
Search across domain, email and description fields. Returns hosts sorted by reputation. At least one of q, hasDescription or description_like is required.
| Parameter | Type | Default | Description |
|---|---|---|---|
| q | string | — | Search term (min 2 chars) — matches domain, email and description. Optional if hasDescription or description_like provided. |
| hasDescription | boolean | — | true=only hosts with a description set |
| description_like | string | — | Partial match on description only |
| active | boolean | — | Filter by active status |
| fields | string | — | Comma-separated fields to return |
| limit | integer | 50 | Max results (up to 200) |
Returns active hosts that have not sent a heartbeat within the specified number of hours.
| Parameter | Type | Default | Description |
|---|---|---|---|
| hours | integer | 24 | Silence threshold in hours |
| fields | string | — | Comma-separated fields to return |
| limit | integer | 50 | Max results (up to 200) |
Fetch full data for multiple hosts in a single request, returned in the same order as requested. Max 20 addresses.
| Parameter | Type | Default | Description |
|---|---|---|---|
| addresses | string | — | Comma-separated XRPL addresses (max 20) |
| fields | string | — | Comma-separated fields to return |
Returns the top N active hosts ranked by the specified metric.
| Parameter | Type | Default | Description |
|---|---|---|---|
| metric | string | hostReputation | hostReputation, accumulatedReward, xahBalance, evrBalance, ramMb, diskMb, availableInstances |
| fields | string | — | Comma-separated fields to return |
| limit | integer | 20 | Number of results (max 100) |
Fetch data for up to 100 hosts in a single POST. Body must be JSON with an addresses array. Optionally include a fields array to limit returned fields.
Returns complete data for a single host by XRPL address.
| Parameter | Type | Default | Description |
|---|---|---|---|
| fields | string | — | Comma-separated fields to return |
Returns a time-series of heartbeat snapshots capturing reputation, slots, balances and lease price over time. History accumulates from API v1.2.0 onwards. Supports pagination.
| Parameter | Type | Default | Description |
|---|---|---|---|
| limit | integer | 100 | Number of snapshots to return (max 500) |
| offset | integer | 0 | Pagination offset |
Submit a community report for a host. Reports are scored by severity and contribute to a host's reportScore. When the score reaches 3, the host is automatically flagged and excluded from default results. One report per IP per host per 24 hours. Body must be JSON.
| Body field | Type | Required | Description |
|---|---|---|---|
| category | string | yes | peer_port_broken (1), instance_unreachable (1), slow_provision (1), bad_peering (2), fake_specs (2), security_issue (3), other (1) — number is severity weight |
| reason | string | yes | Description of the issue (min 10 chars, max 500) |
| evidence | string | no | URL, tx hash, or log excerpt (max 1000 chars) |
Returns all community reports submitted for a specific host, along with the current reportScore, flagged status, and the score threshold required for flagging. Reporter IPs are not exposed.
Returns all hosts that have been flagged — either by community reports reaching the score threshold, or directly by an admin. Ordered by report score descending.
| Parameter | Type | Default | Description |
|---|---|---|---|
| fields | string | — | Comma-separated fields to return |
| limit / offset | integer | 100 / 0 | Pagination |
Returns the list of valid report categories, their severity weights, the score threshold for auto-flagging, and the rolling window in days. Use this to populate submission forms.
Returns a randomly selected set of hosts matching the given filters. Useful for load distribution without client-side shuffling.
| Parameter | Type | Default | Description |
|---|---|---|---|
| count | integer | 10 | Number of random hosts to return (max 200) |
| minRep | integer | — | Minimum reputation score |
| minSlots | integer | — | Minimum available slots |
| country | string | — | Filter by country code |
| active | boolean | true | Filter by active status |
| fields | string | — | Comma-separated fields to return |
Returns all ASN providers with host counts, available slots, average reputation, share of active hosts, and flagged host count. Also returns a hosting-type breakdown and an HHI (Herfindahl-Hirschman Index) concentration score. Requires the GeoLite2-ASN database to be loaded — unenriched hosts are excluded.
| Parameter | Type | Default | Description |
|---|---|---|---|
| active | boolean | true | Set to false to include inactive hosts in counts |
HHI interpretation: below 1,500 = competitive · 1,500–2,500 = moderately concentrated · above 2,500 = highly concentrated.
Returns all countries with registered hosts, including total host count, active host count and available slots per country.
Returns all active Sashimono versions with host counts.
Network-wide statistics: total and active host counts, available slots, average reputation and balances, top countries, version distribution and count of hosts with descriptions.
Returns API status, host count, history snapshot count, last full scan timestamp and whether a scan is currently in progress.
Common queries shown in curl, browser fetch, and Node.js. All examples target https://api.onledger.net
Build a query and see the live response directly from the API. For advanced filtering see the full endpoint reference above.
Every host object returned by the API contains the following fields. Use the fields parameter on any endpoint to limit which fields are returned.
Host distribution by infrastructure provider, derived from IP→ASN lookup. Useful for assessing decentralisation risk — a network where one provider hosts the majority of nodes is vulnerable to that provider's outages, policy changes, or legal pressures.
Help the community by reporting hosts with broken ports, fake specs, security issues, or other problems. Reports are scored by severity — a cumulative score of 3 or more excludes the host from default search results. One report per IP per host per 24 hours.