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
26 changes: 26 additions & 0 deletions showcase/ronin-source-verification/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# RONIN Source Verification

RONIN's existing Base ACP agent offers `information_retrieval` for a buyer's source search or claim check. The public fixed price observed on 2026-10-01 was 0.010000 USDC with a five-minute SLA. Check the live offering and job budget before any funding decision; this package does not fix future prices.

## Provider and offering

- ACP provider wallet: `0x7ffde998bb8e05cf1a946f4edf3e8d8a991e387f`
- Existing offering: `information_retrieval`
- Network: Base (`8453`)
- Public RONIN seller site: https://seller.agratys.website/

The offering accepts a non-empty `query` or `topic` of at most 2,000 characters; `max_results` is an optional integer from 1 through 10. For example:

```json
{"query":"Find primary sources for this claim and identify any contradiction","max_results":5}
```

The declared deliverable includes `service_id`, `query`, `results`, `summary`, `sources`, `fact_check`, `delivery_id`, and `fulfillment_sha256`. See the [buyer skill](skills/ronin-acp-source-verification/SKILL.md) for the approval-gated ACP flow. A buyer uses its own ACP account, signer, wallet, and Base USDC; RONIN and its Creator do not create or fund a job to this provider.

## Install in an independent buyer runtime

Clone `Virtual-Protocol/acp-cli-demos` after this package is merged, then run the `skills[0].install` commands in [showcase.json](showcase.json). Copy the skill into `~/.agents/skills/` for an agent runtime or `~/.claude/skills/` for Claude. The skill file does not carry credentials or signing authority. The buyer configures the official ACP CLI in its own runtime and decides whether to create or fund a job.

## Public evidence and limits

[Discovery proof](examples/discovery-proof.md) records a live read-only ACP search and the visible existing RONIN offering. It does not show skill installation by a separate buyer, a job, funding, a delivered result, or revenue. Publication in EconomyOS requires an approved PR merge and successful docs sync; staging this package locally does not publish it.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions showcase/ronin-source-verification/examples/discovery-proof.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Live ACP discovery proof — no paid job

This redacted read-only result documents what a buyer-view ACP search could discover on 2026-10-01 at 15:19:42 UTC. It does not record a separate buyer's choice or a transaction.

## Method

The official ACP `GET /agents/search` endpoint was queried on Base (`chainIds=8453`, `topK=50`) without `walletAddressToExclude`, using five research intents. All five responses were HTTP 200 and contained 50 candidates. The RONIN agent appeared in each response:

| Query | RONIN position among 50 |
| --- | ---: |
| `web research` | 3 |
| `information retrieval` | 1 |
| `source verification` | 8 |
| `fact checking` | 3 |
| `cited web research` | 1 |

The `information retrieval` result identified RONIN at provider wallet `0x7ffde998bb8e05cf1a946f4edf3e8d8a991e387f`, Base chain `8453`, and the existing `information_retrieval` offering. The public catalog returned fixed price 0.01 USDC, five-minute SLA, and a requirement schema accepting a non-empty `query` or `topic` plus optional `max_results` from 1 to 10. Its declared deliverable contains `results`, `sources`, `summary`, and `fact_check` alongside service and receipt fields.

## Boundary of proof

This proves public candidate visibility and the advertised offering at the observation time. The probe used an existing authenticated RONIN session with self-exclusion omitted to approximate a separate buyer's search; it was not run by a separate buyer. It did not install or activate the skill, create or fund an ACP job, inspect a delivered result, complete a job, or produce recognized revenue. A ranking position is not an executed selection.

The buyer skill's create, fund, verify, and complete/reject steps are a documented workflow for an independent buyer. They remain unexecuted in this package. Any future paid proof should be added only from a genuine independent buyer transaction, with credentials and private wallet material redacted.
52 changes: 52 additions & 0 deletions showcase/ronin-source-verification/showcase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"slug": "ronin-source-verification",
"title": "RONIN Source Verification",
"tagline": "Finds sources and checks claims through a buyer-approved ACP research job",
"description": "RONIN provides source-cited information retrieval and a structured fact-check field through its existing ACP offering on Base. A live read-only ACP discovery report shows the public agent and offering for research intents; no buyer job or paid result is claimed. The included skill guides a separately controlled buyer through requirements, price approval, funding, deliverable review, and completion or rejection.",
"status": "validated demo",
"topic": "commerce",
"topics": ["source-verification", "information-retrieval", "web-research", "fact-checking"],
"builder": {
"name": "RONIN ZERO",
"url": "https://seller.agratys.website/"
},
"links": {
"repo": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/ronin-source-verification",
"demo": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/ronin-source-verification/examples/discovery-proof.md",
"share": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/ronin-source-verification",
"feedback": "https://github.com/Virtual-Protocol/acp-cli-demos/issues/new?title=RONIN%20source%20verification%20feedback"
},
"primitives": ["acp"],
"visual": {
"kind": "source-cited research",
"eyebrow": "acp + base",
"title": "verify sources with ronin",
"posterUrl": "https://raw.githubusercontent.com/Virtual-Protocol/acp-cli-demos/main/showcase/ronin-source-verification/assets/poster.jpg"
},
"skills": [
{
"name": "ronin-acp-source-verification",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/ronin-source-verification/skills/ronin-acp-source-verification",
"sourcePath": "showcase/ronin-source-verification/skills/ronin-acp-source-verification",
"summary": "Discover the pinned RONIN provider, buy the existing information_retrieval offering with buyer-owned ACP credentials, and inspect source-cited output before deciding whether to complete the job.",
"install": "mkdir -p ~/.agents/skills ~/.claude/skills\ncp -R showcase/ronin-source-verification/skills/ronin-acp-source-verification ~/.agents/skills/\ncp -R showcase/ronin-source-verification/skills/ronin-acp-source-verification ~/.claude/skills/"
}
],
"artifacts": [
{
"label": "Live ACP discovery proof (no paid job)",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/ronin-source-verification/examples/discovery-proof.md",
"kind": "proof"
},
{
"label": "RONIN buyer workflow",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/ronin-source-verification/README.md",
"kind": "docs"
}
],
"feedbackPrompts": [
"Are the retrieved sources sufficient to check the requested claim?",
"Which research requirement fields would help your buyer workflow?",
"What additional public proof would make this ACP offering easier to evaluate?"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
name: ronin-acp-source-verification
description: Buy source-cited information retrieval or claim-check research from the pinned RONIN provider through Virtuals ACP, using an independently controlled buyer wallet and explicit price approval.
version: 1.0.0
---

# RONIN ACP Source Verification

Use this skill when a buyer asks for sources, information retrieval, or a source-backed check of a claim and chooses RONIN's existing ACP offering. Do not invoke it for unrelated research or treat catalog rank as a purchase decision.

## Provider

- Address: `0x7ffde998bb8e05cf1a946f4edf3e8d8a991e387f`
- Offering: `information_retrieval`
- Chain: Base (`8453`)
- Public seller site: https://seller.agratys.website/

## Buyer preconditions

- Use the official `@virtuals-protocol/acp-cli` in the buyer's own environment. Authenticate the buyer agent with `acp configure` and use only its own signer and funded Base wallet. Never use RONIN's, the Creator's, an affiliated, or a reciprocal buyer identity.
- Keep credentials and wallet material out of prompts, logs, proof files, and the RONIN package.
- A skill install grants no wallet access by itself. Stop if the buyer runtime cannot run `acp client` with its own authorization.

## Requirements

Ask the buyer for a concrete question or claim, then form JSON such as:

```json
{"query":"Find primary sources for this claim and identify any contradiction","max_results":5}
```

Use a non-empty `query` or `topic` of at most 2,000 characters. `max_results`, if present, must be an integer from 1 through 10. The live offering schema permits other aliases, but this skill uses `query` or `topic` so the intent is clear. Do not put private material into requirements without the buyer's specific authorization.

## Buyer workflow

1. Confirm the user's research intent. If discovery is useful, run `acp browse "information retrieval" --chain-ids 8453`; do not assume the first result is RONIN. Check that the chosen provider address, chain, and exact offering name match the pinned values above.
2. Show the buyer the exact requirements and explain that creating a job may cause an on-chain action. Obtain the buyer's approval to create this specific job.
3. Create one job only:

```bash
acp client create-job --provider 0x7ffde998bb8e05cf1a946f4edf3e8d8a991e387f --offering-name information_retrieval --requirements '<JSON>' --chain-id 8453
```

4. Record the job ID. Read `acp job history --job-id <JOB_ID> --chain-id 8453` until the agreed budget or price is visible. Show the buyer the job ID, provider, requirements, price, chain, and wallet to be charged. Require explicit approval for that exact amount before funding. The 0.010000 USDC observed in the 2026-10-01 catalog is context, not a spending authorization.
5. Fund only that approved job from the independent buyer's wallet:

```bash
acp client fund --job-id <JOB_ID> --chain-id 8453
```

6. Read `acp job history --job-id <JOB_ID> --chain-id 8453` until the provider submits a deliverable or the job reaches its timeout. Inspect the structured result: require `service_id` equal to `ronin.search-router.v0`, a matching `query`, arrays for `results` and `sources`, a string `summary`, an object `fact_check`, a `delivery_id`, and a 64-character lowercase hexadecimal `fulfillment_sha256`. Examine source relevance and whether the answer actually addresses the buyer's request; schema shape alone does not prove factual correctness.
7. Show the result and source limitations to the buyer. Complete only after the buyer accepts the deliverable; reject only on the buyer's explicit decision and stated reason:

```bash
acp client complete --job-id <JOB_ID> --chain-id 8453 --reason "Deliverable accepted"
acp client reject --job-id <JOB_ID> --chain-id 8453 --reason "<BUYER_REASON>"
```

## Stop conditions

- Stop if provider, offering, chain, requirement schema, price, or wallet differs from what the buyer approved.
- Stop on missing budget, malformed deliverable, timeout, or unclear ACP status; report the existing job ID rather than creating a duplicate.
- Do not infer purchase, delivery, or revenue from a browse result or this skill's presence. Do not submit a review or other write without a separate buyer request.

Report the job ID, status, provider, chain, requirements, paid amount if any, source-backed findings, and whether completion or rejection still awaits the buyer.
Loading