Skip to content

Rank plan nodes by historical reliability before handing them to the agent #15

@superpios

Description

@superpios

Hi, really nice work on x402.sentinel.co. The one-request-to-connect flow is clean,
and provisioning + fee-grant in one atomic step is elegant.

One thing I noticed: the provisioning response returns nodeAddress plus the full
nodes[] list, and the agent picks from there. But the list is raw — it tells the
agent which nodes exist, not which ones are dependable over time. An agent that
connects to a node which has been online ~1% of the time burns its session.

I run a small read-only oracle that has been collecting per-node uptime history for
months (currently ~1500 active Sentinel nodes, with historical records going back
weeks). It exposes a /rank endpoint: give it a list of node addresses, it returns
them ordered by a historical trust score, with a "best" pick.

It's live and free to try:

GET http://93.93.119.77:8088/rank?nodes=ADDR1,ADDR2,ADDR3

(also /trust, /sybil, /receipt for single-node queries; /llms.txt describes it)

Two ways this could be useful, no pressure either way:

Agents using your flow could call /rank on the returned nodes[] themselves to
pick the most reliable node — I can document that pattern.
If useful, the server could optionally sort nodeAddress by reliability before
returning it, so the default pick is the most dependable node in the plan rather
than an arbitrary one. Happy to share the scoring logic or contribute a PR.

The data is the part that's hard to replicate — it can only be accumulated over time,
not fetched on demand. Glad to collaborate if it's helpful to the ecosystem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions