- Recipient
- not observed
- Chain
- not observed
- Unit type
- not observed
Comprehensive onchain data API for tokens and prediction markets. Real-time prices, charts, trades, and wallet analytics across 80+ networks via GraphQL.
- Implementation fingerprint
- unknown no confident attribution
- Fingerprint evidence
- No implementation-specific public signal observed.
- First seen
- Aug 25, 2026, 6:43 PM UTC
- Last seen
- Oct 9, 2026, 12:36 PM UTC
- Origin
- https://graph.codex.io
- Tags
- graphqldefitokenstradesnft
Payment surface
1 MPP endpoint
This count includes endpoints established by catalog, OpenAPI, or valid runtime 402 evidence. It does not count every URL the harmless scanner attempted.
Probe coverage
126 harmless observations
These are bounded unauthenticated requests and scanner-policy stops. A response without MPP evidence remains a discovery result, not a security failure.
GET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 9, 2026, 12:36 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 9, 2026, 6:29 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 9, 2026, 12:40 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 8, 2026, 6:38 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 8, 2026, 12:35 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 8, 2026, 6:34 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 8, 2026, 12:35 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 7, 2026, 6:34 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 7, 2026, 12:34 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 7, 2026, 6:39 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 7, 2026, 12:43 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 6, 2026, 6:39 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 6, 2026, 12:39 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 6, 2026, 6:28 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 6, 2026, 12:34 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 5, 2026, 6:34 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 5, 2026, 12:34 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 5, 2026, 6:33 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 5, 2026, 12:36 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 4, 2026, 6:32 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 4, 2026, 12:35 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 4, 2026, 6:33 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 4, 2026, 12:35 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 3, 2026, 6:33 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 3, 2026, 12:37 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 3, 2026, 6:28 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 3, 2026, 12:39 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 2, 2026, 6:36 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 2, 2026, 12:49 PM UTCGET https://graph.codex.io/.well-known/api-catalog
HTTP 4049 response bytes · 0 redirects · HTTPS fetch completed with platform certificate validation
Oct 2, 2026, 12:33 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 2, 2026, 6:32 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 2, 2026, 12:33 AM UTCGET https://graph.codex.io/openapi.json
HTTP 2002,225 response bytes · 0 redirects · HTTPS fetch completed with platform certificate validation
Oct 2, 2026, 12:21 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 1, 2026, 6:30 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 1, 2026, 12:35 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 1, 2026, 6:30 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Oct 1, 2026, 12:35 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 30, 2026, 6:33 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 30, 2026, 12:31 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 30, 2026, 6:34 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 30, 2026, 12:29 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 29, 2026, 6:30 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 29, 2026, 12:29 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 29, 2026, 6:28 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 29, 2026, 12:30 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 28, 2026, 6:36 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 28, 2026, 12:29 PM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 28, 2026, 6:28 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 28, 2026, 12:39 AM UTCGET https://graph.codex.io/
scanner stopped: cross-host-redirectCross-host redirect to https://www.codex.io/ was recorded but not followed
Sep 27, 2026, 6:29 PM UTCEvidence model
Security properties
Every result names its evidence state. Unknown and not tested never mean secure.
probe_safety
Observedcross-host-redirect: Cross-host redirect to https://www.codex.io/ was recorded but not followed
Basis: scanner policy decision · Oct 9, 2026, 12:36 PM UTCapi_catalog_parse
ObservedNo RFC 9727 API catalog was available at this URL (HTTP 404); prior advertised links were withdrawn
Basis: RFC 9727 discovery response · Oct 2, 2026, 12:33 PM UTCauthorization_delivery_settlement
Not testedRequires paid or state-changing behavior outside scanner scope
Basis: Tempo Aug 24 research class · Prior art: https://github.com/wevm/mppx/pull/510#discussion_r3377899233 · Oct 2, 2026, 12:33 PM UTCbounded_response
Tested — pass9 bytes within scanner limit
Basis: harmless scanner · Oct 2, 2026, 12:33 PM UTCchallenge_parse
UnknownNo MPP Payment challenge observed
Basis: unauthenticated HTTP response · Oct 2, 2026, 12:33 PM UTCchannel_lifecycle_binding
Not testedChannel and settlement lifecycle require credentials or payments
Basis: public economic-security prior art · Oct 2, 2026, 12:33 PM UTCconcurrency_single_winner
Not testedConcurrency and paid state changes are prohibited
Basis: public economic-security prior art · Oct 2, 2026, 12:33 PM UTCcredential_replay
Not testedScanner never sends credentials or payments
Basis: methodology · Prior art: https://github.com/advisories/GHSA-fxc9-7j2w-vx54 · Oct 2, 2026, 12:33 PM UTCeconomic_exposure_metadata
UnknownNo current Payment challenge exposes session or authorization inputs
Basis: observable challenge values only · Oct 2, 2026, 12:33 PM UTCfee_payer_cosigner_binding
Not testedSignature and fee-payer relationships are not observable unauthenticated
Basis: public economic-security prior art · Oct 2, 2026, 12:33 PM UTChttps_transport
Tested — passHTTPS fetch completed with platform certificate validation
Basis: platform TLS validation · Oct 2, 2026, 12:33 PM UTCmethod_fallback_policy
Not testedScanner does not select, downgrade, or execute payment methods
Basis: public economic-security prior art · Oct 2, 2026, 12:33 PM UTCprice_debit_consistency
Not testedRequires a completed paid interaction outside scanner scope
Basis: public economic-security prior art · Oct 2, 2026, 12:33 PM UTCredirect_policy
Tested — pass0 redirects; every hop passed URL and DNS validation
Basis: harmless scanner · Oct 2, 2026, 12:33 PM UTCreplay_idempotency_scope
Not testedScanner never replays signed credentials
Basis: public advisory and protocol prior art · Prior art: https://github.com/advisories/GHSA-fxc9-7j2w-vx54 · Oct 2, 2026, 12:33 PM UTCssrf_target_validation
Tested — pass1 hop(s) resolved twice to stable public addresses
Basis: scanner URL, DNS and redirect policy · Oct 2, 2026, 12:33 PM UTCopenapi_parse
ObservedCredential-shaped discovery URL was excluded from indexing and fan-out by scanner policy
Basis: harmless discovery response · Oct 2, 2026, 12:21 AM UTCHistory
Service changes
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:api_catalog_parse: {"state":"observed","evidence":"API catalog source returned HTTP 404; prior advertised links were withdrawn","basis":"R… → {"state":"observed","evidence":"No RFC 9727 API catalog was available at this URL (HTTP 404); prior advertised links we…
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:openapi_parse: {"state":"observed","evidence":"Credential-shaped discovery URL was excluded from indexing and fan-out","basis":"harmle… → {"state":"observed","evidence":"Credential-shaped discovery URL was excluded from indexing and fan-out by scanner polic…
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:probe_safety: {"state":"observed","evidence":"Redirects to a different hostname are recorded as blocked, not followed","basis":"scann… → {"state":"observed","evidence":"cross-host-redirect: Cross-host redirect to https://www.codex.io/ was recorded but not …
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:probe_safety: {"state":"tested-fail","evidence":"Redirects to a different hostname are recorded as blocked, not followed","basis":"sc… → {"state":"observed","evidence":"Redirects to a different hostname are recorded as blocked, not followed","basis":"scann…
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:api_catalog_parse: {"state":"tested-fail","evidence":"API catalog source returned HTTP 404; prior advertised links were withdrawn","basis"… → {"state":"observed","evidence":"API catalog source returned HTTP 404; prior advertised links were withdrawn","basis":"R…
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:openapi_parse: {"state":"tested-fail","evidence":"Credential-shaped discovery URL was excluded from indexing and fan-out","basis":"har… → {"state":"observed","evidence":"Credential-shaped discovery URL was excluded from indexing and fan-out","basis":"harmle…
Evidence: Repeated harmless observation changed the modeled property
— security-property-changed
security:bounded_response: {"state":"tested-pass","evidence":"2225 bytes within scanner limit","basis":"harmless scanner"} → {"state":"tested-pass","evidence":"9 bytes within scanner limit","basis":"harmless scanner"}
Evidence: Repeated harmless observation changed the modeled property
— service-updated
homepage_url: https://graph.codex.io → https://graph.codex.io/
Evidence: clock-guarded source update
— service-updated
tags: [] → ["graphql","defi","tokens","trades","nft"]
Evidence: clock-guarded source update
— service-updated
description: Public discovery candidate; runtime MPP not yet established → Comprehensive onchain data API for tokens and prediction markets. Real-time prices, charts, trades, and wallet analytic…
Evidence: clock-guarded source update