Device Authorization
Authenticate with a one-time code. The CLI requests a device code, you approve in your browser, and the API key is saved automatically.
dna auth login
A command-line tool designed for AI agents and headless browsers. Create disposable identities, wait for emails, and extract verification codes in a single pipeline.
Authenticate with a one-time code. The CLI requests a device code, you approve in your browser, and the API key is saved automatically.
dna auth loginCreate an identity, automate the signup, extract the verification code, and clean up. All from the terminal.
$ dna create --label signup --json ✓ Identity created: bot4kx@748392.best
$ playwright test signup.spec.ts ✓ Filled email + password ✓ Submitted registration form
$ dna verify ai_Kp9x --timeout 30 --quiet ⏳ Waiting for email... 847293
$ dna delete ai_Kp9x ✓ Identity deleted
Works with Playwright, Puppeteer, or any headless browser. Fill forms with disposable credentials in your test suite.
Install the CLI globally and start automating email verification in under a minute.
$npm install -g @buun_group/dnaEverything your agent needs. Create identities, wait for emails, extract codes, and clean up when done.
dna authDevice code login and API key managementdna createCreate a disposable identity with email + passworddna listList all active agent identitiesdna getFetch details for a specific identitydna deleteDestroy an identity and its inboxdna extendExtend an identity's expiration timedna verifyWait for email and extract verification codedna messagesList all messages in an identity's inboxdna messageRead a specific message by IDdna waitLong-poll until the next email arrives13+ built-in patterns detect verification codes, OTPs, and confirmation links. Each match is ranked by confidence.
8472930.95G-8472930.90A8K3-WXYZ0.858 4 7 2 9 30.80verify?token=e8f2a...0.75--pattern 'CODE:(\w+)'0.70Every command supports --json for structured parsing. Pipe results into jq, env vars, or your agent's decision loop.
{
"id": "ai_Kp9x",
"email": "bot4kx@748392.best",
"password": "••••••••••••",
"expires_at": "2026-02-27T13:00:00Z",
"status": "active"
}Create a disposable identity, automate signup, extract the verification code, and save to vault, all from the terminal
Watch the full browser recording
Generate fictional but structurally valid identities for any country. Names, addresses, phone numbers, all ready for form filling.
Culturally appropriate names, real city/state/zip combinations, country-specific phone formats, and correct address ordering.
Every persona field maps to a standard form input. Your agent fills the entire signup form in seconds.
Every persona returns a typed JSON object. Parse it in any language and feed it directly into your automation pipeline.
{ "persona": { "fullName": "Jessica Martinez", "country": "US", "phone": "+1 555-482-7365", "address": "4721 Oak Street, Austin, TX 78701" } }
Pre-built for every major platform and architecture. No Go toolchain required. Install from npm and run.
Four-level priority chain resolves your API key from environment variables, CLI flags, config files, or device auth.
DESTROY_API_KEYEnvironment variable--api-keyCLI flag~/.config/dna/config.jsonConfig filedna auth loginDevice authSet one secret and the CLI runs non-interactively. Pre-built binaries work on GitHub Actions, GitLab CI, and any Docker runner.
# .github/workflows/e2e.yml env: DESTROY_API_KEY: ${{ secrets.DNA_KEY }}
steps: - name: Create identity run: dna create --json > id.json - name: Run E2E tests run: playwright test signup.spec.ts - name: Verify email run: dna verify $(jq -r .id id.json) --quiet - name: Cleanup run: dna delete $(jq -r .id id.json)
Compose pipelines with jq, xargs, and your favourite Unix tools. Every command outputs clean, parseable data.
Pro for individuals. Business for teams and heavy automation. Both include full CLI access with different limits.
Configure everything via env vars. Perfect for containers, CI runners, and headless environments.
DESTROY_API_KEYAuthenticate all commandsDESTROY_API_URLCustom API endpointNO_COLORDisable colour outputDNA_TUIToggle interactive modeStructured JSON for parsing, quiet mode for piping, plain text for logs. Same command, three formats.
--jsonStructured--quietValue only--no-colorPlain text{ "code": "847293", "confidence": 0.95 }The dna CLI gives your AI agent a disposable email identity in a single command. Each identity comes with a unique address and an encrypted password, ready to be typed into any form by Playwright, Puppeteer, or any other automation framework.
After the agent fills out a signup form, it calls dna verify to wait for the confirmation email and extract the verification code automatically. 13+ built-in extraction patterns detect OTP codes, tokens, and verification links with confidence scoring . No retry loops or sleep timers needed.
For testing and automation only. Generated personas are fictional identities for automated testing, QA workflows, and development. Do not use them for identity fraud, impersonation, scamming, or any illegal activity. We are not responsible for misuse of generated data. By using this feature you agree to our Acceptable Use Policy.
JSON output, exit codes, environment variable auth, and non-interactive mode. Every decision is optimised for machine consumption.
13+ built-in patterns detect OTPs, alphanumeric tokens, and verification links with confidence scoring. Custom regex is supported too.
Block until an email arrives or a verification code is found. No polling loops, no sleep timers, no wasted API calls.
Each identity includes an encrypted password stored at rest. Only the authenticated owner can decrypt and retrieve it.
Install the CLI, create a disposable identity, and extract your first verification code in under 60 seconds.