
空投与奖励
每人只发一次。一部手机上有 50 个钱包,也只能领一次。
为什么需要
一个手握 50 个钱包的刷量者,在你看来就是 50 个用户。Xodian 把每次应答都绑定到一部正版手机的硬件密钥上,让这个刷量工作室重新变回一个人。
每个钱包都被当成一个人,一个手机农场就能掏空整个活动。
同一部手机、同一个人、同一个 sub。其余 49 个钱包都归为同一个 ID。
这是规则的示意,并非实测:Xodian 会为同一部手机上的所有钱包返回相同的 ID。
适用场景

每人只发一次。一部手机上有 50 个钱包,也只能领一次。

排位赛、试玩和新手奖励,每位玩家只有一个账号。

无需询问成员身份,即可做到一人一票。

在 KYC 之前过滤机器人,只为真人支付完整的身份核验费用。
工作原理
扫码、查看共享内容、在 omni 中确认即可。你的服务器会收到一份可离线验证的凭证。
Acme Airdrop 想确认你是真实用户
Acme Airdrop 现在只知道你是真实用户,其他一概不知。
◆ 可信账户从设计上保护隐私
用户保住隐私,你也不必承担保存无用数据的责任。
{
"iss": "https://xodian.xode.net",
"aud": "rp_acme",
"sub": "oid_9f3c1a…e07b", // only you see this
"human": true,
"level": 2,
"level_name": "established",
"uniqueness": "new",
"nonce": "claim-8812",
"receipt": "1759651200-a1b2c3d4"
}
保障等级
创建会话时设置 minLevel。未达标时你只会收到 rejected,omni 会私下告诉用户如何达标。
手机用无法离开安全芯片的密钥签名,复制钱包助记词也没用。
Google 和 Apple 担保设备和应用是正版且未被篡改。
每个应用的 ID 都不同,合作方无法拼接数据来追踪个人。
每个判定每小时锚定到 XODE 链上,任何人都能确认事后没有被改动。
接入
就是普通的 HTTPS 和标准 JWT,任何语言、任何 JOSE 库都能接入。
沙盒
测试密钥和正式密钥用法一样,只是由模拟器代替手机应答。令牌用同样的代码验证,并带有 "test": true。生产环境中请拒绝带此标记的令牌。
免费,立即生成。每天最多 5 个密钥,每个密钥每天最多 500 个会话。
密钥只显示这一次,请在离开页面前保存。
会话会用你的密钥打开,然后选择“手机”如何应答。
// Get a test key to begin. Every call you make appears here,
// with the exact request your server would send.
在线演示
这里连接的是正式服务。右侧就是合作方服务器实际收到的内容。
// Waiting. Press "Verify with Xodian" to start.
| 接口 | 认证 | 用途 |
|---|---|---|
POST/v1/sessions | secret | 请求体 {scope, minLevel, reference}。返回 sessionId、url、deeplink、pollToken 和 expiresAt(5 分钟)。 |
GET/v1/sessions/{id} | secret | 状态。批准后还会返回 idToken、sub 和 level。 |
GET/v1/sessions/{id}/status?t= | pollToken | 仅返回状态,可安全地从浏览器调用。组件使用此接口。 |
POST/v1/test/clients | none | 自助沙盒密钥:{name} → 客户端 ID 和密钥。 |
POST/v1/test/sessions/{id}/simulate | test session | 应答测试会话:approve、deny、reject 或 expire。 |
GET/v1/.well-known/jwks.json | public | 签名公钥(ES256,按 kid 选择)。 |
GET/sentinel/receipt/{receipt} | public | 证明判定已锚定到 XODE 链上的默克尔证明。 |
pending → approved | denied | rejected | expired。每个会话只能使用一次。
session.* 和 grant.revoked 事件,使用 X-Omni-Signature: t=…,v1=HMAC_SHA256(secret, t.body) 签名。
先验证签名,再检查 iss、aud、exp,并确认 nonce 等于你发送的 reference。用 sub 作为用户标识。
new、returning(同一个人或同一部手机),或 contested(此钱包转移到了已被他人使用过的手机上)。contested 很可能是重复账户。
常见问题
不是。Xodian 只证明对方是使用正版手机的一个真实个人,从不知道也不透露他是谁。很多团队把它放在 KYC 之前,只为通过的人支付完整的身份核验费用。
不会。没有自拍、没有人脸扫描、也没有证件上传。证明来自手机的硬件密钥,以及 Google Play Integrity 或 Apple App Attest。
钱包会随之迁移,所以在你的应用里 ID 保持不变。如果钱包转移到了已被他人使用过的手机上,会被标记为 contested,由你决定如何处理。
可以,每部正版手机对应一个 ID。等级 2 要求每部手机持续活跃数周,成本会很高。Xodian 杜绝的是低成本的做法:一台设备上的多个钱包、模拟器和被篡改的应用。
Xodian 正在面向基于 XODE 构建服务的合作方提前开放。测试密钥免费。正式密钥和价格请联系我们。