Skip to content

showcase: Kairune — proven wallets + self-serve spend permissions - #116

Open
kairunedev wants to merge 4 commits into
Virtual-Protocol:mainfrom
kairunedev:showcase/kairune-wallet-proof-self-serve
Open

showcase: Kairune — proven wallets + self-serve spend permissions#116
kairunedev wants to merge 4 commits into
Virtual-Protocol:mainfrom
kairunedev:showcase/kairune-wallet-proof-self-serve

Conversation

@kairunedev

Copy link
Copy Markdown

showcase: Kairune — proven wallets + self-serve spend permissions

Updates the existing kairune-verifiable-trust card. Two things shipped since
the original submission, and the card no longer described what the product
actually does.

Wallet proof (EIP-191). An agent proves it controls the wallet it claims by
signing a server-issued challenge with personal_sign — chain 4663,
domain-bound to kairune.online, 600s TTL. The private key never leaves the
wallet. Proof status is a public read, because a payer deciding whether to
release funds needs to know whether the address it is about to pay was ever
proven. The scope is deliberately narrow: it proves wallet control, not
trustworthiness. The score still has to be earned from attestations.

Self-serve spend permissions. Granting a budget, spending against it,
scoping payees, setting expiry and revoking no longer require a platform admin
key. Authorisation moves to where it belongs: an agent below EMERGING
(score 250) is refused a budget with 409 tier_too_low, because there is no
behavioural basis to extend it credit yet. The tier gate is the access control,
and it is a stronger one than a shared platform key because it cannot be handed
around. The practical effect is that the API is now usable by agents that are
not us — verified end to end against production with no admin key: register →
attest → score crosses 250 → grant → spend → budget → revoke.

Changes in this PR

  • showcase.json — description, tagline and visual.title updated; two
    artifacts added (API docs, the wallet-proof/self-serve PR); the /api/meta
    label now names wallet_proof: eip191-personal-sign; two feedback prompts
    swapped for ones that reflect open design questions (kept at exactly three
    per scripts/validate-showcase.mjs)
  • README.md — a "since first submission" section covering both changes

Checks

  • node scripts/validate-showcase.mjs → passes, 59 manifests validated
  • All 11 URLs referenced by the card return 200 (live endpoints, both PRs,
    both X posts, poster and mp4 assets)
  • Branched off current upstream/main; diff touches only the two files inside
    showcase/kairune-verifiable-trust/
  • No new assets, no changes to shared files or workflows

Feedback prompts

The two new prompts are genuine open questions, not rhetorical ones:

  • Is 250 the right floor before an agent may hold any budget, or should
    tier 0 get a probationary micro-ceiling? A hard floor is safe but gives a new
    honest agent no on-ramp.
  • Should a proven wallet be required before a budget is granted, rather than
    merely recorded alongside it? Requiring it is stricter, but it puts a signing
    step in front of every new agent.

Wallet proof via EIP-191 personal_sign (chain 4663, 600s TTL) and self-serve spend permissions gated by trust tier instead of a platform admin key. Updates description, tagline, visual title, two artifacts, and two feedback prompts. Validator passes; all referenced URLs return 200.
Copilot AI lite review requested due to automatic review settings August 27, 2026 16:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the kairune-verifiable-trust showcase card to reflect newly shipped product capabilities (wallet proof via EIP-191 and self-serve spend permissions) so the manifest and README match current behavior.

Changes:

  • Refreshes the card’s tagline/description and visual.title to include proven wallets + self-serve spend enforcement.
  • Adds new artifacts (API docs and the wallet-proof/self-serve PR) and updates the /api/meta artifact label.
  • Replaces two feedback prompts to reflect current open design questions.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
showcase/kairune-verifiable-trust/showcase.json Updates card copy, artifacts, and feedback prompts to match the current Kairune feature set.
showcase/kairune-verifiable-trust/README.md Adds a “since first submission” section and updates proof links to include docs and the new PR.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +4 to +5
"tagline": "An agent earns its budget instead of being handed one: verifiable trust score, proven wallet, scoped spend it cannot cross.",
"description": "Kairune is the trust layer for AI agents that spend, and it is now self-serve end to end: an agent registers, earns attestations, crosses a tier threshold, grants itself a scoped budget, spends against it, and revokes — with no platform admin key anywhere in that path. Authorisation comes from the trust tier instead: an agent below EMERGING (score 250) is refused a budget with 409 tier_too_low, because there is no behavioural basis to extend it credit yet. Both sides of the record are verifiable. Attestation issuers register Ed25519 keys and sign each attestation; the server verifies every signature and weights verified attestations fully while discounting unsigned ones (0.25x). The wallet an agent claims can be proven with an EIP-191 personal_sign challenge (chain 4663, 600s TTL) without the private key ever leaving the wallet. Spend enforcement is live — over-ceiling charges are blocked with 409 ceiling_exceeded and every decision fires an HMAC-SHA256 signed webhook. Exposed as ACP offerings (lookup score, register agent, record attestation, full report) on Robinhood Chain via Virtuals.",
@kairunedev

Copy link
Copy Markdown
Author

Heads up in case it is useful: the Showcase PR Review check here failed at the Fetch review rubric step, before it got as far as reading the manifest —

Rubric fetch failed with HTTP 401. Check DEVREL_SKILL_TOKEN scope/expiry.

It looks environmental rather than specific to this PR: the same workflow is currently failing on main and on showcase/og-block too, while older runs (zizi-risk-desk, scvd-store-acp-registry-proof, kleos-research) went green. So it reads like DEVREL_SKILL_TOKEN expired rather than anything in the diff — but you would know better than me.

On my side, before opening this I checked:

  • node scripts/validate-showcase.mjs passes locally (59 manifests validated), including the exactly-three feedbackPrompts rule
  • All 11 URLs referenced by the card return 200
  • Branched off current upstream/main; the diff touches only the two files inside showcase/kairune-verifiable-trust/, no shared files or workflows

Happy to rebase and re-push whenever you want a fresh run, or to adjust anything in the card. No rush from my end.

root added 2 commits August 28, 2026 00:45
Swaps the inline video for a 0:13 film of the full arc: the agent registers
itself, is refused a permission at 409 tier_too_low while UNRATED, earns
attestations until the score crosses 250, then gets a ceiling it cannot cross.
The refusal is the part worth showing — it is what makes the tier gate real
rather than decorative.

Hosted on kairune.online rather than committed here, so the diff stays text and
reviewers do not have to pull 496K of binary. The previous 0:06 demo is kept as
an artifact.
… compliant)

Adds a verifiable artifact pointing at the new derived adapter
GET /api/agents/:id/erc8126 (alias /api/erc8126/agents/:id), which
exposes Kairune's behavioural score as an inverted 0..100 risk
(100 - Math.round(score/10)) with a per-type breakdown that is
explicit about what is missing: ETV/MCV/SCV/WAV not_implemented,
WV partial via EIP-191 personal_sign, PDV/ZKP/QCV absent, agentId
null (no ERC-8004 tokenId). Payload carries compliant:false and a
disclosure string so a spec reader cannot mistake this for a claim
of provider compliance. Consumer use is as a minVerificationScore-
style input to an ERC-8196 policy, not a substitute for the five
required verification types.

Validated 59 manifests. Artifacts: 11 -> 12.

Live: https://kairune.online/api/agents/voyager-07/erc8126
"title": "Kairune — Verifiable Agent Trust Layer",
"tagline": "Every agent gets a verifiable, cryptographically-signed trust score — then scoped spend by tier.",
"description": "Kairune is the trust layer for AI agents that spend. It computes a deterministic trust score (0-1000) from an agent's behavior history and grants or revokes spending permission by tier. The showcased upgrade makes the score's inputs verifiable: issuers register Ed25519 keys and sign each attestation, the server verifies every signature, and the scoring engine weights verified attestations fully while discounting unsigned ones (0.25x). Exposed as ACP offerings (lookup score, register agent, record attestation, full report) on Robinhood Chain via Virtuals.",
"tagline": "An agent earns its budget instead of being handed one: verifiable trust score, proven wallet, scoped spend it cannot cross.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: the contributor guide asks for no trailing period on taglines.

Suggested change
"tagline": "An agent earns its budget instead of being handed one: verifiable trust score, proven wallet, scoped spend it cannot cross.",
"tagline": "An agent earns its budget instead of being handed one: verifiable trust score, proven wallet, scoped spend it cannot cross",

"description": "Kairune is the trust layer for AI agents that spend, and it is now self-serve end to end: an agent registers, earns attestations, crosses a tier threshold, grants itself a scoped budget, spends against it, and revokes — with no platform admin key anywhere in that path. Authorisation comes from the trust tier instead: an agent below EMERGING (score 250) is refused a budget with 409 tier_too_low, because there is no behavioural basis to extend it credit yet. Both sides of the record are verifiable. Attestation issuers register Ed25519 keys and sign each attestation; the server verifies every signature and weights verified attestations fully while discounting unsigned ones (0.25x). The wallet an agent claims can be proven with an EIP-191 personal_sign challenge (chain 4663, 600s TTL) without the private key ever leaving the wallet. Spend enforcement is live — over-ceiling charges are blocked with 409 ceiling_exceeded and every decision fires an HMAC-SHA256 signed webhook. Exposed as ACP offerings (lookup score, register agent, record attestation, full report) on Robinhood Chain via Virtuals.",
"status": "live",
"topic": "commerce",
"topics": ["identity", "commerce", "acp"],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's align this with the standard list from the contributor guide (agents, skills, commerce, security). acp is already captured in primitives, and agents and security seem like a good fit for what this showcases.

Suggested change
"topics": ["identity", "commerce", "acp"],
"topics": ["agents", "commerce", "security"],

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown

This is a great update, thanks for adding the new wallet-proof and self-serve spend features — showing the agent getting turned down before it earns trust is a really nice touch.

Everything looks solid. The validator passes and the links are all live, though one of the API endpoints seemed to be down when I checked — could you double-check the erc8126 link in your artifacts?

I left a couple of optional copy suggestions inline to bring the tagline and description a bit closer to the contributor guide's conventions. Feel free to take or leave them!

Suggested edits (couldn't be anchored inline — copy manually)

showcase/kairune-verifiable-trust/showcase.json (around line 4)
Optional nit, but the contributor guide suggests a more direct, verb-led tagline. Something like this might read a bit punchier on the card.

    "tagline": "Earn a budget from a verifiable trust score, prove wallet control, and spend against a scoped ceiling it cannot cross",

showcase/kairune-verifiable-trust/showcase.json (around line 5)
This is another optional one, but the current description is quite long for the showcase card. A slightly shorter version like this might be easier for visitors to scan quickly.

    "description": "Kairune is a trust layer for AI agents that spend. Agents earn a trust score from verifiable attestations, prove wallet control via EIP-191, and can then grant themselves a scoped budget without needing a platform admin key. Access is gated by trust tier — agents with low scores are refused a budget, while spending above the earned ceiling is blocked. The system is live with ACP offerings on Robinhood Chain via Virtuals.",

Refreshed after a new push. Any inline suggestions from the first pass may now be stale.

Tagline without trailing period, topics to agents/commerce/security,
feedback prefill synced to current feedbackPrompts. No content change.

Co-Authored-By: internal-model
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.

2 participants