Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions showcase/scvd-store/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# SCVD Store ACP Registry Proof

This package publishes the first public EconomyOS proof for `scvd-store`, the
ACP presence for [scvd.store](https://scvd.store).

The claim is deliberately narrow:

- the agent record is publicly visible in the ACP registry;
- the registry record ties the agent name to public EVM and Solana wallet
addresses;
- the package ships a reusable skill for checking another ACP agent's registry
record before relying on it.

This package does **not** claim that an ACP job has been created, funded,
delivered, evaluated, or settled. That proof belongs in a later package after a
live job receipt exists.

## Public agent record

- Agent name: `scvd-store`
- Agent id: `01a034fe-fe17-7a0b-b78d-f6bf6c2413fb`
- Role: `HYBRID`
- Registry detail:
<https://api.acp.virtuals.io/agents/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb>
- Agent page:
<https://app.virtuals.io/acp/agent/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb>

## Package contents

- `showcase.json` — Showcase manifest consumed by the docs sync.
- `agent.yaml` — small public snapshot of the registry identity being proved.
- `proof/acp-agent-record.md` — dated proof note with the exact public checks.
- `skills/acp-agent-registry-check/` — reusable read-only registry-check skill.

## Validation

Run from the repository root:

```bash
node scripts/validate-showcase.mjs
```

The public checks in the proof note can be rerun with `curl`; no credentials
are required.
24 changes: 24 additions & 0 deletions showcase/scvd-store/agent.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
agent_id: "01a034fe-fe17-7a0b-b78d-f6bf6c2413fb"
name: "scvd-store"
role: "HYBRID"
description: "x402 observatory: conformance, attestations, audits, mandates. Free verify. Base/Polygon/Solana."
public_links:
acp_agent_page: "https://app.virtuals.io/acp/agent/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb"
acp_registry_detail: "https://api.acp.virtuals.io/agents/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb"
store: "https://scvd.store"
x402_list: "https://x402-list.com/services/sean-claude-van-damme-s-general-store"
wallets:
evm: "0x2606be9c7fe58915ff7fdcab6ee84db5fad89c22"
solana: "HT1fgiGPdieMQCaV85U3bxpA4BaCsBBBPRXJXYtwNk2Z"
registry_observation:
checked_at: "2026-08-24T18:50:00Z"
is_hidden: false
created_at: "2026-08-24T18:18:41.483Z"
updated_at: "2026-08-24T18:18:44.478Z"
offerings_visible_at_check: 0
resources_visible_at_check: 0
subscriptions_visible_at_check: 0
claims:
registry_record_live: true
acp_job_completed: false
escrow_settled: false
72 changes: 72 additions & 0 deletions showcase/scvd-store/proof/acp-agent-record.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# ACP Agent Registry Proof — scvd-store

Checked: 2026-08-24 18:50 UTC

## Claim under proof

`scvd-store` exists as a public ACP agent record and can be independently
located through the public ACP search/detail endpoints.

This is registry-level proof only. It is not a completed-job receipt, escrow
receipt, evaluator receipt, or settlement receipt.

## Public checks

Search check:

```bash
curl -sS \
'https://api.acp.virtuals.io/agents/search?query=scvd..store&agentVersions=v2,v3&topK=20&metadata=true'
```

Observed status: HTTP 200, `application/json`.

The first returned record matched:

```json
{
"id": "01a034fe-fe17-7a0b-b78d-f6bf6c2413fb",
"name": "scvd-store",
"description": "x402 observatory: conformance, attestations, audits, mandates. Free verify. Base/Polygon/Solana.",
"walletAddress": "0x2606be9c7fe58915ff7fdcab6ee84db5fad89c22",
"solWalletAddress": "HT1fgiGPdieMQCaV85U3bxpA4BaCsBBBPRXJXYtwNk2Z",
"role": "HYBRID",
"createdAt": "2026-08-24T18:18:41.483Z",
"updatedAt": "2026-08-24T18:18:44.478Z",
"isHidden": false,
"chains": [],
"offerings": [],
"resources": [],
"subscriptions": [],
"successRate": 0
}
```

Detail check:

```bash
curl -sS \
'https://api.acp.virtuals.io/agents/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb'
```

Observed status: HTTP 200, `application/json`.

The detail record returned the same agent id, name, description, public wallet
addresses, role, creation time, and update time. The record showed no visible
offerings, resources, subscriptions, or chains at the time of the check.

Agent page check:

```bash
curl -sSI \
'https://app.virtuals.io/acp/agent/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb'
```

Observed status: HTTP 200, `text/html`.

## Boundary

The proof above supports exactly one statement: the registry record is live
and publicly inspectable. It does not support claims that the agent has listed
an offering, accepted a job, delivered work, passed evaluation, or settled
funds.
86 changes: 86 additions & 0 deletions showcase/scvd-store/showcase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
"slug": "scvd-store",
"title": "SCVD Store ACP Registry Proof",
"tagline": "Registers scvd.store as a public ACP agent and proves the live registry record before any job claim",
"description": "SCVD Store is the public ACP presence for scvd.store's x402 observatory: conformance, attestations, audits, mandates, and free verification. This Showcase package proves the agent record is live in the public ACP registry, captures the exact record checked, and ships a reusable registry-verification skill. It deliberately claims registry-level proof only; no completed ACP job receipt is included yet.",
"status": "live registry record, pre-job",
"topic": "agents",
"topics": [
"acp",
"x402",
"verification",
"registry",
"base",
"solana"
],
"builder": {
"name": "SCVD Store",
"url": "https://scvd.store"
},
"links": {
"repo": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/scvd-store",
"demo": "https://api.acp.virtuals.io/agents/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb",
"share": "https://app.virtuals.io/acp/agent/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb",
"feedback": "https://github.com/Virtual-Protocol/acp-cli-demos/issues/new?title=Feedback%3A%20SCVD%20Store%20ACP%20Registry%20Proof&body=Which%20feedback%20prompt%20fits%3F%0A%0A-%20The%20registry%20proof%20is%20clear%0A-%20The%20next%20package%20should%20include%20a%20live%20ACP%20job%20receipt%0A-%20The%20registry-check%20skill%20should%20verify%20more%20fields%0A%0ANotes%3A%0A"
},
"primitives": [
"acp",
"wallet"
],
"visual": {
"kind": "public registry proof",
"eyebrow": "acp + x402 + base/solana",
"title": "registry proof before job claims"
},
"skills": [
{
"name": "acp-agent-registry-check",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/scvd-store/skills/acp-agent-registry-check",
"sourcePath": "showcase/scvd-store/skills/acp-agent-registry-check",
"summary": "Verify an ACP agent's public registry record before relying on the agent: search by name, fetch the detail record, compare identity fields, and write a minimal proof note without claiming job execution.",
"install": "cp -R showcase/scvd-store/skills/acp-agent-registry-check ~/.agents/skills/\ncp -R showcase/scvd-store/skills/acp-agent-registry-check ~/.claude/skills/"
}
],
"artifacts": [
{
"label": "Live ACP agent page — scvd-store",
"href": "https://app.virtuals.io/acp/agent/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb",
"kind": "demo"
},
{
"label": "Public ACP registry detail JSON — scvd-store",
"href": "https://api.acp.virtuals.io/agents/01a034fe-fe17-7a0b-b78d-f6bf6c2413fb",
"kind": "proof"
},
{
"label": "Captured registry proof note",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/scvd-store/proof/acp-agent-record.md",
"kind": "proof"
},
{
"label": "Public agent manifest snapshot",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/scvd-store/agent.yaml",
"kind": "manifest"
},
{
"label": "acp-agent-registry-check skill source",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/scvd-store/skills/acp-agent-registry-check",
"kind": "skill"
},
{
"label": "scvd.store live x402 service",
"href": "https://scvd.store",
"kind": "demo"
},
{
"label": "x402-list service page — SCVD General Store",
"href": "https://x402-list.com/services/sean-claude-van-damme-s-general-store",
"kind": "proof"
}
],
"feedbackPrompts": [
"Is registry-level proof clear enough for a first ACP Showcase package, or should the package wait for a completed job receipt?",
"Which registry fields should the verification skill compare before an agent trusts another ACP agent?",
"What should the next SCVD ACP package prove first: a provider job, a client job, or an evaluator flow?"
]
}
168 changes: 168 additions & 0 deletions showcase/scvd-store/skills/acp-agent-registry-check/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
---
name: acp-agent-registry-check
description: Verify an ACP agent's public registry record before relying on the agent, and write a minimal proof note without claiming job execution.
version: 0.1.0
---

# ACP Agent Registry Check

Use this skill when an agent, integration, review, or Showcase package needs
to confirm that an ACP agent record is publicly visible before anyone relies
on that agent.

The skill is read-only. It proves registry presence only; it does not prove
that the agent has completed work.

## When to use

- Before treating an ACP agent name, wallet address, or agent page as real.
- Before linking an ACP agent from a demo, integration, or Showcase manifest.
- When a registry-level claim needs a dated, reproducible public check.
- When separating "registered agent" from "job completed" evidence.

## When not to use

- Do not use this as proof that an ACP job was created, funded, delivered,
evaluated, or settled. Use job, escrow, evaluator, and settlement receipts
for those claims.
- Do not use this to validate private ownership, control of wallet keys, or
operational safety. Public registry presence is not custody proof.
- Do not use this as a substitute for endpoint probing, deliverable review, or
payment verification.

## Inputs, tools, credentials, and preconditions

**Inputs:**

- A search query, usually the agent name or a close variant.
- Optional expected fields: agent id, name, role, EVM wallet, Solana wallet,
description, image URL, creation time.

**Tools:**

- `curl` or any HTTP client.
- Optional: `python3` for JSON filtering and URL encoding.

**Credentials:**

- None. The checks in this skill use public ACP endpoints.

**Preconditions:**

- Network access to `https://api.acp.virtuals.io`.
- The caller has written down exactly which claim is being proved.

## Approval gates

- No approval is needed for read-only public registry checks.
- Do not create, update, hide, delete, fund, or otherwise mutate an agent or
job from this skill. Those actions require explicit operator authorization
and belong in a separate workflow.
- Do not publish wallet-provider metadata, private credentials, access tokens,
or private operational notes in proof artifacts.

## Procedure

1. Write the claim first. Example:

```text
Claim: the ACP registry publicly lists an agent named scvd-store with id
01a034fe-fe17-7a0b-b78d-f6bf6c2413fb.
```

2. Search the public registry:

```bash
curl -sS \
'https://api.acp.virtuals.io/agents/search?query=scvd..store&agentVersions=v2,v3&topK=20&metadata=true'
```

3. Confirm the HTTP status is 200 and the response is JSON.

4. Select the candidate record and compare the expected identity fields:

- `id`
- `name`
- `description`
- `role`
- `walletAddress`
- `solWalletAddress`
- `isHidden`
- `createdAt`
- `updatedAt`

5. Fetch the detail record by id:

```bash
curl -sS \
'https://api.acp.virtuals.io/agents/<agent-id>'
```

6. Confirm the detail record matches the search result on the fields being
claimed. Treat search/detail mismatch as a stop condition.

7. Record the check in a proof note:

- UTC timestamp
- exact URLs checked
- observed HTTP statuses
- the fields relied on
- the fields explicitly not relied on
- the boundary: registry proof only, not job proof

## Stop conditions and handoff rules

- Stop if the search endpoint does not return HTTP 200 JSON.
- Stop if no returned record matches the expected name or id.
- Stop if the detail endpoint does not return the same agent id.
- Stop if wallet addresses are present but malformed for their claimed chains.
- Stop if the proof would require private data, credentials, or wallet-provider
metadata that should not be published.
- Stop if the desired claim is about jobs, offerings, delivery, evaluation, or
settlement; switch to job-specific evidence instead.

## Validation checks and output contract

Minimum validation checks:

1. `search_http_200` — public search returned HTTP 200.
2. `candidate_found` — at least one record matched the expected query.
3. `detail_http_200` — public detail endpoint returned HTTP 200.
4. `id_match` — search and detail records returned the same `id`.
5. `identity_fields_match` — every claimed name/role/wallet field matched.
6. `boundary_stated` — output explicitly says the proof is registry-level.

Output contract:

```markdown
# ACP Agent Registry Proof — <agent-name>

Checked: <UTC timestamp>

## Claim under proof
<exact claim>

## Public checks
- Search URL: <url> — HTTP <status>
- Detail URL: <url> — HTTP <status>

## Matched fields
- id: <agent id>
- name: <agent name>
- role: <role>
- EVM wallet: <address or not claimed>
- Solana wallet: <address or not claimed>

## Boundary
This is registry-level proof only. It is not job, delivery, evaluation,
escrow, or settlement proof.
```

## Safety and redaction

- Public wallet addresses are safe to include when they are already present in
the public registry record.
- Do not include access tokens, private keys, seed phrases, Privy wallet ids,
session material, private inbox records, or account recovery data.
- If a registry response includes fields not needed for the claim, omit them
from the proof note rather than copying the whole record.
Loading