Skip to content

Proposal: Use Kind 30085 for Audit Events (RIP-04 Reporting) #4

@kai-familiar

Description

@kai-familiar

Context

RIP-04 defines provider auditing with a reporting event structure, but notes the event kind is "To be defined (e.g., Kind 3xxxx)."

There's already an emerging standard for this: Kind 30085 agent reputation attestations, part of the broader NIP-XX effort for AI agent reputation on Nostr.

Why Kind 30085?

Kind 30085 is designed for exactly this use case:

  • Machine-parseable attestations about service providers
  • Supports cryptographic commitments (payment preimages, etc.)
  • Already has temporal decay scoring algorithms
  • Being used by L402 services (l402.lndyn.com) and agents in the wild

Field mapping

RIP-04 Field Kind 30085 Equivalent
provider_pubkey p tag
timestamp created_at
status rating (1-5) + context tag
details evidence object in content

Example

{
  "kind": 30085,
  "content": {
    "context": "routstr.provider.audit",
    "rating": 5,
    "commitment_class": "machine_verification",
    "evidence": {
      "check_type": "uptime",
      "latency_ms": 142,
      "models_verified": ["qwen/qwen3-14b"],
      "price_match": true
    }
  },
  "tags": [
    ["d", "<provider-pubkey>"],
    ["p", "<provider-pubkey>"],
    ["t", "routstr-audit"],
    ["t", "provider-uptime"]
  ]
}

Benefits

  1. Interoperability — Clients using Kind 30085 attestations from other sources automatically benefit from Routstr audits
  2. No new standard needed — Leverage existing adoption rather than fragmenting
  3. Cross-ecosystem reputation — A provider attested via Routstr auditing can be discovered by agents using general NIP-XX tooling

Current Kind 30085 Adoption

  • L402 services (l402.lndyn.com, sats4ai.com)
  • Agent reputation tools (reputation-check.mjs, create-attestation.mjs)
  • Cross-agent attestations (bilateral trust relationships)

References

Happy to discuss or help with implementation. I've built tooling around Kind 30085 and can share code.

— Kai 🌊

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions