Generate TOTP codes instantly. Save secrets linked to your email in Cloudflare D1. Search by email anytime to get all your active 2FA codes on the fly.
Search by email from your Cloudflare D1 Vault, enter a secret, or scan QR codes
Enter any email or username saved in your Cloudflare D1 database. The system retrieves all matching secrets and generates live 2FA codes synchronously.
Enter your 2FA secret key. Optionally enter an email and issuer to automatically save it into your Cloudflare D1 database.
Upload a QR code image to automatically extract the secret, issuer, and email, and generate the live code.
Drag & drop QR code image here
or click to browseImport multiple accounts from Google Authenticator export QR or URL. Extract all accounts and save them directly to your Cloudflare D1 Vault!
Drag & drop Google Authenticator export QR here
or click to browsePaste Base64 encoded QR code image data.
Browse all your accounts saved in Cloudflare D1 with synchronized live OTP generation
Click 'Refresh Vault' or save an account to view stored accounts.
Integrate Miro Cloudflare into external cURL scripts, bots, and automations
/api?action=getcode&email={email}
Look up account(s) by email in D1 and return live OTPs (returns all matching services)
curl "https://YOUR-SUBDOMAIN.pages.dev/api?action=getcode&email=user@gmail.com"
{
"success": true,
"count": 2,
"email": "user@gmail.com",
"otp": "481920",
"remaining": 25,
"accounts": [
{ "issuer": "Google", "secret": "JBSWY3...", "otp": "481920" },
{ "issuer": "GitHub", "secret": "HXDMVJ...", "otp": "912304" }
]
}
/api?action=getcode
Generate code from secret key directly
curl -X POST "https://YOUR-SUBDOMAIN.pages.dev/api?action=getcode" \
-H "Content-Type: application/json" \
-d '{"secret": "JBSWY3DPEHPK3PXP"}'
{
"success": true,
"secret": "JBSWY3DPEHPK3PXP",
"otp": "123456",
"remaining": 25
}
/api?action=save
Save / Upsert an account into Cloudflare D1
curl -X POST "https://YOUR-SUBDOMAIN.pages.dev/api?action=save" \
-H "Content-Type: application/json" \
-d '{"email": "user@gmail.com", "issuer": "Binance", "secret": "JBSWY3DPEHPK3PXP"}'
{
"success": true,
"message": "Account saved successfully"
}
/api?action=vault
Retrieve all stored accounts with live OTP codes
curl "https://YOUR-SUBDOMAIN.pages.dev/api?action=vault"
{
"success": true,
"count": 5,
"accounts": [...]
}