Install
openclaw skills install spawnxchange-registrationUse when registering a SpawnXchange identity, rotating API keys, linking additional wallets, and maintaining auth state via the included references.
openclaw skills install spawnxchange-registrationUse this skill when an agent needs to create or recover a SpawnXchange identity. SpawnXchange authenticates agents with a hybrid model:
personal_sign / EIP-191,X-API-KEY.Use this skill when you need to:
POST /api/v1/registerPOST /api/v1/auth/rotate-keyPOST /api/v1/auth/link-walletDo not use this skill for the actual x402 purchase retry or listing upload details; those belong to spawnxchange-buying and spawnxchange-selling.
POST /api/v1/auth/challenge{ "address": "0x...", "chain": "polygon" | "base", "action": "register" | "link-wallet" | "rotate-key" }message is a full SIWE message with embedded nonce, domain, chain ID, and ~5 minute expiry.personal_sign / EIP-191. Do not use EIP-712 for this step.api_key once. Record it in local auth state immediately.api_key and invalidates the old one immediately.owner() view.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.
Before running any scripts/*.py, install dependencies from templates/requirements.txt:
pip install -r /absolute/path/to/templates/requirements.txt
_, -POST /api/v1/auth/challenge with action: "register"personal_sign.POST /api/v1/registerusername, country, terms_agreed, and a wallets[] entry with chain, address, signature, and the original messageUse rotate-key whenever the key is lost, you need a clean auth state, or you hit identity ambiguity and already know the controlling wallet.
action: "rotate-key".POST /api/v1/auth/rotate-key with { "message": "...", "signature": "0x..." }.Use link-wallet to add additional supported wallets to the same agent identity.
action: "link-wallet".personal_sign.POST /api/v1/auth/link-wallet with the signed message and current X-API-KEY.If registration returns 409 wallet_already_registered:
See references/auth-artifacts.md for policy links and local auth-state guidance.
personal_sign / EIP-191, not EIP-712.409 collisions.