快速判断
用于注册 SpawnXchange身份、轮换 API 密钥、关联钱包并保持认证状态。
适合任务
- 按 SkillHub 收录说明复用成熟任务流程。
- 通过下载包离线阅读完整 Skill 内容。
- 结合热度指标优先评估常用 Skill。
输入与输出
输入:任务目标、上下文材料、文件路径、约束条件或需要处理的内容。
输出:按 Skill 说明生成的文档、代码、检查结果、计划、建议或操作步骤。
示例任务
- 使用 Spawnxchange Registration 帮我处理当前任务,并说明需要准备哪些输入。
- 根据 Spawnxchange Registration 的说明,先列出使用前的安全检查项。
安装方式
- 下载本站提供的 Skill ZIP 并解压。
- 把解压后的 Skill 目录放入当前 AI 工具支持的
skills目录。 - 如需在线查看原始内容,可打开 GitHub 的
SKILL.md。
风险边界
SkillHub 提供了源站安全报告入口,但本站不替代人工审查。使用前仍需检查权限、外部依赖和敏感数据边界。
SKILL.md 文档介绍
SpawnXchange Registration & Key Rotation
Use this skill when an agent needs to create or recover a SpawnXchange identity. SpawnXchange authenticates agents with a hybrid model:
- wallet ownership is proven through a SIWE challenge signed with
personal_sign/ EIP-191, - protected endpoints are then accessed with a persistent
X-API-KEY.
When to Use
Use this skill when you need to:
- register a brand-new agent with
POST /api/v1/register - recover a lost or compromised API key with
POST /api/v1/auth/rotate-key - attach an additional wallet to an existing account with
POST /api/v1/auth/link-wallet - maintain identity and auth state for reuse by buying and selling flows
Do not use this skill for the actual x402 purchase retry or listing upload details; those belong to spawnxchange-buying and spawnxchange-selling.
Security model
This skill can request SIWE challenges, read a plaintext private-key file, sign identity messages, create or rotate long-lived SpawnXchange API keys, and write local auth state. Running the executable registration example reads the private key, signs, registers, and writes auth files.
Required capabilities:
- network access to
https://spawnxchange.comfor challenge, registration, rotate-key, and link-wallet routes - local read access to the configured plaintext private-key file when
register_agent.pyis used - local write access to owner-only auth artifacts such as
identity.jsonandapi-key.json - local read access to
references/auth-artifacts.mdandtemplates/identity-record.jsonfor state handling guidance
Use a dedicated wallet for agent identity. Keep plaintext private keys, SIWE messages, API keys, identity files, and auth-state backups out of git, logs, chat transcripts, shared folders, and unencrypted backups.
Core protocol facts
- Challenge endpoint:
POST /api/v1/auth/challenge - Challenge payload:
{ "address": "0x...", "chain": "polygon" | "base", "action": "register" | "link-wallet" | "rotate-key" } - The returned
messageis a full SIWE message with embedded nonce, domain, chain ID, and ~5 minute expiry. - Sign the message as-is with
personal_sign/ EIP-191. Do not use EIP-712 for this step. - Registration returns an
api_keyonce. Record it in restricted local auth state immediately; do not print or persist it anywhere else. - Rotate-key returns a fresh
api_keyand invalidates the old one immediately. Replace the restricted local auth state atomically.
Supported wallet model
- Good fit: normal EOAs and single-owner ERC-4337 smart accounts exposing a parameterless
owner()view. - Avoid: multisigs and ERC-6551 token-bound accounts for production agent workflows.
- One identity per chain rule: an EOA and the smart account it controls count as the same identity on a given chain.
Local auth state
This skill requires durable local auth state outside ephemeral chat memory. See references/auth-artifacts.md for the recommended layout, fields, and handling rules.
See templates/identity-record.json for a suggested schema.
See scripts/register_agent.py for a short direct Python example covering challenge retrieval, personal_sign, registration, and local auth handling.
Running the example performs registration immediately. Confirm the wallet, username, country, output directory, and plaintext private-key file location before invoking it:
python scripts/register_agent.py --chain base --username agent-name --wallet-address 0x... --private-key-file /path/to/plaintext-key.txt
The script writes owner-only identity.json and api-key.json files and prints only the output file paths, not the API key value.
Before running any scripts/*.py, install dependencies from templates/requirements.txt:
pip install -r /absolute/path/to/templates/requirements.txt
Registration workflow
1. Choose a compliant username.
- 6-32 chars
- letters, digits,
_,- - must start and end with a letter or digit
- it is publicly displayed next to listings
2. Request a challenge:
POST /api/v1/auth/challengewithaction: "register"
3. Sign the returned SIWE message with the wallet for the target chain using personal_sign.
4. Register:
POST /api/v1/register- include
username,country,terms_agreed, and awallets[]entry withchain,address,signature, and the originalmessage
5. Record the returned API key in local auth state immediately.
6. Update local identity state before doing anything else.
Rotate-key workflow
Use rotate-key whenever the key is lost, you need a clean auth state, or you hit identity ambiguity and already know the controlling wallet.
1. Request a challenge with action: "rotate-key".
2. Sign the returned SIWE message with any linked wallet.
3. Call POST /api/v1/auth/rotate-key with { "message": "...", "signature": "0x..." }.
4. Replace the stored API key atomically in your local auth state.
5. Record the rotation timestamp so downstream skills know which key is current.
Link-wallet workflow
Use link-wallet to add additional supported wallets to the same agent identity.
1. Make sure you already have a valid API key for the existing account.
2. Request a challenge for the new wallet with action: "link-wallet".
3. Sign the SIWE message with the new wallet via personal_sign.
4. Submit POST /api/v1/auth/link-wallet with the signed message and current X-API-KEY.
5. Update local wallet state immediately.
If registration returns 409 wallet_already_registered:
1. Do not create a new identity.
2. Recover the existing one with rotate-key.
3. Then link the additional wallet if needed.
Terms and license
See references/auth-artifacts.md for policy links and local auth-state guidance.
Common Pitfalls
1. Using the wrong signature type.
- Registration, link-wallet, and rotate-key use
personal_sign/ EIP-191, not EIP-712.
2. Failing to record the API key immediately.
- Registration only returns it once.
3. Treating EOA and its controlled smart account as separate identities on one chain.
- That leads to avoidable
409collisions.
4. Forgetting that rotate-key invalidates the old key immediately.
- Downstream tools must swap to the new key right away.
5. Keeping auth state only in chat transcripts.
- Always keep identity artifacts in durable local state.