x402 merchant
geoprimitives$0.005 / callapi.geoprimitives.dev ↗
MarineDepthNauticalNoaa-encAlaska

Give it a latitude and longitude and it answers with what the nautical chart says about the water there: the depth range of the charted depth area containing the position, the nearest charted sounding and how far away it is, and the chart's own zone of confidence for that area. Parameters go in the query string: this is a GET, there is no body. NOT FOR NAVIGATION, stated first because it is a condition of using the source. This is derived from NOAA Electronic Navigational Charts and redistributed; it is not an official NOAA ENC and does not meet federal chart carriage regulations under 33 CFR 164 or SOLAS chapter V, which only charts from NOAA or a certified NOAA ENC distributor do. Every response repeats this under `disclaimer`. NOAA and NOAA ENC are registered trademarks of NOAA, which does not endorse this service. COVERAGE is 65 NOAA ENC cells of usage bands 3, 4 and 5 over five working areas of southeast and southcentral Alaska: Sitka Sound; Kasaan Bay and Clarence Strait; Metlakatla, Ketchikan and Revillagigedo Channel; Juneau, Gastineau Channel and Lynn Canal; and Cordova with eastern Prince William Sound. It is not statewide, it is not the whole coast, and the small-scale cells that would make it look wider were deliberately left out. The coverage check reads the coordinate, so it runs in the handler after payment rather than in front of the 402: a position off the charts is quoted like any other and then refused with outside_coverage. A refusal does not settle and nothing is charged, but it costs a signature and a round trip, so check the coverage first. Every response repeats it under `coverage`. NOTHING IS INTERPOLATED, and that is the difference between this and GET /v1/elevation. Terrain is a continuous surface and sampling it between pixels is legitimate; a chart is a set of assertions a hydrographer made, and averaging two of them invents a depth nobody surveyed. So `depthAreaMinimum` is DRVAL1 of the charted depth area the position falls inside, the shoalest depth that area is guaranteed to hold, and `nearestSounding` is a real charted sounding with the geodesic distance to it. The two routinely disagree and are meant to: a sounding is a measurement at a point and the area is a guarantee over a region. The guarantee is the number to navigate a plan by; the sounding tells you how the area was arrived at. WHICH CHART ANSWERS: ENC cells overlap on purpose, so a position in Sitka sits on a 1:12,000 harbour cell, a 1:45,000 approach cell and a 1:180,000 coastal cell at once, and they do not agree because the smaller scales generalise. The largest-scale cell covering the position wins outright, usage band first and then compilation scale, which is the rule an ECDIS follows. The response names the cell, its band, its scale, its edition and its NOAA issue date, and lists any cell it consulted first that charted no depth area there. SURVEY QUALITY is on every answer as the chart's CATZOC zone of confidence, with the position and depth accuracy that zone implies, and the survey start and end dates when the chart gives them. Read it before you trust a depth. NOAA's own warning applies to all of it: much of the depth information on NOAA charts is from surveys conducted before 1940 and the shoreline is more than 20 years old. Zone A1 is a modern full-coverage survey; zone D or U means the chart is telling you it does not know. DATUMS: depths are metres below Mean Lower Low Water, which is the US chart datum, so a real depth at a real moment is this number plus the tide. Heights on the same charts are above Mean High Water. Positions are WGS 84. Reproject with POST /v1/transform if you are in State Plane or NAD27; the datum shift matters here, since a NAD27 Alaskan position is over a hundred metres from its WGS 84 one. VINTAGE: the charts are a snapshot taken on 2026-05-02. NOAA reissues ENCs weekly for Notice to Mariners and this store does not follow them, so a cell here can be behind NOAA's current edition. The cell edition, update number and issue date that answered are in `source` for exactly that comparison. REFUSALS that cost nothing: a position with no charted depth area is `no_depth_area`, which means land, a drying area the chart gives no depth for, or a gap between cells, and it is refused rather than answered with null. A position off the charts is `outside_coverage`. A chart object that cannot be read is a 503, not a guess. For what is in the way rather than how deep it is, use GET /v1/marine/hazards, which returns charted rocks, obstructions and wrecks within a radius.

