Skip to main content

Getting Started 🚀



It takes less than 5 minutes to get started.

  1. Obtain the API key and context_id
  2. Link the Absinthe Protect authentication window to your frontend
  3. Query the EOA to get identification results

1. Obtain the API Key

1.5 Register a context_id

A context_id is a unique identifier to categorize and manage bot identifications effectively.


Questing platforms should create a unique context_id per quest.

Each API key can create any number of context_ids. Here's how:

curl --location '' \
--header 'x-api-key: <my_key>' \
--header 'Content-Type: application/json' \
--data '{
"context_title": "<my_context_title>"

First install the absinthe-protect npm package.

npm i absinthe-protect #yarn add absinthe-protect

Wrap the <AbsintheProtector> around the UI element (like a button) on your site that you want to trigger the authentication window with.


Questing platforms should include another button in their quest for a proof-of-humanity check through Absinthe Protect.

Here's how:

import AbsintheProtector from 'absinthe-protect';
const [address] = await client.getAddresses() //viem compatible. Change this to be compatible with your stack.
const questContextId = "quest_num_1.dd564a35869b"

3. Query with the EOA address to get identification results

curl --location '<provided_eoa_address>&context_id=<my_context_id>' \
--header 'x-api-key: <my_key>'
"success": true,
"data": {
"isBot": true,
"confidence": {
"score": 0.97

What this means:

  • isBot: boolean
  • This flag is set to false when a bot is not detected and to true when a bot is detected.
  • confidence: number
    • The confidence score ranges from 0 to 1 and represents the level of certainty in the accuracy of a given prediction. The closer the score is to 1, the more confident the system is about its prediction. Conversely, scores closer to 0 imply increasing levels of doubt.