1_devtools

PATH provides developer tools to help diagnose and debug endpoint behavior in real-time.

Disqualified Endpoints API

The /disqualified_endpoints endpoint is a powerful diagnostic tool that provides visibility into why certain endpoints are not being used by PATH for relay requests.

Quickstart

See the disqualified endpoints of your PATH gateway on base :

curl http://localhost:3069/disqualified_endpoints \
  -H "Target-Service-Id: base" | jq
circle-info

🌿 GROVE EMPLOYEES ONLY

To see data on Grove's Portal, you can use the following command:

curl https://base.rpc.grove.city/disqualified_endpoints | jq

Note: GUARD will assign the service ID from the subdomain to the Target-Service-Id header.

What is it?

The Disqualified Endpoints API returns a comprehensive list of endpoints that have been temporarily or permanently excluded from serving requests for a given service. This includes:

  • Protocol-level sanctions: Endpoints sanctioned due to relay errors or poor behavior (managed by Shannon protocol)

  • QoS-level disqualifications: Endpoints failing quality-of-service checks (managed by EVM QoS service)

Why use it?

When developing or debugging PATH integrations, you may notice that certain endpoints aren't receiving traffic. This API helps you understand:

  • Which endpoints are currently disqualified and why

  • Whether the disqualification is temporary (session-based) or permanent

  • Aggregate statistics about endpoint health across your service

  • Which suppliers are affected by sanctions

How to use it

Endpoint: GET /disqualified_endpoints

Required Headers:

  • Target-Service-Id: The service ID to query (e.g., base, eth, polygon)

Example Request:

Or use the provided make target:

Response Structure

The response from the disqualified endpoints API contains details about endpoints that have been excluded from serving requests.

chevron-rightExample Response JSONhashtag
chevron-rightJSON Field Descriptionshashtag

The response contains three main sections:

1. Protocol Level Disqualified Endpoints

This section contains information about endpoints sanctioned by the Shannon protocol:

Field
Description

permanently_sanctioned_endpoints

Map of endpoints with permanent sanctions (persist until gateway restart)

session_sanctioned_endpoints

Map of endpoints with temporary sanctions (expire after 1 hour or session change)

permanent_sanctioned_endpoints_count

Number of permanently sanctioned endpoints

session_sanctioned_endpoints_count

Number of temporarily sanctioned endpoints

total_sanctioned_endpoints_count

Total number of sanctioned endpoints

For each sanctioned endpoint:

Field
Description

supplier_addresses

Map of supplier addresses using this endpoint URL

endpoint_url

The URL of the sanctioned endpoint

reason

Detailed error message explaining the sanction reason

service_id

The service ID the endpoint was serving

session_id

Session identifier when the sanction was applied

app_addr

Application address that triggered the sanction

sanction_type

Type of sanction (SHANNON_SANCTION_SESSION or SHANNON_SANCTION_PERMANENT)

error_type

Specific error category (e.g., SHANNON_ENDPOINT_ERROR_TIMEOUT)

session_height

Blockchain height when the session started

created_at

Timestamp when the sanction was created

2. QoS Level Disqualified Endpoints

This section contains information about endpoints failing quality-of-service checks:

Field
Description

disqualified_endpoints

Map of endpoints failing QoS checks

empty_response_count

Number of endpoints returning empty responses

chain_id_check_errors_count

Number of endpoints with incorrect chain ID

archival_check_errors_count

Number of endpoints failing historical data queries

block_number_check_errors_count

Number of endpoints with outdated block height

For each disqualified endpoint:

Field
Description

endpoint_addr

Identifier for the endpoint (format: supplier-url)

reason

Detailed explanation of why the endpoint failed QoS checks

service_id

The service ID the endpoint was serving

3. Summary Statistics

These fields provide an overview of endpoint health:

Field
Description

total_service_endpoints_count

Total number of endpoints for the requested service

qualified_service_endpoints_count

Number of endpoints passing all checks

disqualified_service_endpoints_count

Number of endpoints failing one or more checks

Error Responses

400 Bad Request - Missing or invalid headers:

400 Bad Request - Invalid service ID:

Was this helpful?