---
title: "Get Authenticators"
method: POST
path: "/authenticators"
tags: ["indexer"]
---

# Get Authenticators

`POST /authenticators`

## Request

- Base URL: `https://indexer.us.id-infra.worldcoin.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://indexer.us.id-infra.worldcoin.dev/authenticators`
- Auth: none declared
- TypeScript: <https://skmtc.dev/worldcoin/apis/world-id-indexer/docs/authenticators/post.ts> (a function with typed inputs; its response is checked against the schema)

Returns the registered authenticators of a World ID by leaf index: the compressed public key
and address of every slot, together with the offchain signer commitment and recovery counter,
all read from the same indexed state. Removed slots are `null`. Proving Authenticators have
the zero address.

## Request body

- IndexerQueryRequest: Query for the indexer based on a leaf index. Used for getting inclusion proofs and signature nonces.
  - `leaf_index` string, hex, required: The leaf index to query (from the `WorldIDRegistry`). Accepts decimal or `0x`/`0X`-prefixed hex input.

## Response `200`

- IndexerAuthenticatorsResponse: The registered authenticators of an account, read from a single indexed account state. `authenticator_pubkeys` and `authenticator_addresses` are indexed by `pubkey_id` and always have the same length. A removed slot is `null` in both. A Proving Authenticator (WIP-104) has the zero address, and an Admin Authenticator has its management key's address.
  - `authenticator_addresses` string[], required: The authenticator addresses, by `pubkey_id`.
  - `authenticator_pubkeys` string[], required: The compressed authenticator public keys, by `pubkey_id`.
  - `offchain_signer_commitment` string, hex, required: The commitment to all the authenticator pubkeys, as stored in the `WorldIDRegistry`.
  - `recovery_counter` string, hex, required: The number of recoveries of the account.

## Other responses

- `400`: Leaf index is 0
- `404`: No account exists at the given leaf index
- `500`: Database error, or the indexed authenticator slots are inconsistent

## Changes

- **2026-10-20** `8d47e835f678`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/worldcoin/apis/world-id-indexer/changes/authenticators/post.md)

---

[API](https://skmtc.dev/worldcoin/apis/world-id-indexer.md) - [All operations](https://skmtc.dev/worldcoin/apis/world-id-indexer/llms.txt) - [OpenAPI document](https://skmtc.dev/worldcoin/apis/world-id-indexer/revisions/8d47e835f678?raw)
