Proof of Personhood for Dating
An open protocol for identity verification, trust, and compatibility. Built for any dating platform, AI agent, or social app.
How do you prove someone is real?
AI-generated profiles and bots are flooding every dating platform. Each app solves identity verification independently — fragmented trust, duplicated effort, and users who must re-verify everywhere. XO Protocol changes this.
Three Layers of Dating Trust
A composable stack. Use any layer independently, or combine them all.
Proof of Personhood
Onchain SBTs verify real humans. Liveness detection, social attestations, and trust scores — portable across any platform.
Trust & Reputation
Community-derived reputation tiers and engagement scores. No behavioral breakdown exposed — just composite trust signals.
Compatibility Intelligence
AI-computed compatibility between verified users. Privacy-preserving scores without exposing personal data.
Four Endpoints, One Standard
Standard REST API endpoints that any dating platform can implement. XO provides the reference implementation.
Identity
Onchain proof of personhood via Soul Bound Token. Photo verification, social attestations, and trust score — portable across platforms.
Compatibility
AI-computed compatibility scores between users. No names, photos, or personal details — just how well two people match.
Reputation
Reputation tier and score based on community engagement. No activity details or behavioral breakdown exposed.
Engagement
Single composite engagement score derived from conversation quality. No communication style profiling or personality data.
Integrate in Minutes
Standard OAuth 2.0 + REST. If you've used Stripe or Twilio, you already know how this works.
// 1. User authorizes via OAuth
const authUrl = "https://xoxo.space/oauth/authorize"
+ "?client_id=your_client_id"
+ "&redirect_uri=https://yourapp.com/callback"
+ "&scope=identity,connections"
+ "&state=random123"
+ "&response_type=code";
// 2. Exchange code for token
const token = await fetch(
"https://protocol.xoxo.space/protocol/v1/auth/token",
{
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
grant_type: "authorization_code",
code: authCode,
client_id: "your_client_id",
client_secret: "your_secret",
redirect_uri: "https://yourapp.com/callback",
}),
}
);
// 3. Query dating intelligence
const connections = await fetch(
"https://protocol.xoxo.space/protocol/v1/connections/search",
{
headers: {
"X-API-Key": "your-api-key",
Authorization: `Bearer ${token.access_token}`,
},
}
);Open Standard, Not a Walled Garden
XO Protocol is designed to be adopted by any dating platform. XO provides the first implementation, but the protocol belongs to the ecosystem.
Platform-Agnostic
Any dating app can implement XO Protocol endpoints. Users verify once, trust everywhere.
Credibly Neutral
No single platform controls the protocol. SBTs are onchain, scores are portable, and the spec is open.
Reference Implementation
XO's live API serves as proof that the protocol works. Fork it, extend it, or build your own.
Privacy by Design
Privacy is built into the protocol spec, not just one implementation. Every adopter inherits the same guarantees.
OAuth 2.0 + PKCE
Users explicitly authorize each app. Supports both confidential and public clients with PKCE.
Ephemeral IDs
Real user IDs are never exposed. Connections return tmp_id tokens that expire in 24 hours.
Scoped Access
Each token is limited to the scopes the user approved. No scope creep, no hidden data access.
Built for the AI Agent Era
The social passport for AI agents. Portable identity, trust, and compatibility — credibly neutral, user-authorized.
Proof of Personhood
Privacy-preserving identity verification via onchain Soul Bound Tokens. Portable proof of personhood for dating platforms and AI agents.
AI Dating Coaches
Build agents that give personalized advice based on real compatibility scores, not generic tips.
MCP Servers
Give AI agents a social passport. Connect XO's trust scores, compatibility, and reputation to Claude, GPT, or any AI via MCP.