# Overview

The Challenge APIs are an HTTP-based API that you can use to programmatically query data about watchtowers/provers, submit and manage challenges. Since the API is HTTP-based it works with any language or software that supports HTTP, including cURL and almost all modern web browsers.

## Basic Concepts <a href="#basics" id="basics"></a>

### Provers

The device connected to Internet whose claimed location or bandwidth needs to be validated

### Watchtowers (aka Challengers)

A pool of decentralized, trustfree servers that validate the location / bandwidth claim of the prover

### Challenge

A series of UDP ping pongs/pings between the prover and watchtowers to validate the claim (Location or Bandwidth)

### Broker

A server which provides APIs for provers/challengers/payers. These APIs are used to login/request-for-challenges/participate-in-challenges/submit-results-of-challenges.

### Challenge Coordinator (CC)

A server which randomly selects eligible challengers for a given challenge.

It ensures that available and compatible challengers are chosen for a given challenge.

CC only responds to events from Broker and does not interact with any other system.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.witnesschain.com/infinity-watch/apis/challenge-apis/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
