Skip to content

feat: add Soulink — on-chain identity and trust for AI agents#379

Open
realwaynesun wants to merge 1 commit intotempoxyz:mainfrom
realwaynesun:feat/add-soulink
Open

feat: add Soulink — on-chain identity and trust for AI agents#379
realwaynesun wants to merge 1 commit intotempoxyz:mainfrom
realwaynesun:feat/add-soulink

Conversation

@realwaynesun
Copy link

New Service: Soulink

Service URL: https://soulink.dev
Skill file (llms.txt): https://soulink.dev/skill.md

What is Soulink?

MPP solves payments for machines. Soulink solves the other half — identity and trust.

Soulink is an on-chain identity service for AI agents on Base. Agents register .agent names (ERC-721 NFTs), verify each other via EIP-191 signatures, and build reputation through a public credit scoring system. No ETH needed — all payments settle via USDC (x402 or MPP).

We built MPP integration so agents can register their identity using Tempo payments, and so any MPP service can verify agent identity with one middleware call (soulinkGate()).

Why this matters for MPP

Every service in the MPP directory charges agents for API access, but there's no standard way to know who is calling or whether to trust them. Soulink fills this gap:

  • VerifyPOST /verify confirms an agent owns a .agent name (EIP-191 signature against on-chain owner)
  • TrustGET /credit/:name returns a reputation score based on peer reports
  • DiscoverGET /resolve/:name returns full identity: owner, payment address, chain registrations

Any MPP service can add soulinkGate({ minScore: 50 }) before their paid endpoints to gate access by identity + reputation.

Endpoints

Route Price Description
POST /api/v1/mpp/register Dynamic ($1 / $10) Register a .agent name via MPP payment
GET /api/v1/mpp/demo $0.01 Identity gate + MPP payment demo
POST /api/v1/verify Free Verify agent identity (EIP-191 signature)
GET /api/v1/credit/:name Free Check agent reputation score
GET /api/v1/resolve/:name Free Resolve agent on-chain identity
GET /api/v1/names/search Free Search available .agent names

Integration

  • First-party MPP integration (TypeScript, mppx SDK)
  • Tempo Mainnet (chain 4217), USDC payments
  • ERC-721 registry on Base (chain 8453), contract: 0x15d13ed36b337dff3d5877ed46655037ee4c1be0
  • Recipient: 0xD3dc65Bb4EF565358e43ad40Fd4e1c1CbdF2CD2f

Verification

  • pnpm check:types — pass
  • pnpm build — pass
  • Live 402 challenge verified:
curl -X POST https://soulink.dev/api/v1/mpp/register \
  -H 'Content-Type: application/json' \
  -d '{"name":"test","agent_wallet":"0x...","soul_hash":"0x...","payment_address":"0x..."}'
# → HTTP 402 with WWW-Authenticate: Payment ...

Stack

  • Server: Express 5 + mppx + better-sqlite3
  • Chain: Base mainnet (ERC-721 registry)
  • Payment: Tempo USDC via mppx, x402 USDC via soulink402
  • Frontend: Next.js static export on Cloudflare Workers

Add Soulink to the MPP service directory. Soulink provides the identity
layer that MPP's payment ecosystem currently lacks: agents register
.agent names (ERC-721 on Base), verify each other's identities, and
build on-chain reputation scores.

Any MPP service can add identity verification with one middleware call
(soulinkGate). Live on mainnet at soulink.dev.
@vercel
Copy link

vercel bot commented Mar 19, 2026

@realwaynesun is attempting to deploy a commit to the Tempo Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant