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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions