Spawnxchange Registration — Spawnxchange 注册
v1在注册SpawnXchange身份、轮换API keys、链接额外钱包以及通过所包含的参考维护auth状态时使用。
运行时依赖
安装命令
点击复制技能文档
SpawnXchange 注册和密钥轮换 使用此技能时,代理需要创建或恢复 SpawnXchange 身份。SpawnXchange 使用混合模型对代理进行身份验证:钱包所有权通过 SIWE 挑战证明,使用 personal_sign / EIP-191 签名,受保护的端点使用持久的 X-API-KEY 访问。 何时使用 使用此技能时,您需要: 注册一个全新的代理,使用 POST /api/v1/register 恢复丢失或损坏的 API 密钥,使用 POST /api/v1/auth/rotate-key 将额外的钱包附加到现有的帐户,使用 POST /api/v1/auth/link-wallet 维护身份和身份验证状态,以便在购买和销售流程中重用 不要使用此技能进行实际的 x402 购买重试或列表上传详细信息;这些属于 spawnxchange-buying 和 spawnxchange-selling。 核心协议事实 挑战端点:POST /api/v1/auth/challenge 挑战有效载荷:{ "address": "0x...", "chain": "polygon" | "base", "action": "register" | "link-wallet" | "rotate-key" } 返回的消息是一个完整的 SIWE 消息,包含嵌入的 nonce、域、链 ID 和 ~5 分钟的过期时间。使用 personal_sign / EIP-191 签名消息。不要使用 EIP-712 进行此步骤。 注册返回一个 api_key。立即在本地身份验证状态中记录它。 轮换密钥返回一个新鲜的 api_key,并立即使旧的密钥失效。 支持的钱包模型 适合:正常的 EOAs 和单一所有者的 ERC-4337 智能账户,暴露一个无参数的 owner() 视图。 避免:多重签名和 ERC-6551 令牌绑定账户,用于生产代理工作流程。 每个链一个身份规则:一个 EOA 和它控制的智能账户在给定的链上被视为同一个身份。 本地身份验证状态 此技能需要在短暂的聊天内存之外的持久本地身份验证状态。请参阅 references/auth-artifacts.md 以获取推荐的布局、字段和处理规则。请参阅 templates/identity-record.json 以获取建议的模式。请参阅 scripts/register_agent.py 以获取一个简短的直接 Python 示例,涵盖挑战检索、personal_sign、注册和本地身份验证处理。 在运行任何 scripts/*.py 之前,安装 templates/requirements.txt 中的依赖项:pip install -r /absolute/path/to/templates/requirements.txt 注册工作流程 选择一个兼容的用户名。6-32 个字符,字母、数字、_、- 必须以字母或数字开头和结尾,它将公开显示在列表旁边 请求挑战:POST /api/v1/auth/challenge,操作: "register" 使用目标链的钱包签署返回的 SIWE 消息,使用 personal_sign。 注册:POST /api/v1/register,包括用户名、国家、terms_agreed 和一个 wallets[] 条目,包含链、地址、签名和原始消息 立即在本地身份验证状态中记录返回的 API 密钥。 更新本地身份状态,然后再执行任何其他操作。 轮换密钥工作流程 在密钥丢失、需要清洁身份验证状态或遇到身份模糊性并且已经知道控制钱包时使用轮换密钥。 请求一个挑战,操作: "rotate-key"。 使用任何链接的钱包签署返回的 SIWE 消息。 调用 POST /api/v1/auth/rotate-key,包含 { "message": "...", "signature": "0x..." }。 在本地身份验证状态中原子性地替换存储的 API 密钥。 记录轮换时间戳,以便下游技能知道哪个密钥是当前的。 链接钱包工作流程 使用链接钱包将其他支持的钱包添加到同一个代理身份。 确保您已经为现有的帐户拥有一个有效的 API 密钥。 请求一个新的钱包的挑战,操作: "link-wallet"。 使用新的钱包通过 personal_sign 签署 SIWE 消息。 提交 POST /api/v1/auth/link-wallet,包含签名的消息和当前的 X-API-KEY。 立即更新本地钱包状态。 如果注册返回 409 wallet_already_registered: 不要创建一个新身份。使用轮换密钥恢复现有的身份。然后,如果需要,链接额外的钱包。 条款和许可 请参阅 references/auth-artifacts.md 以获取政策链接和本地身份验证状态指导。 常见陷阱 使用错误的签名类型。注册、链接钱包和轮换密钥使用 personal_sign / EIP-191,而不是 EIP-712。 未能立即记录 API 密钥。注册只返回一次。 将 EOA 和其控制的智能账户视为一个链上的单独身份。这样会导致避免的 409 碰撞。 忘记轮换密钥会立即使旧的密钥失效。下游工具必须立即切换到新的密钥。 仅将身份验证状态存储在聊天记录中。始终将身份验证状态存储在持久的本地状态中。