2s.io
https://2s.io/api/space/observeShares a payout wallet with 441 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.
Compute where any asteroid or comet is in the sky and whether you can see it. Give a body (designation/number/name, e.g. "433 Eros", "Ceres", "2024 YR4") and optionally your lat/lon and a time (ISO, default now). Returns the body's identity (NEO/PHA flags, orbit class, absolute magnitude H), its geocentric right ascension + declination, the constellation it's in, geocentric + heliocentric distance (AU), solar phase angle, and its apparent visual magnitude (IAU H-G model — how bright it appears now). With lat/lon it adds altitude/azimuth, whether it's above your horizon, a visible-now flag (up AND sky dark), and the best viewing window in the next 24 hours (when it's highest during darkness). Orbital position is computed locally from JPL elements — VALIDATED against JPL Horizons to <0.1 arcminute. Stargazing, astrophotography planning, occultation/observation prep. For the body's static physical + orbital params see /api/space/body.
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
100.0% avgResponse time
p50 59ms · p95 271msData table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 8/15/2026, 12:00:00 PM | 100% | 1 | 73ms |
| 8/15/2026, 1:00:00 PM | 100% | 1 | 59ms |
| 8/15/2026, 2:00:00 PM | 100% | 1 | 54ms |
| 8/15/2026, 3:00:00 PM | 100% | 1 | 72ms |
| 8/15/2026, 4:00:00 PM | 100% | 1 | 94ms |
| 8/15/2026, 5:00:00 PM | 100% | 1 | 111ms |
| 8/15/2026, 7:00:00 PM | 100% | 1 | 53ms |
| 8/15/2026, 8:00:00 PM | 100% | 1 | 78ms |
| 8/15/2026, 9:00:00 PM | 100% | 1 | 53ms |
| 8/15/2026, 10:00:00 PM | 100% | 1 | 46ms |
| 8/15/2026, 11:00:00 PM | 100% | 1 | 73ms |
| 8/16/2026, 12:00:00 AM | 100% | 1 | 60ms |
| 8/16/2026, 2:00:00 AM | 100% | 1 | 69ms |
| 8/16/2026, 3:00:00 AM | 100% | 1 | 56ms |
| 8/16/2026, 4:00:00 AM | 100% | 1 | 63ms |
| 8/16/2026, 5:00:00 AM | 100% | 1 | 56ms |
| 8/16/2026, 6:00:00 AM | 100% | 1 | 48ms |
| 8/16/2026, 7:00:00 AM | 100% | 1 | 59ms |
| 8/16/2026, 9:00:00 AM | 100% | 1 | 47ms |
| 8/16/2026, 10:00:00 AM | 100% | 1 | 51ms |
| 8/16/2026, 11:00:00 AM | 100% | 1 | 83ms |
| 8/16/2026, 12:00:00 PM | 100% | 1 | 72ms |
| 8/16/2026, 1:00:00 PM | 100% | 1 | 51ms |
| 8/16/2026, 2:00:00 PM | 100% | 1 | 54ms |
| 8/16/2026, 4:00:00 PM | 100% | 1 | 132ms |
| 8/16/2026, 5:00:00 PM | 100% | 1 | 70ms |
| 8/16/2026, 6:00:00 PM | 100% | 1 | 54ms |
| 8/16/2026, 7:00:00 PM | 100% | 1 | 59ms |
| 8/16/2026, 8:00:00 PM | 100% | 1 | 51ms |
| 8/16/2026, 9:00:00 PM | 100% | 1 | 48ms |
| 8/16/2026, 11:00:00 PM | 100% | 1 | 51ms |
| 8/17/2026, 12:00:00 AM | 100% | 1 | 63ms |
| 8/17/2026, 1:00:00 AM | 100% | 1 | 260ms |
| 8/17/2026, 2:00:00 AM | 100% | 1 | 66ms |
| 8/17/2026, 3:00:00 AM | 100% | 1 | 133ms |
| 8/17/2026, 4:00:00 AM | 100% | 1 | 58ms |
| 8/17/2026, 6:00:00 AM | 100% | 1 | 43ms |
| 8/17/2026, 7:00:00 AM | 100% | 1 | 49ms |
| 8/17/2026, 8:00:00 AM | 100% | 1 | 70ms |
| 8/17/2026, 9:00:00 AM | 100% | 1 | 48ms |
| 8/17/2026, 10:00:00 AM | 100% | 1 | 67ms |
| 8/17/2026, 11:00:00 AM | 100% | 1 | 58ms |
| 8/17/2026, 1:00:00 PM | 100% | 1 | 56ms |
| 8/17/2026, 2:00:00 PM | 100% | 1 | 95ms |
| 8/17/2026, 3:00:00 PM | 100% | 1 | 269ms |
| 8/17/2026, 4:00:00 PM | 100% | 1 | 67ms |
| 8/17/2026, 5:00:00 PM | 100% | 1 | 91ms |
| 8/17/2026, 6:00:00 PM | 100% | 1 | 49ms |
| 8/17/2026, 8:00:00 PM | 100% | 1 | 64ms |
| 8/17/2026, 9:00:00 PM | 100% | 1 | 68ms |
| 8/17/2026, 10:00:00 PM | 100% | 1 | 59ms |
| 8/17/2026, 11:00:00 PM | 100% | 1 | 53ms |
| 8/18/2026, 12:00:00 AM | 100% | 1 | 91ms |
| 8/18/2026, 1:00:00 AM | 100% | 1 | 54ms |
| 8/18/2026, 3:00:00 AM | 100% | 1 | 46ms |
| 8/18/2026, 4:00:00 AM | 100% | 1 | 64ms |
| 8/18/2026, 5:00:00 AM | 100% | 1 | 53ms |
| 8/18/2026, 6:00:00 AM | 100% | 1 | 58ms |
| 8/18/2026, 7:00:00 AM | 100% | 1 | 61ms |
| 8/18/2026, 8:00:00 AM | 100% | 1 | 69ms |
| 8/18/2026, 10:00:00 AM | 100% | 1 | 272ms |
| 8/18/2026, 11:00:00 AM | 100% | 1 | 64ms |
| 8/18/2026, 12:00:00 PM | 100% | 1 | 70ms |
| 8/18/2026, 1:00:00 PM | 100% | 1 | 61ms |
| 8/18/2026, 2:00:00 PM | 100% | 1 | 58ms |
| 8/18/2026, 3:00:00 PM | 100% | 1 | 142ms |
| 8/18/2026, 5:00:00 PM | 100% | 1 | 57ms |
| 8/18/2026, 6:00:00 PM | 100% | 1 | 57ms |
| 8/18/2026, 7:00:00 PM | 100% | 1 | 46ms |
| 8/18/2026, 8:00:00 PM | 100% | 1 | 203ms |
| 8/18/2026, 9:00:00 PM | 100% | 1 | 56ms |
| 8/18/2026, 10:00:00 PM | 100% | 1 | 229ms |
| 8/19/2026, 12:00:00 AM | 100% | 1 | 70ms |
| 8/19/2026, 1:00:00 AM | 100% | 1 | 259ms |
| 8/19/2026, 2:00:00 AM | 100% | 1 | 52ms |
| 8/19/2026, 3:00:00 AM | 100% | 1 | 145ms |
| 8/19/2026, 4:00:00 AM | 100% | 1 | 55ms |
| 8/19/2026, 5:00:00 AM | 100% | 1 | 67ms |
| 8/19/2026, 7:00:00 AM | 100% | 1 | 56ms |
| 8/19/2026, 8:00:00 AM | 100% | 1 | 55ms |
| 8/19/2026, 9:00:00 AM | 100% | 1 | 52ms |
| 8/19/2026, 10:00:00 AM | 100% | 1 | 79ms |
| 8/19/2026, 11:00:00 AM | 100% | 1 | 79ms |
| 8/19/2026, 12:00:00 PM | 100% | 1 | 73ms |
| 8/19/2026, 2:00:00 PM | 100% | 1 | 62ms |
| 8/19/2026, 3:00:00 PM | 100% | 2 | 50ms |
| 8/19/2026, 4:00:00 PM | 100% | 1 | 63ms |
| 8/19/2026, 5:00:00 PM | 100% | 1 | 56ms |
| 8/19/2026, 6:00:00 PM | 100% | 1 | 54ms |
| 8/19/2026, 7:00:00 PM | 100% | 1 | 54ms |
| 8/19/2026, 8:00:00 PM | 100% | 1 | 53ms |
| 8/19/2026, 10:00:00 PM | 100% | 1 | 58ms |
| 8/19/2026, 11:00:00 PM | 100% | 1 | 48ms |
| 8/20/2026, 12:00:00 AM | 100% | 1 | 54ms |
| 8/20/2026, 1:00:00 AM | 100% | 1 | 55ms |
| 8/20/2026, 2:00:00 AM | 100% | 1 | 67ms |
| 8/20/2026, 3:00:00 AM | 100% | 1 | 67ms |
| 8/20/2026, 5:00:00 AM | 100% | 1 | 55ms |
| 8/20/2026, 6:00:00 AM | 100% | 1 | 101ms |
| 8/20/2026, 7:00:00 AM | 100% | 1 | 43ms |
| 8/20/2026, 8:00:00 AM | 100% | 1 | 67ms |
| 8/20/2026, 9:00:00 AM | 100% | 1 | 282ms |
| 8/20/2026, 10:00:00 AM | 100% | 1 | 316ms |
| 8/20/2026, 12:00:00 PM | 100% | 1 | 641ms |
| 8/20/2026, 1:00:00 PM | 100% | 1 | 224ms |
| 8/20/2026, 2:00:00 PM | 100% | 1 | 64ms |
| 8/20/2026, 3:00:00 PM | 100% | 1 | 60ms |
| 8/20/2026, 4:00:00 PM | 100% | 1 | 313ms |
| 8/20/2026, 6:00:00 PM | 100% | 1 | 55ms |
| 8/20/2026, 7:00:00 PM | 100% | 1 | 61ms |
| 8/20/2026, 8:00:00 PM | 100% | 1 | 56ms |
| 8/20/2026, 10:00:00 PM | 100% | 1 | 60ms |
| 8/20/2026, 11:00:00 PM | 100% | 1 | 57ms |
| 8/21/2026, 12:00:00 AM | 100% | 1 | 54ms |
| 8/21/2026, 1:00:00 AM | 100% | 1 | 79ms |
| 8/21/2026, 2:00:00 AM | 100% | 1 | 70ms |
| 8/21/2026, 3:00:00 AM | 100% | 1 | 53ms |
| 8/21/2026, 4:00:00 AM | 100% | 1 | 59ms |
| 8/21/2026, 5:00:00 AM | 100% | 1 | 59ms |
| 8/21/2026, 7:00:00 AM | 100% | 1 | 61ms |
| 8/21/2026, 8:00:00 AM | 100% | 1 | 47ms |
| 8/21/2026, 9:00:00 AM | 100% | 1 | 58ms |
| 8/21/2026, 10:00:00 AM | 100% | 1 | 89ms |
| 8/21/2026, 11:00:00 AM | 100% | 2 | 48ms |
| 8/21/2026, 12:00:00 PM | 100% | 1 | 302ms |
| 8/21/2026, 2:00:00 PM | 100% | 1 | 65ms |
| 8/21/2026, 3:00:00 PM | 100% | 1 | 56ms |
| 8/21/2026, 4:00:00 PM | 100% | 1 | 104ms |
| 8/21/2026, 5:00:00 PM | 100% | 1 | 60ms |
| 8/21/2026, 6:00:00 PM | 100% | 1 | 52ms |
| 8/21/2026, 7:00:00 PM | 100% | 1 | 57ms |
| 8/21/2026, 8:00:00 PM | 100% | 1 | 275ms |
| 8/21/2026, 10:00:00 PM | 100% | 1 | 58ms |
| 8/21/2026, 11:00:00 PM | 100% | 1 | 62ms |
| 8/22/2026, 12:00:00 AM | 100% | 2 | 58ms |
| 8/22/2026, 1:00:00 AM | 100% | 1 | 49ms |
| 8/22/2026, 2:00:00 AM | 100% | 1 | 52ms |
| 8/22/2026, 3:00:00 AM | 100% | 1 | 301ms |
| 8/22/2026, 4:00:00 AM | 100% | 1 | 43ms |
| 8/22/2026, 5:00:00 AM | 100% | 1 | 259ms |
| 8/22/2026, 7:00:00 AM | 100% | 1 | 52ms |
| 8/22/2026, 8:00:00 AM | 100% | 1 | 64ms |
| 8/22/2026, 9:00:00 AM | 100% | 1 | 48ms |
| 8/22/2026, 10:00:00 AM | 100% | 1 | 49ms |
- Availability
- 100
- Latency
- 100
- Security
- 100
- Transparency
- 61
- Activity
- 1
How often it was reachable when we probed it (weight 35%).
How quickly it answers when it is up — fast scores high (weight 20%).
Whether it serves over working TLS / https (weight 15%).
Whether the operator disclosed what it does — description, schema, identity (weight 15%).
Observed on-chain payments to this endpoint's wallet — transactions, volume, and distinct paying wallets over the last month (weight 15%; not yet measured when we have not seen its wallet settle).
Confidence 100% — how much probe evidence backs this score. A thin history is flagged, not hidden.
See the scoring methodology for exactly how each number is computed.
Payment
- Currencies
- USDC
- Networks
- base, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
- Facilitator
- unknown
- SDK
- unknown
Operator
- Company
- inferred — unknown
- Jurisdiction
- —
- Registrar
- —
- Domain registered
- —
- Hosting network
- VERCEL-09
- Hosting country
- —
Operator context is derived from public RDAP/TLS records and unverified. Company and country are only available for endpoints that publish them (an OV/EV TLS certificate or a non-redacted domain record); most endpoints are CDN-fronted and disclose neither.
On-chain activity (base)
Payments per day
last payment 8/21/2026Data table
| Day | Payments | Volume (USD) | Paying wallets |
|---|---|---|---|
| 7/24/2026 | 1,232 | 2.49 | 117 |
| 7/25/2026 | 1,341 | 2.61 | 128 |
| 7/26/2026 | 915 | 1.98 | 107 |
| 7/27/2026 | 1,175 | 2.1 | 107 |
| 7/28/2026 | 762 | 1.71 | 86 |
| 7/29/2026 | 852 | 1.67 | 97 |
| 7/30/2026 | 818 | 1.74 | 97 |
| 7/31/2026 | 882 | 1.7 | 94 |
| 8/1/2026 | 633 | 1.24 | 82 |
| 8/2/2026 | 604 | 1.12 | 76 |
| 8/3/2026 | 358 | 1.6 | 47 |
| 8/4/2026 | 530 | 3.35 | 70 |
| 8/5/2026 | 408 | 2.76 | 42 |
| 8/6/2026 | 272 | 2.14 | 32 |
| 8/7/2026 | 164 | 1.37 | 23 |
| 8/8/2026 | 127 | 1.51 | 17 |
| 8/9/2026 | 60 | 0.33 | 10 |
| 8/10/2026 | 109 | 0.36 | 8 |
| 8/11/2026 | 84 | 0.25 | 8 |
| 8/12/2026 | 84 | 0.25 | 6 |
| 8/13/2026 | 73 | 0.21 | 6 |
| 8/14/2026 | 167 | 1.05 | 6 |
| 8/15/2026 | 24 | 0.1 | 4 |
| 8/16/2026 | 338 | 0.86 | 2 |
| 8/17/2026 | 63 | 0.18 | 3 |
| 8/18/2026 | 55 | 0.16 | 2 |
| 8/19/2026 | 84 | 0.23 | 3 |
| 8/20/2026 | 43 | 0.25 | 6 |
| 8/21/2026 | 22 | 0.1 | 5 |
This payout wallet is shared: figures cover all 442 endpoints paid at it, since payments cannot be attributed to one of them. Only payments settled on chains and facilitators we index.
Linked by wallet — likely same operator
On-chain agent identity and the x402 endpoint that shares its settlement wallet.
Response schema
{
"properties": {
"data": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"additionalProperties": false,
"properties": {
"at": {
"type": "string"
},
"body": {
"additionalProperties": false,
"properties": {
"absoluteMagnitudeH": {
"nullable": true,
"type": "number"
},
"fullName": {
"nullable": true,
"type": "string"
},
"neo": {
"nullable": true,
"type": "boolean"
},
"orbitClass": {
"nullable": true,
"type": "string"
},
"pha": {
"nullable": true,
"type": "boolean"
}
},
"required": [
"fullName",
"neo",
"pha",
"orbitClass",
"absoluteMagnitudeH"
],
"type": "object"
},
"observer": {
"additionalProperties": false,
"nullable": true,
"properties": {
"aboveHorizon": {
"type": "boolean"
},
"altitudeDeg": {
"type": "number"
},
"azimuthDeg": {
"type": "number"
},
"bestViewing": {
"additionalProperties": false,
"nullable": true,
"properties": {
"altitudeDeg": {
"type": "number"
},
"at": {
"type": "string"
}
},
"required": [
"at",
"altitudeDeg"
],
"type": "object"
},
"visibleNow": {
"type": "boolean"
}
},
"required": [
"altitudeDeg",
"azimuthDeg",
"aboveHorizon",
"visibleNow",
"bestViewing"
],
"type": "object"
},
"position": {
"additionalProperties": false,
"properties": {
"apparentMagnitude": {
"nullable": true,
"type": "number"
},
"constellation": {
"nullable": true,
"type": "string"
},
"declinationDeg": {
"type": "number"
},
"geocentricDistanceAu": {
"type": "number"
},
"heliocentricDistanceAu": {
"type": "number"
},
"phaseAngleDeg": {
"type": "number"
},
"rightAscensionHours": {
"type": "number"
}
},
"required": [
"rightAscensionHours",
"declinationDeg",
"constellation",
"geocentricDistanceAu",
"heliocentricDistanceAu",
"phaseAngleDeg",
"apparentMagnitude"
],
"type": "object"
}
},
"required": [
"body",
"at",
"position",
"observer"
],
"type": "object"
},
"type": "array"
},
"ok": {
"enum": [
true
],
"type": "boolean"
},
"source": {
"$ref": "#/components/schemas/Source"
},
"total": {
"description": "Total matching rows upstream; null when unknown.",
"nullable": true,
"type": "integer"
}
},
"required": [
"ok",
"items",
"total",
"source"
],
"type": "object"
},
"meta": {
"$ref": "#/components/schemas/CallMeta"
}
},
"required": [
"data",
"meta"
],
"type": "object"
}