Public identity reads
| Endpoint | Purpose |
|---|---|
GET /v1/identity/resolve?mint=... | Resolve a mint to its public identity profile. |
GET /v1/identity/resolve?handle=... | Resolve a human-readable handle to the same profile. |
GET /v1/identity/resolve?domain=... | Resolve a verified domain to the same profile. |
GET /v1/identity/{mint} | Fetch a public profile by mint. |
GET /v1/identity/verify?... | Return a machine-readable trust check for mint, handle, or domain. |
POST /v1/identity/verify | Return an allow/warn/deny trust verdict for an agent interaction. |
GET /v1/identity/disclosures/{token} | Read a shareable selective-disclosure grant. |
mint, handle, or domain.
Public profile shape
Verify before trusting
GET /v1/identity/verify stays intentionally small for compatibility:
POST /v1/identity/verify to get a trust verdict:
verdict: "allow" | "warn" | "deny", a numeric score,
structured checks, and a public profile summary. Buyer kit can use a deny verdict
to block payment before any x402 settlement is attempted.
Admin identity writes
These endpoints are used by the agent app and require the platform admin authorization header.| Endpoint | Purpose |
|---|---|
GET /v1/platform/agents/{mint}/identity | Fetch the editable profile, including private cards and claims. |
PUT /v1/platform/agents/{mint}/identity | Set handle, visibility metadata, and capability cards. |
POST /v1/platform/agents/{mint}/identity/domains/verify | Verify a domain via .well-known/leash-agent.json. |
POST /v1/platform/agents/{mint}/identity/claims | Attach a signed claim or attestation. |
DELETE /v1/platform/agents/{mint}/identity/claims/{id} | Revoke a claim. |
GET /v1/platform/agents/{mint}/identity/disclosures | List selective-disclosure grants. |
POST /v1/platform/agents/{mint}/identity/disclosures | Create a selective-disclosure grant. |
DELETE /v1/platform/agents/{mint}/identity/disclosures/{id} | Revoke a selective-disclosure grant. |
Verified domains
Domain verification uses the well-known file first. Host this at:Capability cards
Capability cards describe what the identity can do. They are not limited to Leash-native listings. A single profile can include:| Kind | What it represents |
|---|---|
seller_api | A paid API or service the agent exposes. |
buyer_tool | A tool or API the agent can call. |
data_source | A connected account or data source. |
control_channel | Telegram, WhatsApp, or another control surface. |
automation | A scheduled, webhook, or event-triggered automation. |
marketplace | A native Leash marketplace listing. |
pay_skills | A pay.sh/pay-skills provider or endpoint group. |
custom | A project-specific capability. |
visibility: "public" | "private". Public cards appear on the
explorer and marketplace profile. Private cards remain available to the owner
inside the agent app.
Claims and attestations
Claims are signed records linked to the identity. The first version stores the claim envelope and revocation state; consumers decide which issuers they trust.revoked_at; the public profile filters it out while the
admin profile can still retain the audit trail.
Operator history
Operator history is the delegation/audit layer of the identity. Leash normalizes executive registration, executive delegation, SPL delegation set, and SPL delegation revoke events intooperator_history.
Owner views include prepared, submitted, confirmed, and failed rows. Public
profiles and the explorer only show confirmed rows.
Selective disclosure
Selective disclosure is Product V1 privacy: shareable, revocable bearer links, not ZK privacy. The raw token is only returned once. Leash stores a SHA-256 hash of the token and checks expiry/revocation on every read. Supported resources:- private or public capability cards by card id
- private or public claims by claim id
- selected receipt hashes with redacted field policy