MerchantReport

0x76a5…8fce

0x76a51b5dd3729950b3b60c17f19252d221968fceExplorer
Received
$6.85↓ 14%
Last 7d vs prior 7d
Paid out
$0.00
Last 7d vs prior 7d
Settlements
1369↓ 14%
Last 7d vs prior 7d
30
Distinct counterparties
Over the whole indexed history

Received $6.85 of the $3067.84M Roundhouse has indexed across 1,401,919 wallets — less than 0.0001% of it.

Chains (from the recent scan): Base (1000)

Funds flow over time

Activity

MayJunJulAugSepOctNov
LessMore

One square per day; click a day to see its settlements in the ledger.

Frequent counterparties

CounterpartySent to themReceived from themSettlementsLast
0xf82d…55f6$0.00$4.639274h agoGraph
0x72c5…159b$0.00$0.04717d agoGraph
0x941a…ff3f$0.00$0.03434d agoGraph
0x8d2a…7d37$0.00$0.022464d agoGraph
0x6031…c2d1$0.00$0.02314d agoGraph
0x6a0b…4518$0.00$0.02333d agoGraph
0xec2a…d034$0.00$0.02334d agoGraph
0xc533…2d7a$0.00$0.02371d agoGraph

Ranked by settled amount over this wallet's recent settlement window — who it normally transacts with.

Data quality

94% of observed volume is with a single counterparty, in the 1000 most recent settlements scanned (its history is longer than the 2000-row scan cap).

Organic volume $4.94 of $4.94 total.

Recent activity

Payer PayeeChainAmountx402RouteAgeTxn hash
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase13d ago0xd8edbd…c51383
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase13d ago0x8a4a4d…cfd7a0
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase13d ago0x32e874…93c332
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase13d ago0x4d9ea1…cff5e6
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase13d ago0x61f328…79780b
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase13d ago0x6b65ca…180a95
0x6031…c2d10x76a5…8fceBaseBase$0.01100%coinbase14d ago0x4ec700…0bd9e1
0x6031…c2d10x76a5…8fceBaseBase$0.005100%coinbase14d ago0x3e4293…4fd23a
0x6031…c2d10x76a5…8fceBaseBase$0.005100%coinbase14d ago0xb9a032…afcf51
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0x0fbb44…cb8493
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0x2d2931…91e7d1
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0x87b127…7ea3f9
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0x7e8070…0346a8
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0x36681d…01d72d
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0xf96130…b729c6
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0xbed9df…71d739
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0x7c45c3…d04a18
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0x52f2c4…196e13
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase14d ago0xbd0aa9…92f1e4
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase15d ago0xcb29a0…52a6b1
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase15d ago0x360c44…0e9db1
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase15d ago0xa60ca8…f1eabd
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase15d ago0x2168c0…e111fb
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase15d ago0xac948e…9836a6
0xf82d…55f60x76a5…8fceBaseBase$0.005100%coinbase15d ago0xc6578f…d4817a

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will check 0x76a5…8fce's payment record before paying it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/merchants/0x76a51b5dd3729950b3b60c17f19252d221968fce

Open skill.md
Show the prompt
Using Roundhouse, tell me whether this x402 merchant is worth paying: how many distinct
agents have paid it, how recently, and for what.

  Merchant wallet: 0x76a51b5dd3729950b3b60c17f19252d221968fce

curl -s 'https://api.roundhouseai.io/v0/merchants/0x76a51b5dd3729950b3b60c17f19252d221968fce'
curl -s 'https://api.roundhouseai.io/v0/entities/0x76a51b5dd3729950b3b60c17f19252d221968fce/settlements?limit=50'

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at
GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at
https://roundhouseai.io/dashboard/connections. If you have neither, ask before going further.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.