B

NYC Transit Live — MPP Grade B

https://transit402.dev 80% (85/105)
transportationtransitnycnew-york-citycitibikebike-sharesubwaybusmtareal-timetrain-arrivalsbus-arrivalspublic-transportationcommutedirectionstrip-planningnavigationmanhattanbrooklynqueensbronxstaten-island
Preview responses and set spending limits for this service through use.mpp.land Free budget controls, response samples, and reliability routing.

On-chain Activity

29 Total txs
7 7d txs
$0.14 7d volume
$0.58 Total volume
5 Unique payers
0 Unique clients
7-day activity ▁▁▁▁█▂▁

Compliance Checks

All paid ops declare 402 response MUST 10pt
All x-payment-info valid MUST 10pt
Challenge has Cache-Control: no-store MUST 5pt
Challenge digest on POST SHOULD 3pt
Challenge has expires SHOULD 3pt
Challenge has Problem Details SHOULD 2pt
Challenge has required params MUST 5pt
Challenge has WWW-Authenticate MUST 5pt
Challenge returns 402 MUST 10pt
Correct Content-Type MUST 5pt
Has Cache-Control on discovery SHOULD 5pt
Has input schemas SHOULD 5pt
Has llms.txt SHOULD 5pt
Has /openapi.json at root MUST 10pt
Has required top-level fields MUST 10pt
Served over HTTPS MUST 10pt
Uses standard categories SHOULD 2pt
1 issue
  • POST endpoint challenge missing digest parameter (SHOULD per spec)

Paid Operations (5)

POST /citibike/nearest dynamic
Find nearby Citi Bike stations with available bikes and e-bikes.

Canonical agent invocation uses POST with JSON body { lat, lng, limit? }. GET with query parameters remains supported for browser/manual use.

