Automated, end-to-end Run BiOS account + API key creator.
Random identity → disposable inbox → OTP verification → API key. One file. Zero dependencies.
Run BiOS Account Creator automates the whole onboarding flow on platform.runbios.ai: it generates a random identity, opens a disposable inbox on zenvex.dev, registers, reads the 6-digit verification code from the incoming email, activates the account, and finally provisions a scoped API key — all in a single, dependency-free Node.js script.
It is built for people who need Run BiOS access programmatically: batch onboarding, QA, load testing, demos, and integration pipelines.
| 🎲 Random identity | Plausible full name + strong password generated per run |
| 📬 Disposable inbox | Fresh Zenvex address, isolated per account |
| 🔐 Full OTP flow | Polls the inbox and extracts the 6-digit code automatically |
| 🔑 API key provisioning | Creates a scoped key (full-access / training / read-only) |
| 🧩 Zero dependencies | Only the Node.js standard library — no npm install |
| 🌐 Proxy-ready | Built-in HTTP CONNECT tunnel for residential proxies |
| 🩺 Health check | --check diagnoses connectivity and IP reputation before you run |
| 📦 Structured output | Saves email, password, tokens and key to a 0600 JSON file |
- Node.js ≥ 18 (built-in
fetchandcrypto) - A network where zenvex.dev accepts inbox reads — or a
residential proxy via
ZENVEX_PROXY
# 1. (Ubuntu/Debian) install Node.js if missing
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# 2. grab the script
git clone https://github.com/0xgetz/runbios-account-creator.git
cd runbios-account-creator
# 3. health check (recommended)
node runbios-account-creator.mjs --check
# 4. create an account
node runbios-account-creator.mjsOn success the script prints the credentials and writes
account-<timestamp>.json (permissions 0600):
=================================================
SUCCESS
-------------------------------------------------
email: user329429@souss.dev
name: Marco Sinclair
password: ZCZsbagrej563#%&
api key: bios-dgON-…UtgY (preset: full-access)
saved: account-1790439782798.json
=================================================
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Random │ → │ Zenvex inbox │ → │ Register on │ → │ Read OTP & │ → │ Create │
│ identity │ │ (fresh addr) │ │ Run BiOS │ │ verify email │ │ API key │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
- Identity — a realistic first + last name and a 16-char password with mixed classes.
- Inbox —
GET /api/domainson Zenvex picks a receiving domain; a random local part is used. - Register —
POST /api/auth/registeron Run BiOS with that inbox. - OTP — polls
GET /api/emails/{address}, opens the message, extracts the 6-digit code. - Verify —
POST /api/auth/verify-otpwith a hashed device fingerprint. - API key — resolves the personal org + workspace, then
POST /api/api-keys.
All options are environment variables — nothing to edit in the source.
| Variable | Default | Description |
|---|---|---|
ZENVEX_PROXY |
– | HTTP(S) proxy for Zenvex reads, e.g. http://user:pass@host:port |
ZENVEX_DOMAIN |
from API | Force a specific Zenvex receiving domain |
ACCOUNT_PREFIX |
user |
Email local-part prefix |
API_KEY_NAME |
auto-key |
Name of the created API key |
API_KEY_PRESET |
full-access |
full-access · training · read-only |
RUNBIOS_OTP |
– | Supply the 6-digit code yourself (skips polling) |
OUT_DIR |
. |
Directory for the result JSON |
# residential proxy + custom key
ZENVEX_PROXY='http://user:pass@host:port' \
API_KEY_NAME='CI pipeline' \
API_KEY_PRESET='read-only' \
node runbios-account-creator.mjsAlways run this first — it tells you whether your IP is accepted before spending a signup:
node runbios-account-creator.mjs --check==> Connectivity check
egress IP: 3.22.49.207
zenvex.dev page load: OK
zenvex /api/domains: OK (default souss.dev)
zenvex inbox read: OK
runbios /register: OK
==> Done.
Zenvex serves inbox reads only to "normal" IPs. Many cloud datacenter IPs are blocked and return:
{"success":false,"error":{"name":"ProxyError","message":"Use the Zenvex website at https://zenvex.dev"}}If --check reports zenvex inbox read: FAIL, route those calls through a residential
proxy — the script tunnels via HTTP CONNECT with no extra dependencies:
ZENVEX_PROXY='http://user:pass@host:port' node runbios-account-creator.mjsNote: Run BiOS rejects known disposable-inbox domains (
DISPOSABLE_EMAIL). Zenvex'ssouss.devis accepted, which is why this project uses Zenvex. Run BiOS itself does not block datacenter IPs — only Zenvex does.
export RUNBIOS_API_KEY='bios-...'
curl -H "X-API-Key: $RUNBIOS_API_KEY" \
https://platform.runbios.ai/api/api-keys/introspectrunbios-account-creator/
├── runbios-account-creator.mjs # the whole program (single file)
├── package.json # metadata + npm scripts
├── LICENSE # MIT
├── assets/
│ ├── logo.svg / logo.png # horizontal wordmark
│ └── icon.svg / icon.png # square app icon
├── docs/
│ ├── README.id.md # Bahasa Indonesia
│ ├── README.es.md # Español
│ ├── README.zh.md # 中文
│ └── README.ar.md # العربية
└── README.md # you are here
This project is provided for legitimate automation, testing, and research on
services you are authorized to use. You are responsible for complying with the terms
of service of any platform you interact with and with applicable law. Generated
credentials are sensitive — the result file is written with 0600 permissions and
account-*.json is git-ignored.
Issues and pull requests are welcome. Please keep the zero-dependency promise:
any change must run on a stock Node.js ≥ 18 without npm install.
- Fork the repository
- Create a branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m "Add amazing feature") - Push and open a Pull Request
Released under the MIT License.
If this project saved you time, consider giving it a ⭐