# Introduction

> AdQuest puts quests inside your app. Your signed-in users complete short tasks, earn tokens and spend them on lotteries, without leaving your product or creating another account.

Source: https://dashboard.adquest.batriders.ir/docs · Audience: Developers · Section: Get started

## Start here

Most teams go from nothing to a working quest in an afternoon. Follow these four pages in order.

1. [Get your keys](https://dashboard.adquest.batriders.ir/docs/environments): Ask the publisher for the public API key, the Secret Key and the Embed URL.
2. [Show your first quest](https://dashboard.adquest.batriders.ir/docs/quickstart): One backend route and one React component. About 5 minutes.
3. [Prove completions](https://dashboard.adquest.batriders.ir/docs/quest-evidence): What each quest format needs before AdQuest pays the reward.
4. [Test and go live](https://dashboard.adquest.batriders.ir/docs/launch): Walk the full journey once before real users see it.

Not on React? The iframe quickstart does the same from any website or native app.

- [Quickstart: iframe or WebView](https://dashboard.adquest.batriders.ir/docs/quickstart-embed): Embed from any website or native app.

## How it works

1. A user signs in to your app, as they do today.
2. Your backend asks AdQuest for a participant session for that user, using your Secret Key. AdQuest returns a short-lived participant token.
3. Your frontend shows the AdQuest widget, or your own interface, with the participant token and your public API key.
4. AdQuest checks each completion on its own servers and settles the reward. Your backend hears about it by webhook.

Your users never sign in to AdQuest. Your backend says who a user is, and AdQuest trusts that. Step through the whole exchange below.

## Choose how to show it

- [React & Next.js](https://dashboard.adquest.batriders.ir/docs/react): The ready-made widget. The fastest start.
- [Hosted iframe & WebView](https://dashboard.adquest.batriders.ir/docs/embed): Any website, iOS, Android, React Native or Flutter.
- [Headless JavaScript](https://dashboard.adquest.batriders.ir/docs/headless): Your own screens on the typed client.
- [API only](https://dashboard.adquest.batriders.ir/docs/api-reference): Plain HTTP from any server or client.

## Go further

- [How AdQuest works](https://dashboard.adquest.batriders.ir/docs/how-it-works): Who does what, and which credential lives where.
- [Participant sessions](https://dashboard.adquest.batriders.ir/docs/participant-sessions): Tokens, refresh, logout, language and country.
- [Webhooks](https://dashboard.adquest.batriders.ir/docs/webhooks): Hear about completions and winners on your server.
- [Tokens, lotteries & claims](https://dashboard.adquest.batriders.ir/docs/rewards): Balances, entries and prize claims.
- [Multi-step quests](https://dashboard.adquest.batriders.ir/docs/multi-step-quests): Several steps, one reward.
- [Complete example: Next.js](https://dashboard.adquest.batriders.ir/docs/examples): Session route, widget and webhook in one app.

## Look it up

- [API reference](https://dashboard.adquest.batriders.ir/docs/api-reference): Every public route, with headers and payloads.
- [SDK reference](https://dashboard.adquest.batriders.ir/docs/sdk/client): Every client method, component prop and error code.
- [Errors](https://dashboard.adquest.batriders.ir/docs/errors): What each error code means and what to check.
- [Use the docs with AI agents](https://dashboard.adquest.batriders.ir/docs/ai-agents): llms.txt, Markdown pages and a rules file.

## Not writing code?

If you run the platform from the dashboard, setting it up, branding it and publishing quests, the publisher guide is written for you.

- [Publisher guide](https://dashboard.adquest.batriders.ir/docs/dashboard): Set up your platform, brand it and publish quests. No code.
