arc-builder-kit 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arc_builder_kit-0.2.0/LICENSE +21 -0
- arc_builder_kit-0.2.0/MANIFEST.in +15 -0
- arc_builder_kit-0.2.0/PKG-INFO +543 -0
- arc_builder_kit-0.2.0/README.md +518 -0
- arc_builder_kit-0.2.0/arc_builder_kit/__init__.py +4 -0
- arc_builder_kit-0.2.0/arc_builder_kit/__main__.py +6 -0
- arc_builder_kit-0.2.0/arc_builder_kit/_paths.py +47 -0
- arc_builder_kit-0.2.0/arc_builder_kit/cli.py +277 -0
- arc_builder_kit-0.2.0/arc_builder_kit/doctor.py +936 -0
- arc_builder_kit-0.2.0/arc_builder_kit/mcp_server.py +463 -0
- arc_builder_kit-0.2.0/arc_builder_kit/release_packet.py +469 -0
- arc_builder_kit-0.2.0/arc_builder_kit/validate_repo.py +2212 -0
- arc_builder_kit-0.2.0/arc_builder_kit.egg-info/PKG-INFO +543 -0
- arc_builder_kit-0.2.0/arc_builder_kit.egg-info/SOURCES.txt +64 -0
- arc_builder_kit-0.2.0/arc_builder_kit.egg-info/dependency_links.txt +1 -0
- arc_builder_kit-0.2.0/arc_builder_kit.egg-info/entry_points.txt +3 -0
- arc_builder_kit-0.2.0/arc_builder_kit.egg-info/requires.txt +5 -0
- arc_builder_kit-0.2.0/arc_builder_kit.egg-info/top_level.txt +1 -0
- arc_builder_kit-0.2.0/build_support.py +93 -0
- arc_builder_kit-0.2.0/config/arc_testnet.facts.json +31 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-components/components.js +200 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-components/index.html +120 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-flows/flows.js +271 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-flows/index.html +114 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-live/commerce-live.js +190 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-live/index.html +105 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-review-packet/index.html +96 -0
- arc_builder_kit-0.2.0/examples/agent-commerce-review-packet/packet.js +125 -0
- arc_builder_kit-0.2.0/examples/agent-identity-profile-preview/identity.js +126 -0
- arc_builder_kit-0.2.0/examples/agent-identity-profile-preview/index.html +104 -0
- arc_builder_kit-0.2.0/examples/arc-agent-treasury-lab/index.html +152 -0
- arc_builder_kit-0.2.0/examples/arc-agent-treasury-lab/treasury.js +532 -0
- arc_builder_kit-0.2.0/examples/arc-testnet-operator-evidence/evidence.example.json +47 -0
- arc_builder_kit-0.2.0/examples/arc-testnet-wallet-send-gate/index.html +233 -0
- arc_builder_kit-0.2.0/examples/arc-testnet-wallet-send-gate/live-infrastructure-policy.example.json +59 -0
- arc_builder_kit-0.2.0/examples/arc-testnet-wallet-send-gate/wallet-send-gate.js +472 -0
- arc_builder_kit-0.2.0/examples/circle-wallet-integration/index.html +155 -0
- arc_builder_kit-0.2.0/examples/circle-wallet-integration/wallet-lab.js +91 -0
- arc_builder_kit-0.2.0/examples/job-escrow-simulator/index.html +121 -0
- arc_builder_kit-0.2.0/examples/job-escrow-simulator/simulator.js +162 -0
- arc_builder_kit-0.2.0/examples/payment-intent-demo/index.html +132 -0
- arc_builder_kit-0.2.0/examples/payment-intent-playground/index.html +301 -0
- arc_builder_kit-0.2.0/examples/payment-intent-playground/playground.js +835 -0
- arc_builder_kit-0.2.0/examples/payment-intent-receipt-matcher/index.html +157 -0
- arc_builder_kit-0.2.0/examples/payment-intent-receipt-matcher/matcher.js +877 -0
- arc_builder_kit-0.2.0/examples/receipt-verifier-playground/index.html +120 -0
- arc_builder_kit-0.2.0/examples/receipt-verifier-playground/verifier.js +226 -0
- arc_builder_kit-0.2.0/examples/receipt-viewer/index.html +138 -0
- arc_builder_kit-0.2.0/examples/receipt-viewer/receipt-viewer.js +472 -0
- arc_builder_kit-0.2.0/examples/transaction-status-playground/index.html +135 -0
- arc_builder_kit-0.2.0/examples/transaction-status-playground/status.js +518 -0
- arc_builder_kit-0.2.0/examples/x402-local-challenge-server/.env.example +25 -0
- arc_builder_kit-0.2.0/examples/x402-local-challenge-server/README.md +111 -0
- arc_builder_kit-0.2.0/examples/x402-local-challenge-server/server.py +711 -0
- arc_builder_kit-0.2.0/pyproject.toml +44 -0
- arc_builder_kit-0.2.0/setup.cfg +4 -0
- arc_builder_kit-0.2.0/setup.py +33 -0
- arc_builder_kit-0.2.0/templates/README.md +25 -0
- arc_builder_kit-0.2.0/templates/job-escrow-starter/README.md +25 -0
- arc_builder_kit-0.2.0/templates/job-escrow-starter/index.html +41 -0
- arc_builder_kit-0.2.0/templates/job-escrow-starter/index.js +14 -0
- arc_builder_kit-0.2.0/templates/payment-intent-starter/README.md +25 -0
- arc_builder_kit-0.2.0/templates/payment-intent-starter/index.html +42 -0
- arc_builder_kit-0.2.0/templates/payment-intent-starter/index.js +7 -0
- arc_builder_kit-0.2.0/templates/x402-agent-starter/README.md +29 -0
- arc_builder_kit-0.2.0/templates/x402-agent-starter/server.py +201 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
include build_support.py
|
|
2
|
+
include setup.py
|
|
3
|
+
include config/arc_testnet.facts.json
|
|
4
|
+
recursive-include templates *.html *.js *.md *.py
|
|
5
|
+
recursive-include examples *.html *.js *.json *.md *.py
|
|
6
|
+
include examples/x402-local-challenge-server/.env.example
|
|
7
|
+
global-exclude __pycache__
|
|
8
|
+
global-exclude *.py[cod]
|
|
9
|
+
global-exclude .DS_Store
|
|
10
|
+
global-exclude *.log
|
|
11
|
+
global-exclude .env
|
|
12
|
+
global-exclude *.key
|
|
13
|
+
global-exclude *.p12
|
|
14
|
+
global-exclude *.pem
|
|
15
|
+
global-exclude *.pfx
|
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: arc-builder-kit
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Arc MCP Builder Assistant — installable CLI and MCP server for Arc builder tooling.
|
|
5
|
+
Author: Anstrays
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: arc,mcp,builder,stablecoin,agent,x402
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
16
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
Provides-Extra: dev
|
|
21
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
22
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
23
|
+
Requires-Dist: twine>=5.0; extra == "dev"
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
|
|
26
|
+
# Arc MCP Builder Assistant
|
|
27
|
+
|
|
28
|
+
[](https://github.com/Anstrays/arc-mcp-builder-assistant/actions/workflows/validate.yml)
|
|
29
|
+
[](./LICENSE)
|
|
30
|
+
[](#status)
|
|
31
|
+
[](https://anstrays.github.io/arc-mcp-builder-assistant/)
|
|
32
|
+
|
|
33
|
+
> Independent Arc builder kit for MCP, stablecoin payment intents, guarded Arc Testnet wallet handoff, and x402-style paid-agent boundaries.
|
|
34
|
+
|
|
35
|
+
Arc MCP Builder Assistant helps developers turn Arc docs and MCP context into practical, reviewable agent-commerce prototypes. It ships a static docs site, source-grounded prompts, local playgrounds, regression tests, a dependency-free x402-style challenge server, and a separate disabled-by-default Arc Testnet browser-wallet send lab.
|
|
36
|
+
|
|
37
|
+
Use this repo when you want to prototype Arc-focused payment infrastructure with reviewable JSON first, explicit human approval, no private keys, no mainnet, and no autonomous spending. Local examples remain wallet-free; the isolated send lab can request one manually reviewed Arc Testnet transaction only after every guard passes.
|
|
38
|
+
|
|
39
|
+
## Table of contents
|
|
40
|
+
|
|
41
|
+
- [Why this matters](#why-this-matters)
|
|
42
|
+
- [What this is and is not](#what-this-is-and-is-not)
|
|
43
|
+
- [Builder quickstart](#builder-quickstart)
|
|
44
|
+
- [Arc-focused use cases](#arc-focused-use-cases)
|
|
45
|
+
- [Configuration](#configuration)
|
|
46
|
+
- [Troubleshooting](#troubleshooting)
|
|
47
|
+
- [Current kit](#current-kit)
|
|
48
|
+
- [Screenshots](#screenshots)
|
|
49
|
+
- [Completion status](#completion-status)
|
|
50
|
+
- [Safe-scope completion contract](#safe-scope-completion-contract)
|
|
51
|
+
- [Local development](#local-development)
|
|
52
|
+
- [Repository structure](#repository-structure)
|
|
53
|
+
- [Safety and honesty](#safety-and-honesty)
|
|
54
|
+
- [Contributing](#contributing)
|
|
55
|
+
- [Status](#status)
|
|
56
|
+
|
|
57
|
+
## Why this matters
|
|
58
|
+
|
|
59
|
+
Arc's public docs and positioning point toward stablecoin-native finance, agentic economy applications, autonomous agents, onchain identity, and developer-friendly payment infrastructure.
|
|
60
|
+
|
|
61
|
+
Many builders want to explore that direction, but the first step is often messy:
|
|
62
|
+
|
|
63
|
+
- finding the right docs;
|
|
64
|
+
- translating docs into implementation tasks;
|
|
65
|
+
- creating safe AI-coding prompts;
|
|
66
|
+
- scoping a realistic first demo;
|
|
67
|
+
- documenting what works and what fails.
|
|
68
|
+
|
|
69
|
+
This kit turns those steps into reusable guides, prompts, and examples.
|
|
70
|
+
|
|
71
|
+
## What this is and is not
|
|
72
|
+
|
|
73
|
+
**What this is**
|
|
74
|
+
|
|
75
|
+
- An independent, source-grounded builder kit for prototyping Arc Testnet agent-commerce flows with reviewable JSON and explicit human approval.
|
|
76
|
+
- A static site plus dependency-free local playgrounds, prompts, docs, and a one-command Python/Node regression suite.
|
|
77
|
+
- A local x402-style paid-agent boundary you can run and inspect without a wallet or live settlement.
|
|
78
|
+
- A separate, disabled-by-default Arc Testnet browser-wallet lab that can request exactly one manually reviewed, capped USDC transfer after every guard passes.
|
|
79
|
+
|
|
80
|
+
**What this is not**
|
|
81
|
+
|
|
82
|
+
- Not custodial — it never holds, requests, or stores private keys, seed phrases, or secrets.
|
|
83
|
+
- Not a production or mainnet payment processor, and it makes no claim of being ready for either.
|
|
84
|
+
- Not an autonomous spender — there is no signing path outside the external wallet confirmation dialog, and nothing signs or broadcasts on page load.
|
|
85
|
+
- Not an official Arc product or endorsement.
|
|
86
|
+
|
|
87
|
+
Custody, mainnet, autonomous spending, and live settlement remain blocked behind separate security reviews.
|
|
88
|
+
|
|
89
|
+
## Builder quickstart
|
|
90
|
+
|
|
91
|
+
The repo is static-site first. Its test runner is Python-driven and uses
|
|
92
|
+
Node.js built-ins for actual-JavaScript behavior checks. No npm install,
|
|
93
|
+
package manager, database, wallet, or paid SaaS dependency is required.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# 1. Run the full local regression suite.
|
|
97
|
+
python3 scripts/test_all.py
|
|
98
|
+
|
|
99
|
+
# 2. Preview the GitHub Pages site locally.
|
|
100
|
+
python3 -m http.server 8080
|
|
101
|
+
# open http://localhost:8080/
|
|
102
|
+
# open http://localhost:8080/examples/arc-agent-treasury-lab/ for the self-funding-agent simulator
|
|
103
|
+
# guarded send lab stays disabled unless its exact reviewed-testnet query gate is present
|
|
104
|
+
|
|
105
|
+
# 3. Run the local x402-style paid-agent boundary.
|
|
106
|
+
python3 examples/x402-local-challenge-server/server.py --port 8087
|
|
107
|
+
# in another terminal: curl -i http://127.0.0.1:8087/protected
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Installable CLI and MCP server
|
|
111
|
+
|
|
112
|
+
The Python 3.10+ PyPI distribution is self-contained: it includes the reviewed Arc Testnet
|
|
113
|
+
facts, starter templates, and local examples needed by the CLI and stdio MCP
|
|
114
|
+
server. After publication, install it in an isolated environment:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
python3 -m pip install arc-builder-kit==0.2.0
|
|
118
|
+
arc-builder --version
|
|
119
|
+
arc-builder templates
|
|
120
|
+
arc-builder validate
|
|
121
|
+
arc-builder-mcp-server
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
`arc-builder validate` checks the full repository when run from a clone and
|
|
125
|
+
checks installed package integrity when run from a wheel. Default commands make
|
|
126
|
+
zero network calls. The only network-enabled doctor flags are explicit,
|
|
127
|
+
read-only opt-ins; no command accepts private keys, signs, or broadcasts.
|
|
128
|
+
|
|
129
|
+
Maintainers publish through the release-only Trusted Publishing workflow in
|
|
130
|
+
`.github/workflows/publish-pypi.yml`; no long-lived PyPI token is stored in the
|
|
131
|
+
repository. First-release setup and the exact pending-publisher values are in
|
|
132
|
+
[`docs/builder-tooling.md`](./docs/builder-tooling.md#maintainer-release-flow).
|
|
133
|
+
|
|
134
|
+
### Arc Builder Doctor
|
|
135
|
+
|
|
136
|
+
One command tells you whether your clone, Arc Testnet facts, and public
|
|
137
|
+
builder-kit boundaries are healthy. It is an orchestrator over the existing
|
|
138
|
+
checks and makes **zero network calls by default**.
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# Local-only summary (exit 0 for pass/warn, non-zero for fail).
|
|
142
|
+
python3 scripts/arc_builder_doctor.py
|
|
143
|
+
|
|
144
|
+
# Machine-readable report (only JSON on stdout).
|
|
145
|
+
python3 scripts/arc_builder_doctor.py --json
|
|
146
|
+
|
|
147
|
+
# Markdown report for CI summaries or PR comments.
|
|
148
|
+
python3 scripts/arc_builder_doctor.py --markdown
|
|
149
|
+
|
|
150
|
+
# Full local verification (also runs the canonical suite once).
|
|
151
|
+
python3 scripts/arc_builder_doctor.py --full
|
|
152
|
+
|
|
153
|
+
# Opt-in, read-only Arc Testnet RPC chain-id check.
|
|
154
|
+
python3 scripts/arc_builder_doctor.py --include-arc-rpc
|
|
155
|
+
|
|
156
|
+
# Opt-in, read-only public GitHub Pages health check.
|
|
157
|
+
python3 scripts/arc_builder_doctor.py --include-public-site
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Arc Builder Doctor can emit a Markdown report for PR/release review and CI summaries.
|
|
161
|
+
|
|
162
|
+
The optional `--include-arc-rpc` and `--include-public-site` checks are the only
|
|
163
|
+
ones that touch the network. The Arc RPC check uses read-only JSON-RPC `POST`;
|
|
164
|
+
the public-site check uses `GET`. Neither connects a wallet, signs, or
|
|
165
|
+
broadcasts a transaction. See
|
|
166
|
+
[`docs/arc-builder-doctor.md`](./docs/arc-builder-doctor.md) for the report
|
|
167
|
+
contract and check list.
|
|
168
|
+
|
|
169
|
+
### Release packet
|
|
170
|
+
|
|
171
|
+
Generate a local, read-only maintainer-facing packet for PR/release review. The
|
|
172
|
+
command is dependency-free, makes no network calls, and writes to
|
|
173
|
+
`.arc-release-packet/` (which is ignored by git):
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
python3 scripts/generate_arc_release_packet.py --force
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Or through the unified CLI:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
python3 scripts/arc_builder_cli.py release-packet --force
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
The packet includes the Arc Builder Doctor Markdown report, Arc Testnet facts,
|
|
186
|
+
a readiness checklist, an examples index, and a machine-readable
|
|
187
|
+
`release-packet.json`. No wallet, signing, broadcast, custody, mainnet,
|
|
188
|
+
secrets, or storage are involved.
|
|
189
|
+
|
|
190
|
+
Useful one-shot checks:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
python3 scripts/validate_arc_testnet_facts.py
|
|
194
|
+
python3 examples/x402-local-challenge-server/server.py --print-challenge
|
|
195
|
+
python3 examples/x402-local-challenge-server/server.py --print-manifest
|
|
196
|
+
python3 scripts/check_completion.py
|
|
197
|
+
X402_DEMO_AMOUNT=0.05 python3 examples/x402-local-challenge-server/server.py --print-challenge
|
|
198
|
+
python3 scripts/validate_operator_evidence.py
|
|
199
|
+
python3 scripts/generate_operator_evidence_draft.py --reviewed-commit FULL_LOWERCASE_COMMIT_SHA
|
|
200
|
+
python3 scripts/report_operator_evidence.py arc.operator-evidence.local.json --expect-commit FULL_LOWERCASE_COMMIT_SHA
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
`config/arc_testnet.facts.json` is the reviewed offline source of truth for the
|
|
204
|
+
Arc Testnet chain ID, RPC, explorer, USDC interfaces, and decimal boundaries.
|
|
205
|
+
The facts validator makes no network calls; it fails if critical implementation,
|
|
206
|
+
policy, or demo surfaces drift from that contract or its reviewed baseline.
|
|
207
|
+
Re-check the linked official Arc sources before publication because Testnet
|
|
208
|
+
facts can change; a legitimate update must change the contract and validator
|
|
209
|
+
baseline together in a reviewed PR.
|
|
210
|
+
|
|
211
|
+
On Windows, use `python` instead of `python3` if that is how Python is installed.
|
|
212
|
+
The canonical suite also uses Node.js 18+ for dependency-free fake-provider
|
|
213
|
+
and fake-RPC behavioral tests; it does not require npm install, live RPC, or
|
|
214
|
+
browser-wallet access.
|
|
215
|
+
|
|
216
|
+
## Arc-focused use cases
|
|
217
|
+
|
|
218
|
+
- **Paid API agent:** model an Arc Testnet USDC x402-style `402 -> proof -> protected response` boundary before production Gateway verification exists.
|
|
219
|
+
- **Self-funding agent treasury:** simulate x402 revenue, bounded compute spending, replay protection, and verified repair loops without a wallet or real funds.
|
|
220
|
+
- **Stablecoin payment request:** prepare reviewable payment-intent JSON with amount, recipient, memo, expiry, status, and human approval state.
|
|
221
|
+
- **Job escrow workflow:** simulate ERC-8183-style job posting, agent acceptance, simulated funding, work review, disputes, expiry, and payout approval.
|
|
222
|
+
- **Agent identity preview:** inspect ERC-8004-style agent metadata and controller/reputation notes before registration.
|
|
223
|
+
- **MCP-assisted coding:** connect AI tools to Arc docs/MCP, then force retrieved facts, implementation suggestions, unknowns, and safety checks into the plan.
|
|
224
|
+
- **Guarded wallet handoff:** manually review and request one capped Arc Testnet USDC transfer through an injected browser wallet, with no key handling or automatic retry.
|
|
225
|
+
|
|
226
|
+
## Configuration
|
|
227
|
+
|
|
228
|
+
Copy [`.env.example`](./.env.example) to `.env` only for local experiments. `.env` is ignored by git; keep real API keys, verifier tokens, private proofs, and deployment secrets in a private shell or secret manager.
|
|
229
|
+
|
|
230
|
+
| Variable | Used by | Default | Notes |
|
|
231
|
+
| --- | --- | --- | --- |
|
|
232
|
+
| `X402_DEMO_NETWORK` | Local x402 server | `arc-testnet` | Must stay `arc-testnet`; non-Arc networks are rejected. |
|
|
233
|
+
| `X402_DEMO_ASSET` | Local x402 server | `USDC` | Pinned to `USDC`; other assets are rejected because the demo uses USDC 6-decimal economics. |
|
|
234
|
+
| `X402_DEMO_AMOUNT` | Local x402 server | `0.01` | Positive decimal string, max 6 decimal places. |
|
|
235
|
+
| `X402_DEMO_PAY_TO` | Local x402 server | `0xA11CE00000000000000000000000000000000000` | Non-zero placeholder EVM address; included in the local challenge/proof binding. |
|
|
236
|
+
| `X402_DEMO_MAINNET_ENABLED` | Local x402 server | `false` | Must remain false; true exits safely. |
|
|
237
|
+
| `ARC_PAID_AGENT_URL` | Live smoke script | empty | Deployed protected endpoint for challenge-only smoke checks. |
|
|
238
|
+
| `EXPECT_402_ONLY` | Live smoke script | `true` | Stops after validating the unpaid 402 challenge. |
|
|
239
|
+
| `ARC_LIVE_X_PAYMENT` | Live smoke script | empty | Optional externally created proof; never commit it. |
|
|
240
|
+
| `CIRCLE_GATEWAY_API_KEY` | Future verifier handoff | empty | Placeholder only. Store real values in a secret manager. |
|
|
241
|
+
| `X402_GATEWAY_VERIFIER_URL` | Future verifier handoff | empty | Placeholder only. |
|
|
242
|
+
|
|
243
|
+
## Troubleshooting
|
|
244
|
+
|
|
245
|
+
- **`python3` is not found:** use `python scripts/test_all.py` or install Python 3.12+. CI uses Python 3.12.
|
|
246
|
+
- **Node.js is not found:** install Node.js 18+ and rerun the suite. The tests use Node built-ins only; do not run `npm install`.
|
|
247
|
+
- **Port 8080 or 8087 is already in use:** choose another port, for example `python3 -m http.server 8090` or `python3 examples/x402-local-challenge-server/server.py --port 8097`.
|
|
248
|
+
- **`ARC_PAID_AGENT_URL` is missing:** either skip live smoke or set it to a deployed `/protected` endpoint. The local x402 demo does not need it.
|
|
249
|
+
- **Local x402 proof is rejected:** run `python3 examples/x402-local-challenge-server/server.py --print-challenge` and copy the exact `localDemoProof` value into the `X-Payment` header.
|
|
250
|
+
- **Local x402 server rejects `--host`:** HTTP mode intentionally accepts only `127.0.0.1` or `localhost`; use a separate reviewed deployment for remote access.
|
|
251
|
+
- **Live smoke rejects a URL:** use a valid HTTP/HTTPS URL without embedded credentials. A live `ARC_LIVE_X_PAYMENT` proof requires HTTPS.
|
|
252
|
+
- **Config exits with `Invalid x402 demo configuration`:** keep `X402_DEMO_NETWORK=arc-testnet`, `X402_DEMO_ASSET=USDC`, `X402_DEMO_MAINNET_ENABLED=false`, a positive 6-decimal-or-less amount, and a non-zero 42-character EVM `X402_DEMO_PAY_TO`.
|
|
253
|
+
- **A secret was pasted by mistake:** remove it from `.env` or shell history as needed, rotate the secret, and do not commit it. The repo scans common credential shapes during validation.
|
|
254
|
+
|
|
255
|
+
Guarded Arc Testnet wallet-send lab (`examples/arc-testnet-wallet-send-gate/`):
|
|
256
|
+
|
|
257
|
+
- **The lab stays `disabled`:** it only arms with the exact query gate `?enableArcTestnetSend=reviewed-testnet-only`, and only in a top-level browser tab. Inside an embedded frame it reports `blocked in embedded frame` and never connects a wallet.
|
|
258
|
+
- **`No injected provider`:** install or unlock an injected EVM browser wallet on a top-level tab. The lab never bundles a wallet and makes no network calls itself (`connect-src 'none'`).
|
|
259
|
+
- **Wrong chain / wallet shows `not ready`:** the wallet must report Arc Testnet `0x4cef52` (chain id `5042002`). Use the in-page switch action; if the wallet returns `Arc Testnet is not configured in this wallet.` (code 4902), add the network and re-prove the chain.
|
|
260
|
+
- **`Wallet request was rejected by the user.` (code 4001):** you declined the wallet prompt — expected and safe. The lab allows only one attempt per page load with no automatic retry, so reload the page to start over.
|
|
261
|
+
- **The frozen intent keeps clearing:** changing the connected account or chain after freezing intentionally clears the review. Re-freeze only after the account and chain are correct.
|
|
262
|
+
- **Mainnet is unavailable:** Arc mainnet is intentionally blocked (`enabled: false`) in `live-infrastructure-policy.example.json`. Custody and mainnet require a separate security review and never run from the static site.
|
|
263
|
+
|
|
264
|
+
## Current kit
|
|
265
|
+
|
|
266
|
+
- [`docs/view.html`](./docs/view.html) — styled GitHub Pages Markdown reader so landing-page docs and community-health links open readable pages instead of raw text.
|
|
267
|
+
- [`docs/arc-mcp-setup.md`](./docs/arc-mcp-setup.md) — real Arc MCP setup steps for Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, and HTTP MCP clients.
|
|
268
|
+
- [`docs/arc-docs-map.md`](./docs/arc-docs-map.md) — practical map of Arc Testnet config, contracts, agent primitives, tutorials, tools, and the recommended build path.
|
|
269
|
+
- [`docs/deploy-contracts-arc.md`](./docs/deploy-contracts-arc.md) — builder notes from Arc's deploy-contracts tutorial using Circle Contracts and Arc Testnet.
|
|
270
|
+
- [`docs/agent-identity-erc8004.md`](./docs/agent-identity-erc8004.md) — ERC-8004 agent identity notes and trust-boundary guidance.
|
|
271
|
+
- [`docs/agent-identity-profile-preview.md`](./docs/agent-identity-profile-preview.md) — local-only ERC-8004 profile preview before any agent registration transaction exists.
|
|
272
|
+
- [`docs/builder-workflows.md`](./docs/builder-workflows.md) — practical Arc + AI builder workflows.
|
|
273
|
+
- [`docs/payment-intent-demo.md`](./docs/payment-intent-demo.md) — first demo specification.
|
|
274
|
+
- [`docs/payment-intent-quickstart.md`](./docs/payment-intent-quickstart.md) — 5-minute reviewer path for showing the local payment-intent playground without wallet or transaction side effects.
|
|
275
|
+
- [`docs/payment-status-tutorial.md`](./docs/payment-status-tutorial.md) — step-by-step local payment status exercise for reviewers, plus the future Arc Testnet status checklist.
|
|
276
|
+
- [`docs/receipt-viewer.md`](./docs/receipt-viewer.md) — read-only Arc Testnet receipt viewer notes for inspecting status, gas used, raw logs, and pinned USDC Transfer events without wallet or broadcast side effects.
|
|
277
|
+
- [`docs/payment-intent-receipt-matcher.md`](./docs/payment-intent-receipt-matcher.md) — read-only matcher that compares a payment intent JSON with an Arc Testnet receipt's USDC Transfer logs and emits a match/mismatch evidence verdict.
|
|
278
|
+
- [`docs/transaction-status-playground.md`](./docs/transaction-status-playground.md) — read-only Arc Testnet transaction evidence playground that compares a hash with expected USDC recipient/amount fields without wallet or broadcast side effects.
|
|
279
|
+
- [`docs/contest-demo-script.md`](./docs/contest-demo-script.md) — 60-90 second demo script, recording checklist, community post copy, and contest submission bullets.
|
|
280
|
+
- [`docs/content-pack.md`](./docs/content-pack.md) — blog and contest content pack with Russian Telegram copy, X/Discord drafts, thumbnail prompts, video storyboard, and screenshot checklist.
|
|
281
|
+
- [`docs/public-launch-packet.md`](./docs/public-launch-packet.md) — human-review launch packet with safe Russian Telegram, X, Discord/Arc House copy, submission checklist, links, and forbidden claims.
|
|
282
|
+
- [`docs/prompt-library.md`](./docs/prompt-library.md) and [`prompts/`](./prompts/) — copy-paste prompts for AI coding tools, including the standalone Arc Testnet status prompt.
|
|
283
|
+
- [`docs/arc-builder-readiness-checklist.md`](./docs/arc-builder-readiness-checklist.md) — pre-submit checklist for docs grounding, payment safety, UX states, repo quality, and public proof-of-work.
|
|
284
|
+
- [`docs/completion-contract.md`](./docs/completion-contract.md) — measurable definition of complete for the current safe public builder-kit scope.
|
|
285
|
+
- [`docs/current-readiness-report.md`](./docs/current-readiness-report.md) — concise current-scope verdict, local evidence commands, optional future extensions, and exact wording for public claims.
|
|
286
|
+
- [`docs/arc-testnet-integration-runbook.md`](./docs/arc-testnet-integration-runbook.md) — stepwise path from local-only demos to a reviewed Arc Testnet transfer, including no-secret and no-mainnet gates.
|
|
287
|
+
- [`docs/arc-wallet-integration-notes.md`](./docs/arc-wallet-integration-notes.md) — Circle Wallets vs browser-wallet decision notes for the next Phase 2 integration slice.
|
|
288
|
+
- [`docs/wallet-preflight-contract.md`](./docs/wallet-preflight-contract.md) — secret-free preflight contract shared by the local payment preview and separate guarded Arc Testnet send lab.
|
|
289
|
+
- [`docs/arc-testnet-send-readiness-gate.md`](./docs/arc-testnet-send-readiness-gate.md) — evidence contract for the separate disabled-by-default Arc Testnet browser-wallet send lab.
|
|
290
|
+
- [`docs/guarded-wallet-send-runbook.md`](./docs/guarded-wallet-send-runbook.md) — operator sequence, stop conditions, and rollback for the separate Arc Testnet browser-wallet send lab.
|
|
291
|
+
- [`docs/custody-and-mainnet-gates.md`](./docs/custody-and-mainnet-gates.md) — fail-closed boundary for custody and Arc mainnet work that cannot live in the static site.
|
|
292
|
+
- [`docs/arc-testnet-operator-runbook.md`](./docs/arc-testnet-operator-runbook.md) — manual review checklist, stop conditions, and evidence record for any future guarded Arc Testnet live-send PR.
|
|
293
|
+
- [`docs/arc-testnet-operator-evidence.md`](./docs/arc-testnet-operator-evidence.md) — strict machine-readable operator evidence packet, create-only local draft generator, and dependency-free fail-closed validator.
|
|
294
|
+
- [`docs/agent-commerce-use-cases.md`](./docs/agent-commerce-use-cases.md) — practical use cases for API-call payments, creator payouts, job escrow, AI-service marketplace flows, and report agents.
|
|
295
|
+
- [`docs/agent-commerce-components.md`](./docs/agent-commerce-components.md) — reusable local-first agent cards, payment request cards, receipt cards, and event logs for future Arc commerce flows.
|
|
296
|
+
- [`docs/agent-commerce-flow-library.md`](./docs/agent-commerce-flow-library.md) — local-only paid API call, creator payout, and AI-agent commerce flow templates.
|
|
297
|
+
- [`docs/agent-commerce-review-packet.md`](./docs/agent-commerce-review-packet.md) — local-only final review packet schema before any live wallet, settlement, or registration handoff.
|
|
298
|
+
- [`docs/job-escrow-demo.md`](./docs/job-escrow-demo.md) — ERC-8183-style flow for posting jobs, funding escrow, reviewing agent output, and releasing stablecoin payouts.
|
|
299
|
+
- [`docs/arc-agent-treasury-lab.md`](./docs/arc-agent-treasury-lab.md) — local product runbook for x402 earnings, bounded compute budgets, replay protection, and verified agentic loops.
|
|
300
|
+
- [`docs/circle-wallet-integration.md`](./docs/circle-wallet-integration.md) — Circle agent wallet bootstrap on Arc Testnet: login, faucet, transfer, CCTP bridge, Gateway, and x402 marketplace boundaries.
|
|
301
|
+
- [`docs/agent-commerce-live-evidence.md`](./docs/agent-commerce-live-evidence.md) — real on-chain agent commerce evidence: verified USDC transactions on Arc Testnet via Circle agent wallet, with tx hashes, block numbers, and unit economics.
|
|
302
|
+
- [`docs/agentic-maintainer-loop.md`](./docs/agentic-maintainer-loop.md) — maintainer-agent operating loop for scoped edits, deterministic verification, event-driven maintenance, and human approval gates.
|
|
303
|
+
- [`docs/x402-mcp-manifest.md`](./docs/x402-mcp-manifest.md) — machine-readable paid-agent manifest and JSON-RPC tool surface for the local x402 boundary.
|
|
304
|
+
- [`docs/x402-demo-transcript.md`](./docs/x402-demo-transcript.md) — copy-paste local `402 -> proof -> protected response` transcript with explicit no-wallet/no-settlement guardrails.
|
|
305
|
+
- [`docs/builder-tooling.md`](./docs/builder-tooling.md) — Phase 4 CLI, MCP server, and starter templates; unified local-only builder surface for scaffolding, validation, and AI-agent integration.
|
|
306
|
+
- [`docs/arc-production-deployment.md`](./docs/arc-production-deployment.md) — secret-free production deployment runbook, live-smoke checklist, and Circle Gateway/x402 verifier handoff.
|
|
307
|
+
- [`docs/mcp-query-examples.md`](./docs/mcp-query-examples.md) — prompts that force AI tools to separate retrieved Arc facts, implementation suggestions, and unknowns.
|
|
308
|
+
- [`docs/arc-house-submission.md`](./docs/arc-house-submission.md) — ready-to-edit builder update for Arc community or Arc House-style submissions.
|
|
309
|
+
- [`docs/build-log.md`](./docs/build-log.md) — public milestone note and community-update draft for sharing the current local-first builder kit.
|
|
310
|
+
- [`examples/payment-intent-playground/`](./examples/payment-intent-playground/) — local-only interactive playground for editing a payment request, inspecting live JSON, viewing Arc Testnet read-only status constants, previewing injected wallet provider/address/chain state without requesting permissions, freezing reviewed intent fields, recording final local confirmation, reviewing an unsigned ERC-20 transaction draft and local calldata consistency check, reviewing a blocked wallet handoff manifest, reviewing disabled wallet guard reasons, and copying a preflight report while transaction requests remain disabled.
|
|
311
|
+
- [`examples/receipt-viewer/`](./examples/receipt-viewer/) — read-only Arc Testnet payment receipt viewer that checks `eth_chainId`, fetches `eth_getTransactionReceipt`, highlights pinned USDC Transfer logs, and keeps settlement claims false.
|
|
312
|
+
- [`examples/payment-intent-receipt-matcher/`](./examples/payment-intent-receipt-matcher/) — read-only Arc Testnet matcher that compares a payment intent JSON with a transaction receipt, decodes pinned USDC Transfer logs, and reports match/mismatch/revert/not-found/unknown.
|
|
313
|
+
- [`examples/transaction-status-playground/`](./examples/transaction-status-playground/) — read-only Arc Testnet transaction hash lookup with chain-first stopping, JSON-RPC envelope and exact-hash binding, explicit status states, and expected USDC transfer-shape comparison that never claims settlement.
|
|
314
|
+
- [`examples/arc-testnet-wallet-send-gate/`](./examples/arc-testnet-wallet-send-gate/) — separate disabled-by-default browser-wallet lab for one human-confirmed, capped Arc Testnet USDC transaction request.
|
|
315
|
+
- [`examples/agent-commerce-components/`](./examples/agent-commerce-components/) — reusable local-only agent/payment/receipt/log cards that freeze money fields before any future wallet handoff.
|
|
316
|
+
- [`examples/agent-commerce-flows/`](./examples/agent-commerce-flows/) — local-only product-flow templates for paid API calls, creator payouts, and AI-agent commerce with frozen review artifacts.
|
|
317
|
+
- [`examples/agent-commerce-review-packet/`](./examples/agent-commerce-review-packet/) — local-only exporter that combines agent identity, commerce flow, escrow outcome, approval note, and disabled-surface controls into a review JSON packet.
|
|
318
|
+
- [`examples/arc-testnet-operator-evidence/`](./examples/arc-testnet-operator-evidence/) — safe example evidence packet for the Arc Testnet operator manual-review workflow.
|
|
319
|
+
- [`examples/agent-identity-profile-preview/`](./examples/agent-identity-profile-preview/) — local-only ERC-8004 profile preview for agent metadata, controller notes, reputation notes, and validation requirements.
|
|
320
|
+
- [`examples/job-escrow-simulator/`](./examples/job-escrow-simulator/) — local-only ERC-8183-style job escrow simulator for posting, accepting, simulated funding, submitting, requesting changes, resubmitting, rejection, dispute, expiry/cancellation, and payout approval.
|
|
321
|
+
- [`examples/arc-agent-treasury-lab/`](./examples/arc-agent-treasury-lab/) — local self-funding-agent product simulator with exact micro-USDC accounting, policy-gated compute, replay protection, deterministic verify/repair loops, and fail-closed manual-review outcomes.
|
|
322
|
+
- [`examples/agent-commerce-live/`](./examples/agent-commerce-live/) — live agent commerce evidence page with real Arc Testnet transaction log, wallet state, unit economics, and safety boundaries.
|
|
323
|
+
- [`examples/circle-wallet-integration/`](./examples/circle-wallet-integration/) — Circle agent wallet integration lab for Arc Testnet: bootstrap flow preview, CLI commands, contract addresses, and safety boundaries.
|
|
324
|
+
- [`examples/x402-local-challenge-server/`](./examples/x402-local-challenge-server/) — dependency-free local HTTP 402 challenge server with MCP-style manifest, strict schema/envelope validation, bounded unambiguous proof input, fail-closed verifier results/direct-helper config, JSON CLI helpers, and a swappable verifier boundary for future Circle/x402 settlement work.
|
|
325
|
+
- [`scripts/arc_builder_cli.py`](./scripts/arc_builder_cli.py) — unified CLI for listing templates, scaffolding projects, running validation, printing Arc Testnet facts, generating release packets, and launching the MCP server.
|
|
326
|
+
- [`scripts/arc_builder_mcp_server.py`](./scripts/arc_builder_mcp_server.py) — stdio MCP server that exposes the CLI operations as JSON-RPC tools for AI coding agents.
|
|
327
|
+
- [`templates/`](./templates/) — dependency-free project starters (`payment-intent-starter`, `x402-agent-starter`, `job-escrow-starter`).
|
|
328
|
+
- [`examples/payment-intent-demo/`](./examples/payment-intent-demo/) — tiny static mockup for the first payment-intent flow, including trust-boundary and review-state UI copy.
|
|
329
|
+
|
|
330
|
+
## Screenshots
|
|
331
|
+
|
|
332
|
+
These screenshots are committed so reviewers can quickly see the live-site UX without clicking through every page.
|
|
333
|
+
|
|
334
|
+

|
|
335
|
+
|
|
336
|
+

|
|
337
|
+
|
|
338
|
+

|
|
339
|
+
|
|
340
|
+

|
|
341
|
+
|
|
342
|
+
## Completion status
|
|
343
|
+
|
|
344
|
+
The public static kit is complete for its current guarded scope: docs-grounded Arc/MCP workflows, local playgrounds, review packets, screenshots, CI validation, and a separate disabled-by-default Arc Testnet wallet-send lab. It still stops before private-key handling, custody, mainnet, autonomous spending, or live settlement.
|
|
345
|
+
|
|
346
|
+
For the shortest reviewer-facing checkpoint, see [`docs/current-readiness-report.md`](./docs/current-readiness-report.md).
|
|
347
|
+
|
|
348
|
+
### Shipped surfaces
|
|
349
|
+
|
|
350
|
+
- MCP setup checklist, Arc docs map, prompt library, deploy-contract notes, and agent identity notes.
|
|
351
|
+
- Builder readiness checklist, MCP query examples, agent-commerce use cases, job escrow demo spec, Arc House submission draft, public build log, and community copy packs.
|
|
352
|
+
- Styled GitHub Pages docs viewer so docs and community-health pages render like web pages instead of raw Markdown.
|
|
353
|
+
- Local payment-intent playground with reviewable JSON, status transitions, USDC unit preview, unsigned transaction draft preview, final local confirmation, send-readiness gate, and calldata consistency check.
|
|
354
|
+
- Local receipt verifier playground (`examples/receipt-verifier-playground/index.html`, `docs/receipt-verifier-playground.md`), read-only receipt viewer (`examples/receipt-viewer/index.html`, `docs/receipt-viewer.md`), read-only payment-intent receipt matcher (`examples/payment-intent-receipt-matcher/index.html`, `docs/payment-intent-receipt-matcher.md`), read-only transaction-evidence playground (`examples/transaction-status-playground/index.html`, `docs/transaction-status-playground.md`), and local-only job escrow simulator with change-request, rejection, dispute, expiry, cancellation, and human-approved payout states.
|
|
355
|
+
- Arc Agent Treasury Lab connecting local x402 revenue, treasury policy, bounded compute attempts, verification, replay protection, and machine-readable evidence.
|
|
356
|
+
- x402 local challenge boundary with machine-readable manifest, JSON-RPC/MCP-style stdio helpers, `.env.example`, local transcript, and production deployment runbook.
|
|
357
|
+
- Agent commerce starter-kit examples: components, flows, identity profile preview, and review packet exporter.
|
|
358
|
+
- Committed screenshots for the landing page, docs viewer, payment-intent playground, and job escrow simulator.
|
|
359
|
+
- Phase 4 builder tooling: unified CLI (`scripts/arc_builder_cli.py`), stdio MCP server (`scripts/arc_builder_mcp_server.py`) with 8 JSON-RPC tools (including release-packet and example-listing), and dependency-free project starter templates under `templates/`.
|
|
360
|
+
|
|
361
|
+
### Safe default
|
|
362
|
+
|
|
363
|
+
- No private-key, seed-phrase, API-key, or token collection.
|
|
364
|
+
- No wallet request or transaction broadcast on page load.
|
|
365
|
+
- No signing path outside the external wallet confirmation dialog.
|
|
366
|
+
- No custody or real fund movement.
|
|
367
|
+
- Human approval stays required for the guarded Arc Testnet send path.
|
|
368
|
+
|
|
369
|
+
### Optional future extensions
|
|
370
|
+
|
|
371
|
+
- Custody or account-abstraction integration only as a separate backend/provider security review.
|
|
372
|
+
- Optional Circle Wallets or Circle Contracts notes for teams that want a live integration path.
|
|
373
|
+
- Public community sharing of the build log as a distribution step, not a missing product feature.
|
|
374
|
+
|
|
375
|
+
## Safe-scope completion contract
|
|
376
|
+
|
|
377
|
+
“Complete” means complete for the current local-first Arc builder-kit scope,
|
|
378
|
+
not complete as a production wallet, custodian, payment processor, or live
|
|
379
|
+
settlement service. The measurable acceptance criteria, canonical commands,
|
|
380
|
+
and explicit non-goals live in
|
|
381
|
+
[`docs/completion-contract.md`](./docs/completion-contract.md).
|
|
382
|
+
|
|
383
|
+
Run the contract check directly:
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
python3 scripts/check_completion.py
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
## Suggested use
|
|
390
|
+
|
|
391
|
+
Use this repo with an AI coding assistant that supports MCP or can read local docs.
|
|
392
|
+
|
|
393
|
+
Example task:
|
|
394
|
+
|
|
395
|
+
```text
|
|
396
|
+
Use Arc MCP/docs context and this repo to design a minimal Arc payment-intent demo where an AI agent requests a USDC payment and the user approves it manually.
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
## Local development
|
|
400
|
+
|
|
401
|
+
The repo has no package-install step or third-party runtime dependencies.
|
|
402
|
+
Python 3.12+, Node.js 18+ for the built-in behavioral harnesses, and a web
|
|
403
|
+
browser are required.
|
|
404
|
+
|
|
405
|
+
```bash
|
|
406
|
+
# Validate the repo the same way CI does.
|
|
407
|
+
python3 scripts/check_completion.py
|
|
408
|
+
python3 scripts/test_all.py
|
|
409
|
+
|
|
410
|
+
# Optional read-only Arc Testnet status check.
|
|
411
|
+
python3 scripts/check_arc_testnet_status.py
|
|
412
|
+
|
|
413
|
+
# Preview the static site locally (matches GitHub Pages behavior).
|
|
414
|
+
python3 -m http.server 8080
|
|
415
|
+
# then open http://localhost:8080/
|
|
416
|
+
|
|
417
|
+
# Run the local-only x402 challenge boundary demo.
|
|
418
|
+
python3 examples/x402-local-challenge-server/server.py --port 8087
|
|
419
|
+
# then request http://localhost:8087/protected to inspect the 402 challenge and MCP-style manifest
|
|
420
|
+
|
|
421
|
+
# Inspect the same paid-agent surface through JSON helpers / stdio.
|
|
422
|
+
python3 examples/x402-local-challenge-server/server.py --print-manifest
|
|
423
|
+
python3 examples/x402-local-challenge-server/server.py --print-challenge
|
|
424
|
+
printf '{"jsonrpc":"2.0","id":"tools","method":"tools/list"}\n' \
|
|
425
|
+
| python3 examples/x402-local-challenge-server/server.py --mcp-stdio
|
|
426
|
+
|
|
427
|
+
# Challenge-only smoke for a deployed paid-agent endpoint.
|
|
428
|
+
ARC_PAID_AGENT_URL="http://127.0.0.1:8087/protected" \
|
|
429
|
+
python3 scripts/live_arc_gateway_smoke.py --expect-402-only
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
For targeted debugging, run any individual `scripts/test_*.py` file directly.
|
|
433
|
+
|
|
434
|
+
The validator checks required files, obvious credential patterns, public-text
|
|
435
|
+
encoding, Markdown and HTML local links, HTML safety/accessibility/SEO
|
|
436
|
+
invariants, reduced-motion CSS, styled-viewer coverage, the measurable
|
|
437
|
+
completion contract, local-only x402 boundaries, deployment placeholders,
|
|
438
|
+
operator-evidence tooling, and `robots.txt`/`sitemap.xml` integrity. It runs on
|
|
439
|
+
every push and pull request via
|
|
440
|
+
[`.github/workflows/validate.yml`](./.github/workflows/validate.yml).
|
|
441
|
+
|
|
442
|
+
## Repository structure
|
|
443
|
+
|
|
444
|
+
The architecture is intentionally small and explicit:
|
|
445
|
+
|
|
446
|
+
| Area | Purpose |
|
|
447
|
+
| --- | --- |
|
|
448
|
+
| `index.html`, `404.html`, `docs/view.html`, `docs/viewer.js` | Dependency-free GitHub Pages site and styled Markdown reader. |
|
|
449
|
+
| `docs/` | Arc setup, payment/agent workflows, safety contracts, runbooks, readiness, and completion evidence. |
|
|
450
|
+
| `examples/` | Static local playgrounds, the loopback-only x402 challenge/MCP demo, and the separate guarded Arc Testnet wallet-send lab. |
|
|
451
|
+
| `prompts/` | Copy-ready Arc docs/MCP prompts for AI coding tools. |
|
|
452
|
+
| `scripts/test_*.py` | Focused dependency-free regression tests. |
|
|
453
|
+
| `scripts/test_all.py`, `scripts/validate_repo.py`, `scripts/check_completion.py` | Canonical suite, repository invariants, and measurable completion check. |
|
|
454
|
+
| `.github/` | Least-privilege validation and Pages deployment workflows plus contribution templates. |
|
|
455
|
+
| `.gitattributes`, `.editorconfig` | Cross-platform LF and editor whitespace policy for compact Windows/WSL/CI diffs. |
|
|
456
|
+
|
|
457
|
+
Representative file map:
|
|
458
|
+
|
|
459
|
+
```text
|
|
460
|
+
.
|
|
461
|
+
├── index.html # Landing page (GitHub Pages root)
|
|
462
|
+
├── .env.example # Safe local config placeholders
|
|
463
|
+
├── 404.html # Branded GitHub Pages "Not found" page
|
|
464
|
+
├── robots.txt # Crawler directives + sitemap pointer
|
|
465
|
+
├── sitemap.xml # XML sitemap for the deployed site
|
|
466
|
+
├── docs/ # Builder documentation
|
|
467
|
+
│ ├── view.html # Styled GitHub Pages Markdown docs reader
|
|
468
|
+
│ ├── viewer.js # Dependency-free local Markdown renderer
|
|
469
|
+
│ ├── arc-mcp-setup.md
|
|
470
|
+
│ ├── arc-docs-map.md
|
|
471
|
+
│ ├── deploy-contracts-arc.md
|
|
472
|
+
│ ├── builder-workflows.md
|
|
473
|
+
│ ├── payment-intent-demo.md
|
|
474
|
+
│ ├── payment-intent-quickstart.md
|
|
475
|
+
│ ├── payment-status-tutorial.md
|
|
476
|
+
│ ├── arc-discord-introduction.md
|
|
477
|
+
│ ├── receipt-verifier-playground.md
|
|
478
|
+
│ ├── receipt-viewer.md
|
|
479
|
+
│ ├── payment-intent-receipt-matcher.md
|
|
480
|
+
│ ├── transaction-status-playground.md
|
|
481
|
+
│ ├── x402-mcp-manifest.md
|
|
482
|
+
│ ├── x402-demo-transcript.md
|
|
483
|
+
│ ├── arc-builder-readiness-checklist.md
|
|
484
|
+
│ ├── arc-testnet-integration-runbook.md
|
|
485
|
+
│ ├── wallet-preflight-contract.md
|
|
486
|
+
│ ├── agent-commerce-use-cases.md
|
|
487
|
+
│ ├── job-escrow-demo.md
|
|
488
|
+
│ ├── agentic-maintainer-loop.md
|
|
489
|
+
│ ├── mcp-query-examples.md
|
|
490
|
+
│ ├── arc-house-submission.md
|
|
491
|
+
│ └── build-log.md
|
|
492
|
+
├── prompts/ # Copy-paste prompts for AI coding tools
|
|
493
|
+
├── examples/
|
|
494
|
+
│ ├── payment-intent-demo/ # Static UI mockup of the v0 demo flow
|
|
495
|
+
│ ├── payment-intent-playground/ # Local-only intent playground with Arc status constants
|
|
496
|
+
│ ├── receipt-verifier-playground/ # Local-only simulated receipt verifier
|
|
497
|
+
│ ├── receipt-viewer/ # Read-only Arc Testnet payment receipt viewer
|
|
498
|
+
│ ├── payment-intent-receipt-matcher/ # Read-only Arc Testnet payment-intent receipt matcher
|
|
499
|
+
│ ├── transaction-status-playground/ # Read-only Arc Testnet transaction status lookup
|
|
500
|
+
│ ├── job-escrow-simulator/ # Local-only ERC-8183-style escrow flow simulator
|
|
501
|
+
│ ├── arc-agent-treasury-lab/ # Local x402 revenue and bounded compute treasury simulator
|
|
502
|
+
│ └── x402-local-challenge-server/ # Local-only 402 challenge/verifier boundary demo
|
|
503
|
+
├── assets/screenshots/ # Committed preview proof for reviewers
|
|
504
|
+
├── scripts/
|
|
505
|
+
│ ├── check_arc_testnet_status.py # Read-only Arc Testnet RPC status check
|
|
506
|
+
│ ├── test_all.py # Canonical local / CI regression suite
|
|
507
|
+
│ ├── test_x402_boundary.py # Regression tests for the local x402 boundary
|
|
508
|
+
│ ├── test_receipt_verifier_playground.py # Regression tests for receipt verifier UI
|
|
509
|
+
│ ├── test_transaction_status_playground.py # Regression tests for transaction status UI
|
|
510
|
+
│ └── validate_repo.py # CI / local validation script
|
|
511
|
+
├── .github/ # Workflows, issue & PR templates
|
|
512
|
+
├── CODE_OF_CONDUCT.md
|
|
513
|
+
├── CONTRIBUTING.md
|
|
514
|
+
├── SECURITY.md
|
|
515
|
+
├── LICENSE
|
|
516
|
+
└── README.md
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
## Safety and honesty
|
|
520
|
+
|
|
521
|
+
- Do not paste private keys, wallet seed phrases, access tokens, or API keys into AI tools.
|
|
522
|
+
- Keep the guarded wallet lab Arc Testnet only; custody and mainnet remain
|
|
523
|
+
blocked behind separate security reviews.
|
|
524
|
+
- Do not imply official Arc endorsement unless confirmed.
|
|
525
|
+
- Treat all generated code as a draft until tested against current Arc docs.
|
|
526
|
+
- Keep claims honest: this is an early independent builder resource.
|
|
527
|
+
|
|
528
|
+
See [`SECURITY.md`](./SECURITY.md) for the full security policy and how
|
|
529
|
+
to report issues privately.
|
|
530
|
+
|
|
531
|
+
## Contributing
|
|
532
|
+
|
|
533
|
+
Contributions are welcome — corrections to MCP setup notes, verified Arc
|
|
534
|
+
docs links, prompt improvements, testnet integration notes, payment-intent
|
|
535
|
+
demo improvements, or agent-identity / ERC-8004 docs.
|
|
536
|
+
|
|
537
|
+
See [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the contribution checklist
|
|
538
|
+
and [`CODE_OF_CONDUCT.md`](./CODE_OF_CONDUCT.md) for community
|
|
539
|
+
expectations.
|
|
540
|
+
|
|
541
|
+
## Status
|
|
542
|
+
|
|
543
|
+
Public-ready static builder kit for the current safe scope. Local demos remain wallet-free, while the separate disabled-by-default Arc Testnet lab permits one manually reviewed browser-wallet transaction. Custody, mainnet, autonomous spending, and live settlement remain blocked behind separate security reviews.
|