# Authentication

We don't yet have a formal API key authentication mechanism, but have one in the works. For now, you'll have to authenticate in the UI application and copy your JWT in the Firebase localStorage database. Here are the steps to get that value (note that this is in Firefox, so some steps might vary on other browsers):

1. Login to the application.

![](/files/RLe1p7dNKEs7sFR87GH6)

2. Open the Storage tab and find the `Indexed DB > https://app.holder.xyz > firebaseLocalStorageDb > firebaseLocalStorage` item.

![](/files/Pl0Mkdmln9s8yPjZa8T0)

3. Copy the `accessToken` value found under `value > stsTokenManager > accessToken` (screenshot not shown for security reasons).
4. Paste that token under an `Authorization` header in your favorite API tool. It is a `Bearer` token, so the format would be:

```json
{
  "headers": {
    "Authorization": "Bearer your_token_here"
  }
}
```

![](/files/pSVzJwRDTzNY5sdJOSgj)


---

# 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.holder.xyz/holder-api/authentication.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.
