/install paratrix-life-register
Paratrix Life — Registration + Mint Skill
Automate the full flow: wallet connect → paratrix-life registration → SBT mint. Zero external dependencies — uses Node.js built-in modules + browser bridge for wallet interactions.
Trigger
Activate when the user's message contains any of:
PARATRIX-LIFEparatrix-life- Explicit request to register on the Living Map or mint an SBT
How It Works
The skill runs a local HTTP bridge server that serves an embedded HTML page. When a wallet interaction (signing or transaction) is needed, it opens the user's default browser to a page that triggers MetaMask. The result is posted back to the local server, and the script continues.
No Puppeteer/Playwright required. No external npm packages needed.
Prerequisites
- Node.js ≥ 18 (already available)
- MetaMask or compatible Web3 wallet extension installed in default browser
- Wallet must be funded with BNB for gas (testnet BNB from faucet for devnet)
Environment
| Environment | API Base | SBT URL | Chain |
|---|---|---|---|
| testnet | https://devnet-lifestyle-api.karpak.xyz |
https://devnet.paratrix-sbt.pages.dev |
BSC Testnet (97) |
| mainnet | https://lifestyle-api.karpak.xyz |
https://sbt.karpak.xyz |
BSC Mainnet (56) |
Default: testnet unless user specifies mainnet.
Parameter Extraction (MANDATORY)
Before running the script, you MUST scan the user's message for these parameters. Extract them from natural language and map to CLI flags:
| User may say | Extract to CLI flag | Example extraction |
|---|---|---|
Nickname: qqqqq or name is qqqqq |
--nickname=qqqqq |
Any string after "nickname/name" |
Twitter: @abc or twitter abc |
--twitter=abc |
Strip leading @ if present |
Identity: HUMAN or type is AGENT |
--identity=IDENTITY_TYPE_HUMAN |
Prefix with IDENTITY_TYPE_, uppercase |
Environment: testnet or env is mainnet |
--env=testnet |
testnet or mainnet |
Wallet: 0xABC... or address 0xABC... |
--wallet=0xABC... |
Must start with 0x |
If the user provides a parameter, you MUST pass it. Never silently drop user-provided values.
If a parameter is NOT provided by the user, omit the flag entirely — the script will auto-generate nicknames/twitter or use sensible defaults.
Extraction Examples
User says:
paratrix-life-register
Please register my wallet on Paratrix Life and mint the Soulbound Token.
Registration details:
Nickname: test Twitter handle (no @): abc Identity type: AI Agent Environment: testnet
Run the register-and-mint script with these parameters. Open browser bridge when wallet interaction is needed. Report the final result when done.
You run:
node {{SKILL_DIR}}/register-and-mint.mjs --nickname=test --twitter=abc --identity=IDENTITY_TYPE_AGENT --env=testnet
User says:
paratrix-life-register
Please register my wallet on Paratrix Life and mint the Soulbound Token.
Registration details:
Nickname: test Twitter handle (no @): abc Identity type: AI Agent
Run the register-and-mint script with these parameters. Open browser bridge when wallet interaction is needed. Report the final result when done.
You run:
node {{SKILL_DIR}}/register-and-mint.mjs --nickname=test --twitter=abc --identity=IDENTITY_TYPE_AGENT --env=mainnet
User says:
paratrix-life-register, nickname: alice, identity: HUMAN, env: mainnet
You run:
node {{SKILL_DIR}}/register-and-mint.mjs --nickname=alice --identity=IDENTITY_TYPE_HUMAN --env=mainnet
Execution
Construct the CLI command from extracted parameters and run:
node {{SKILL_DIR}}/register-and-mint.mjs [OPTIONS]
Path Resolution:
{{SKILL_DIR}}resolves to the skill's installed directory:
- OpenClaw:
~/.openclaw/workspace/skills/paratrix-life-register- Hermes:
~/.hermes/skills/paratrix-life-registerIf
{{SKILL_DIR}}is not supported, use the appropriate path above for your platform.
Full Flag Reference
| Flag | Default | Description |
|---|---|---|
--nickname=NAME |
Auto-generated (openclaw_XXXXXXXX) |
Display name on paratrix-life |
--identity=TYPE |
IDENTITY_TYPE_HUMAN |
IDENTITY_TYPE_HUMAN or IDENTITY_TYPE_AGENT |
--twitter=USER |
Auto-generated | Twitter username for SBT (no @) |
--wallet=0x... |
(via bridge) | Skip wallet connect step |
--env=testnet|mainnet |
testnet |
Target environment |
Flow Diagram
┌─────────────┐ ┌──────────────┐ ┌───────────────┐
│ 1. Connect │────▶│ 2. IssueNonce│────▶│ 3. Sign msg │
│ wallet │ │ (API) │ │ (MetaMask) │
└─────────────┘ └──────────────┘ └───────┬───────┘
│
▼
┌──────────────┐ ┌──────────────────────────────────────┐
│ 5. Profile? │◀───▶│ 4. Verify → accountStatus │
│ (if needed)│ │ PROFILE_REQUIRED → set profile │
└──────┬───────┘ │ CREDENTIAL_REQUIRED → mint SBT │
│ │ ACTIVE → done! │
▼ └──────────────────────────────────────┘
┌─────────────────────────────────────────────────────┐
│ 6. Mint SBT Flow: │
│ credentialMintConfig → mint-signature → │
│ MetaMask tx → wait confirm → verify credential │
└─────────────────────────────────────────────────────┘
User Interaction Points
The script opens the browser exactly twice (or once if already registered):
- Sign message — User clicks "Sign" in MetaMask
- Mint transaction — User clicks "Confirm" in MetaMask to pay gas
Each browser tab auto-closes after the user acts.
Mint Status Check
Before minting, the script calls GET /api/mint-status on the SBT server. If mintEnded is true, the mint is skipped and the user is notified. This prevents attempting to mint when the campaign has ended.
Error Handling
The script handles these errors gracefully:
| Error | Behavior |
|---|---|
| No wallet extension | Reports to user, exits |
| User rejects signature | Reports to user, exits |
| User rejects transaction | Reports to user, exits |
| Nonce expired | Suggests retry |
| Invalid token | Suggests re-login |
| Transaction reverted | Reports on-chain failure |
| Timeout (120s) | Reports timeout, exits |
State Machine
ACCOUNT_STATUS_PROFILE_REQUIRED → PUT /v1/me → CREDENTIAL_REQUIRED or ACTIVE
ACCOUNT_STATUS_CREDENTIAL_REQUIRED → mint SBT → ACTIVE
ACCOUNT_STATUS_ACTIVE → done
Configuration via Environment Variables
| Variable | Default | Description |
|---|---|---|
KARPAK_ENV |
testnet |
Target environment |
KARPAK_NICKNAME |
(auto) | Default nickname |
KARPAK_IDENTITY |
IDENTITY_TYPE_HUMAN |
Identity type |
KARPAK_TWITTER |
(auto) | Default Twitter handle |
KARPAK_WALLET |
(bridge) | Pre-set wallet address |
BRIDGE_PORT |
random 3000-4000 | Local bridge server port |
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install paratrix-life-register - 安装完成后,直接呼叫该 Skill 的名称或使用
/paratrix-life-register触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Paratrix life register 是什么?
Automate Paratrix Life registration and SBT minting on the Karpak Living Map. Activate when user asks to register/mint an SBT. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 64 次。
如何安装 Paratrix life register?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install paratrix-life-register」即可一键安装,无需额外配置。
Paratrix life register 是免费的吗?
是的,Paratrix life register 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Paratrix life register 支持哪些平台?
Paratrix life register 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(darwin, linux)。
谁开发了 Paratrix life register?
由 karpak(@karpak-developer)开发并维护,当前版本 v1.0.4。