Skip to content

Commit 4bd87cf

Browse files
committed
Add Arc marketplace showcase
1 parent f1e0b39 commit 4bd87cf

7 files changed

Lines changed: 790 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ Current capabilities:
206206
| [Local Economy](examples/local-economy/README.md) | Local buyer/seller economy with Docker |
207207
| [External x402 Facilitator](examples/external-x402-facilitator/README.md) | x402.org Base Sepolia validation |
208208
| [Thirdweb HTTP Facilitator](examples/thirdweb-http-facilitator/README.md) | Thirdweb HTTP API validation |
209+
| [Arc Marketplace Showcase](examples/arc-marketplace-showcase/README.md) | Visual vendor kiosk with Arc Testnet x402 exact settlement |
209210

210211
## Documentation
211212

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Use this index to choose the right integration path.
4343
| [Local Economy](../examples/local-economy/README.md) | Local buyer/seller stack with Docker |
4444
| [External x402 Facilitator](../examples/external-x402-facilitator/README.md) | x402.org exact settlement on Base Sepolia |
4545
| [Thirdweb HTTP Facilitator](../examples/thirdweb-http-facilitator/README.md) | Thirdweb HTTP facilitator integration |
46+
| [Arc Marketplace Showcase](../examples/arc-marketplace-showcase/README.md) | Visual vendor kiosk with Arc Testnet x402 exact settlement |
4647

4748
## Operator and Production Docs
4849

docs/facilitators.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,14 @@ So the operational requirement for an already configured profile is only:
298298

299299
That is a deployment requirement, not a missing architecture requirement.
300300

301+
For a visual Arc vendor demo, use the Arc marketplace showcase:
302+
303+
```bash
304+
bash scripts/start_arc_marketplace_showcase.sh
305+
```
306+
307+
Runbook: [../examples/arc-marketplace-showcase/README.md](../examples/arc-marketplace-showcase/README.md).
308+
301309
## External Facilitators
302310

303311
External facilitators remain first-class. If a seller advertises an `exact` payment requirement using another facilitator, OmniClaw's buyer flow can still pay through the standard x402 SDK path as long as:
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# Arc Marketplace Showcase
2+
3+
This showcase is a visual vendor marketplace for Arc Testnet settlement.
4+
5+
It is intentionally not a text-heavy demo. The browser UI represents the vendor as a kiosk with paid services. A buyer agent selects a paid URL, OmniClaw enforces buyer policy, x402 `exact` settles on Arc Testnet, and the vendor unlocks the result.
6+
7+
## What It Proves
8+
9+
- A vendor can expose multiple paid services from one marketplace surface.
10+
- The seller advertises standard x402 `exact` requirements for Arc Testnet.
11+
- The buyer pays through OmniClaw policy control instead of raw wallet access.
12+
- The self-hosted OmniClaw exact facilitator verifies and settles on Arc.
13+
- The settlement transaction can be opened on ArcScan.
14+
15+
## Components
16+
17+
| Component | Role |
18+
| --- | --- |
19+
| Kiosk vendor app | Marketplace UI and paid product endpoints |
20+
| OmniClaw exact facilitator | Self-hosted x402 `verify` and `settle` service |
21+
| Buyer Financial Policy Engine | Policy-controlled payment executor for OpenClaw or `omniclaw-cli` |
22+
| ArcScan | External proof that settlement happened on Arc Testnet |
23+
24+
## Start The Vendor Kiosk
25+
26+
Required seller/facilitator env:
27+
28+
```bash
29+
export OMNICLAW_PRIVATE_KEY="0xSellerOrFacilitatorKey"
30+
export OMNICLAW_X402_FACILITATOR_PRIVATE_KEY="0xFacilitatorKey"
31+
```
32+
33+
If both roles use the same funded test key, `OMNICLAW_X402_FACILITATOR_PRIVATE_KEY` can be omitted and the launcher will reuse `OMNICLAW_PRIVATE_KEY`.
34+
35+
Start the showcase:
36+
37+
```bash
38+
bash scripts/start_arc_marketplace_showcase.sh
39+
```
40+
41+
Open:
42+
43+
```text
44+
http://127.0.0.1:8020
45+
```
46+
47+
The kiosk displays three vendor services:
48+
49+
- Prime Market Scan
50+
- Risk Oracle Brief
51+
- Settlement Receipt Kit
52+
53+
Each card exposes a paid URL for OpenClaw or `omniclaw-cli`.
54+
55+
## Buyer Flow
56+
57+
Point the agent CLI at the buyer Financial Policy Engine:
58+
59+
```bash
60+
export OMNICLAW_SERVER_URL="http://127.0.0.1:8080"
61+
export OMNICLAW_TOKEN="buyer-agent-token"
62+
```
63+
64+
Inspect the seller requirements:
65+
66+
```bash
67+
omniclaw-cli inspect-x402 \
68+
--recipient "http://127.0.0.1:8020/buy/prime-market-scan"
69+
```
70+
71+
Pay:
72+
73+
```bash
74+
omniclaw-cli pay \
75+
--recipient "http://127.0.0.1:8020/buy/prime-market-scan" \
76+
--idempotency-key "arc-kiosk-001"
77+
```
78+
79+
OpenClaw prompt:
80+
81+
```text
82+
pay for this url: http://127.0.0.1:8020/buy/prime-market-scan
83+
```
84+
85+
## ArcScan Proof
86+
87+
The buyer payment response should include the settlement transaction hash. Open it with:
88+
89+
```text
90+
https://testnet.arcscan.app/tx/<settlement_tx>
91+
```
92+
93+
Capture these proof assets:
94+
95+
- kiosk UI before payment
96+
- `inspect-x402` output showing `exact` and Arc `eip155:5042002`
97+
- `pay` output showing settled status and transaction hash
98+
- ArcScan transaction page
99+
- kiosk fulfillment feed after unlock
100+
101+
## Environment Overrides
102+
103+
```bash
104+
export ARC_MARKETPLACE_PORT=8020
105+
export ARC_MARKETPLACE_PUBLIC_BASE_URL="http://127.0.0.1:8020"
106+
export ARC_MARKETPLACE_BUYER_BASE_URL="http://127.0.0.1:8020"
107+
export ARC_MARKETPLACE_EXPLORER_BASE_URL="https://testnet.arcscan.app/tx/"
108+
109+
export OMNICLAW_X402_EXACT_NETWORK_PROFILE="ARC-TESTNET"
110+
export OMNICLAW_X402_FACILITATOR_NETWORK_PROFILE="ARC-TESTNET"
111+
export OMNICLAW_X402_FACILITATOR_RPC_URL="https://rpc.testnet.arc.network"
112+
export OMNICLAW_X402_FACILITATOR_NETWORKS="eip155:5042002"
113+
export OMNICLAW_X402_EXACT_FACILITATOR_URL="http://127.0.0.1:4022"
114+
```
115+
116+
## Product Framing
117+
118+
The demo should be explained in one line:
119+
120+
```text
121+
An agent buys from an Arc vendor kiosk through OmniClaw policy control, and x402 exact settlement is confirmed on ArcScan.
122+
```

0 commit comments

Comments
 (0)