Amount
map[amount:0.02 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.02 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
lat number Yes Latitude in WGS84 decimal degrees.
limit integer No Optional number of nearby results to return (1–10, defaults to 5). Fetch the full set to filter by user constraints (min bikes, max walk time, e-bikes only, specific lines/routes), then present the top 3 to the user.
default: 5
lng number Yes Longitude in WGS84 decimal degrees.

Response Schema (200)

FieldTypeDescription
results array[object] -
POST /citibike/dock dynamic
Find nearby Citi Bike stations with open docks for returns.

Canonical agent invocation uses POST with JSON body { lat, lng, limit? }. GET with query parameters remains supported for browser/manual use.

Amount
map[amount:0.02 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.02 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
lat number Yes Latitude in WGS84 decimal degrees.
limit integer No Optional number of nearby results to return (1–10, defaults to 5). Fetch the full set to filter by user constraints (min bikes, max walk time, e-bikes only, specific lines/routes), then present the top 3 to the user.
default: 5
lng number Yes Longitude in WGS84 decimal degrees.

Response Schema (200)

FieldTypeDescription
results array[object] -
POST /subway/nearest dynamic
Find nearby subway stations with live train arrivals.

Canonical agent invocation uses POST with JSON body { lat, lng, limit? }. GET with query parameters remains supported for browser/manual use.

Amount
map[amount:0.02 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.02 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
lat number Yes Latitude in WGS84 decimal degrees.
limit integer No Optional number of nearby results to return (1–10, defaults to 5). Fetch the full set to filter by user constraints (min bikes, max walk time, e-bikes only, specific lines/routes), then present the top 3 to the user.
default: 5
lng number Yes Longitude in WGS84 decimal degrees.

Response Schema (200)

FieldTypeDescription
results array[object] -
POST /subway/alerts dynamic
Get active subway service alerts, optionally filtered by line.

Returns active MTA subway alerts with a normalized severity bucket, direction (Uptown / Downtown / both), and estimated delay minutes when the MTA includes them in the description text. Canonical invocation uses POST with JSON body { lines?: string[], limit? }. Omit lines (or pass an empty array) for all active alerts. GET clients may pass lines as a comma-separated string: GET /subway/alerts?lines=L,G.

Amount
map[amount:0.02 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.02 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
limit integer No Optional maximum number of alerts to return (1–50, default 20).
default: 20
lines array No Optional list of subway line letters/numbers to filter by (e.g. ["L", "G"]). Omit or pass an empty array to get all currently active alerts. GET clients may pass a comma-separated string.

Response Schema (200)

FieldTypeDescription
results array[object] -
POST /bus/nearest dynamic
Find nearby bus stops with live ETA predictions.

Canonical agent invocation uses POST with JSON body { lat, lng, limit? }. GET with query parameters remains supported for browser/manual use.

Amount
map[amount:0.02 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.02 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
lat number Yes Latitude in WGS84 decimal degrees.
limit integer No Optional number of nearby results to return (1–10, defaults to 5). Fetch the full set to filter by user constraints (min bikes, max walk time, e-bikes only, specific lines/routes), then present the top 3 to the user.
default: 5
lng number Yes Longitude in WGS84 decimal degrees.

Response Schema (200)

FieldTypeDescription
results array[object] -

Payment Methods

Methods
tempo (from challenge)
Intents
charge (from challenge)
Currencies (discovery)
-
Currency (challenge)
USDC.e on Tempo Mainnet Presto (Tempo Mainnet Presto)
Multiple Challenges
No

Recipients

  • 0x687E3217668DDe7c32478A3F2613750c8Bd505E9
Per-endpoint breakdown
POST /bus/nearest
0x687E3217668DDe7c32478A3F2613750c8Bd505E9
POST /citibike/dock
0x687E3217668DDe7c32478A3F2613750c8Bd505E9
POST /citibike/nearest
0x687E3217668DDe7c32478A3F2613750c8Bd505E9
POST /subway/alerts
0x687E3217668DDe7c32478A3F2613750c8Bd505E9
POST /subway/nearest
0x687E3217668DDe7c32478A3F2613750c8Bd505E9

Security

TLS Version
TLSv1.3
Challenge ID Unique
Yes
Challenge ID Length
43
Digest Binding
-

Uptime

Discovery
Reachable (269ms)
Challenge
Reachable (202ms)
Last Checked

Schema Completeness

Paid Operations
5
With Input Schema
5
With Description
5

Documentation

Homepage
https://transit402.dev
API Reference
-
llms.txt
-

Discovery

OpenAPI URL
https://transit402.dev/openapi.json
OpenAPI Version
3.1.0
Service Version
2.2.1
Document Size
14428 bytes
Document Hash
a57212950c631a4dd4d47c23cf271c862f34381501f497281ae56de5796a3ba1

Version History (47 snapshots)

Grade: C (64%) → B (80%)
Grade: B (80%) → C (64%)
Grade: F (20%) → B (80%)
Grade: B (80%) → F (20%)
Grade: F (20%) → B (80%)
Grade: B (80%) → F (13%)
  • new endpoint: POST /subway/alerts
Grade: F (20%) → B (80%)
Grade: B (80%) → F (20%)
Grade: F (20%) → B (80%)
Grade: B (80%) → F (20%)
Grade: F (13%) → B (80%)
Grade: B (80%) → F (13%)
Grade: F (13%) → B (80%)
Grade: B (80%) → F (13%)
Grade: F (20%) → B (80%)
Grade: B (80%) → F (20%)
Grade: F (20%) → B (80%)
Grade: B (80%) → F (20%)
Grade: F (20%) → B (80%)
Grade: B (80%) → F (13%)
Scan snapshots
Date Grade Score Response Status
2026-04-20 B 80% 266ms Up
2026-04-21 B 80% 230ms Up
2026-04-22 B 80% 298ms Up
2026-04-23 B 80% 764ms Up
2026-04-24 B 80% 273ms Up
2026-04-25 B 80% 291ms Up
2026-04-26 B 80% 312ms Up
2026-04-27 B 80% 290ms Up
2026-04-28 B 80% 256ms Up
2026-04-29 B 80% 301ms Up
2026-04-30 B 80% 839ms Up
2026-05-01 B 80% 242ms Up
2026-05-02 B 80% 290ms Up
2026-05-03 B 80% 251ms Up
2026-05-04 B 80% 266ms Up
2026-05-05 B 80% 284ms Up
2026-05-06 B 80% 349ms Up
2026-05-07 B 80% 423ms Up
2026-05-08 B 80% 322ms Up
2026-05-09 B 80% 259ms Up
2026-05-10 B 80% 453ms Up
2026-05-11 B 80% 357ms Up
2026-05-12 B 80% 282ms Up
2026-05-13 B 80% 288ms Up
2026-05-14 B 80% 506ms Up
2026-05-15 B 80% 288ms Up
2026-05-16 B 80% 465ms Up
2026-05-17 B 80% 712ms Up
2026-05-18 B 80% 298ms Up
2026-05-19 B 80% 919ms Up
2026-05-20 B 80% 280ms Up
2026-05-21 B 80% 324ms Up
2026-05-22 B 80% 300ms Up
2026-05-23 B 80% 292ms Up
2026-05-24 B 80% 423ms Up
2026-05-25 B 80% 279ms Up
2026-05-26 B 80% 397ms Up
2026-05-27 B 80% 420ms Up
2026-05-28 B 80% 256ms Up
2026-05-29 B 80% 400ms Up
2026-05-30 B 80% 2583ms Up
2026-05-31 B 80% 354ms Up
2026-06-01 B 80% 266ms Up
2026-06-02 B 80% 347ms Up
2026-06-03 B 80% 250ms Up
2026-06-04 B 80% 262ms Up
2026-06-05 B 80% 353ms Up