Skip to content

Commit d527a41

Browse files
committed
Clean public core buyer package surface
1 parent f4945d7 commit d527a41

26 files changed

Lines changed: 108 additions & 554 deletions

.dockerignore

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
.env
33
.env.*
44
!.env.example
5-
hosted.env
5+
*.env
66
*.key
77
*.pem
88
*.p12
@@ -29,8 +29,3 @@ video/
2929
apps/ops-console/.next
3030
apps/ops-console/node_modules
3131
apps/ops-console/.npm-cache
32-
services/hosted-facilitator/.venv
33-
services/hosted-facilitator/hosted.env
34-
services/hosted-facilitator/apps/ops-console/.next
35-
services/hosted-facilitator/apps/ops-console/node_modules
36-
services/hosted-facilitator/apps/ops-console/test-results

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
.env.*
66
!.env.example
77
.env.local
8+
*.env
89
*.pem
910
*.key
1011
secrets.json

CHANGELOG.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
- Removed the obsolete secondary console entrypoint and pointed both console scripts at the unified `omniclaw.cli` buyer/core CLI.
11+
- Updated public docs and release verification so removed setup/server/doctor commands are no longer advertised.
12+
913
## [0.0.6] - 2026-04-14
1014

1115
### Added
12-
- Added the owner/operator `omniclaw facilitator exact` command for self-hosted x402 exact settlement.
13-
- Added public facilitator documentation covering Circle Gateway, external facilitators, and OmniClaw self-hosted exact settlement.
16+
- Added x402 exact-settlement buyer support.
17+
- Added public documentation for Circle Gateway and x402 exact payment flows.
1418
- Added Arc Testnet exact-settlement support documentation using CAIP-2 `eip155:5042002`.
15-
- Added B2B SDK examples for vendor APIs, machine-to-vendor payments, external exact facilitators, and self-hosted exact settlement.
16-
- Added a public `.env.example` with role-based configuration for agents, vendors, facilitators, Circle Gateway, Thirdweb, and production hardening.
19+
- Added B2B SDK examples for machine-to-machine payments.
20+
- Added a public `.env.example` with role-based configuration for agents, Circle Gateway, Thirdweb, and production hardening.
1721

1822
### Changed
19-
- Moved the owner/operator CLI entrypoint to `omniclaw.admin_cli:main` so it no longer conflicts with the `omniclaw.cli` agent CLI package.
20-
- Updated release artifact verification for the new admin CLI module and package layout.
21-
- Reworked public README and docs around agent buyer, SDK buyer, vendor SDK seller, Financial Policy Engine, and facilitator deployment paths.
23+
- Moved the owner/operator CLI entrypoint away from the `omniclaw.cli` agent CLI package.
24+
- Updated release artifact verification for the package layout.
25+
- Reworked public README and docs around agent buyer, SDK buyer, and Financial Policy Engine paths.
2226
- Updated the OmniClaw CLI skill to require idempotency keys for x402 URL payments.
2327
- Bumped runtime and shipped CLI skill metadata to `0.0.6`.
2428

@@ -50,8 +54,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5054
## [0.0.3] - 2026-03-25
5155

5256
### Added
53-
- Multi-facilitator support: Circle Gateway, Coinbase CDP, OrderN, RBX, Thirdweb
54-
- Seller SDK: Full seller-side SDK for accepting x402 payments
57+
- Payment rail support: Circle Gateway, Coinbase CDP, OrderN, RBX, Thirdweb
58+
- x402 buyer support for paid HTTP resources
5559
- Trust Gate: ERC-8004 based identity and reputation verification
5660
- Payment Intents: 2-phase commit with fund reservation
5761
- Enhanced buyer SDK with smart payment routing

README.md

Lines changed: 7 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,62 +2,25 @@
22

33
Policy-controlled payment infrastructure for agent buyers.
44

5-
OmniClaw core is now focused on one job: letting agents and applications pay through controlled, auditable rails without giving software unrestricted wallet authority.
6-
7-
The hosted facilitator is a separate deployable product under [`services/hosted-facilitator`](services/hosted-facilitator). It owns seller project API keys, hosted x402 settlement, ops console, reconciliation, and OIDC/OpenFGA control-plane auth. Seller middleware remains in each seller's own app and points at the facilitator URL.
5+
OmniClaw core is focused on one job: letting agents and applications pay through controlled, auditable rails without giving software unrestricted wallet authority.
86

97
## Product Boundary
108

119
| Product | Directory | Owns |
1210
| --- | --- | --- |
1311
| OmniClaw core | `src/omniclaw` | buyer SDK, policy engine, wallet/payment routing, x402 buyer execution, Gateway buyer readiness |
14-
| Hosted facilitator | `services/hosted-facilitator` | seller project API keys, x402 facilitator URLs, exact settlement, hosted control plane, reconciliation, ops console |
1512

16-
Core should not import hosted facilitator modules. The hosted facilitator service should be deployable from its own directory without installing OmniClaw core.
13+
Core should not include recipient-side paid endpoint hosting or settlement service code.
1714

1815
## Core Capabilities
1916

2017
- Financial Policy Engine for budgets, approvals, trust checks, and execution control
2118
- Python buyer SDK via `OmniClaw().pay(...)`
2219
- Agent buyer CLI via `omniclaw-cli pay`, `inspect-x402`, and `can-pay`
2320
- Circle Gateway buyer funding/readiness helpers
24-
- Standard x402 buyer flow for paying external seller endpoints
21+
- Standard x402 buyer flow for paying external paid endpoints
2522
- Ledger, idempotency, simulation, and payment-intent controls
2623

27-
## Hosted Facilitator
28-
29-
The facilitator service has its own package, frontend, Dockerfile, infra config, docs, and tests:
30-
31-
```text
32-
services/hosted-facilitator/
33-
apps/ops-console/
34-
docs/
35-
infra/
36-
scripts/
37-
src/hosted_facilitator/
38-
tests/
39-
```
40-
41-
Local hosted stack:
42-
43-
```bash
44-
cp services/hosted-facilitator/hosted.env.example hosted.env
45-
# edit hosted.env with the hosted facilitator signer private key and provider config
46-
docker compose -f docker-compose.hosted.yml up --build
47-
```
48-
49-
Control plane:
50-
51-
```text
52-
http://127.0.0.1:3001
53-
```
54-
55-
Facilitator API:
56-
57-
```text
58-
http://127.0.0.1:4022
59-
```
60-
6124
## Core Quickstart
6225

6326
Install:
@@ -75,7 +38,7 @@ export OMNICLAW_AGENT_POLICY_PATH="./policy.json"
7538
export OMNICLAW_NETWORK="BASE-SEPOLIA"
7639
export OMNICLAW_RPC_URL="https://sepolia.base.org"
7740

78-
omniclaw server --port 8080
41+
docker compose up --build omniclaw-agent
7942
```
8043

8144
Configure the buyer CLI:
@@ -85,11 +48,11 @@ export OMNICLAW_SERVER_URL="http://localhost:8080"
8548
export OMNICLAW_TOKEN="agent-token"
8649
```
8750

88-
Inspect and pay an x402 seller endpoint:
51+
Inspect and pay an x402 endpoint:
8952

9053
```bash
91-
omniclaw-cli inspect-x402 --recipient https://seller.example.com/compute
92-
omniclaw-cli pay --recipient https://seller.example.com/compute --idempotency-key job-123
54+
omniclaw-cli inspect-x402 --recipient https://paid.example.com/compute
55+
omniclaw-cli pay --recipient https://paid.example.com/compute --idempotency-key job-123
9356
```
9457

9558
## Development
@@ -99,17 +62,3 @@ Run core tests:
9962
```bash
10063
uv run pytest
10164
```
102-
103-
Run hosted facilitator tests:
104-
105-
```bash
106-
cd services/hosted-facilitator
107-
uv run pytest
108-
```
109-
110-
Run ops console tests:
111-
112-
```bash
113-
cd services/hosted-facilitator/apps/ops-console
114-
npm test
115-
```

docs/API_REFERENCE.md

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ client = OmniClaw()
1515
```python
1616
await client.pay(
1717
wallet_id="wallet-id",
18-
recipient="https://seller.example.com/compute",
18+
recipient="https://paid.example.com/compute",
1919
amount=None,
2020
idempotency_key="job-123",
2121
)
2222
```
2323

24-
Use `amount=None` for x402 URLs where the seller publishes the amount in `PAYMENT-REQUIRED`.
24+
Use `amount=None` for x402 URLs where the endpoint publishes the amount in `PAYMENT-REQUIRED`.
2525

2626
### Gateway Buyer Helpers
2727

@@ -43,13 +43,5 @@ The local policy engine exposes buyer payment, wallet, ledger, policy, and x402
4343
Start it with:
4444

4545
```bash
46-
omniclaw server --port 8080
47-
```
48-
49-
## Hosted Facilitator APIs
50-
51-
Seller project APIs, facilitator `/supported`, `/verify`, `/settle`, ops APIs, and seller dashboard APIs belong to the hosted facilitator service:
52-
53-
```text
54-
services/hosted-facilitator/docs/
46+
docker compose up --build omniclaw-agent
5547
```

docs/FEATURES.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ OmniClaw core is the buyer-side policy and payment-control layer.
1212

1313
## x402 Buyer Support
1414

15-
- Inspect seller `PAYMENT-REQUIRED` responses
15+
- Inspect x402 `PAYMENT-REQUIRED` responses
1616
- Select supported x402 routes
17-
- Pay standard `exact` seller endpoints
17+
- Pay standard `exact` x402 endpoints
1818
- Use Circle Gateway `GatewayWalletBatched` when the buyer is funded and the route is advertised
1919

2020
## Circle Gateway Buyer Operations
@@ -23,11 +23,3 @@ OmniClaw core is the buyer-side policy and payment-control layer.
2323
- On-chain Gateway balance checks
2424
- Deposit and withdraw helpers
2525
- Buyer readiness for nanopayment routes
26-
27-
## Standalone Hosted Facilitator
28-
29-
Hosted settlement, seller onboarding, ops console, reconciliation, OIDC/OpenFGA auth, and provider adapters live outside core:
30-
31-
```text
32-
services/hosted-facilitator/
33-
```

docs/OmniClaw_Whitepaper_v2.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ The ledger stores durable intent state and attempt state. It is the source of tr
133133

134134
### 5.6 Execution Service
135135

136-
The execution service is the only component permitted to trigger settlement. It uses provider integrations, facilitators, or rail-specific adapters, but only for already-approved intents.
136+
The execution service is the only component permitted to trigger payment execution. It uses provider integrations or rail-specific adapters, but only for already-approved intents.
137137

138138
### 5.7 Audit Layer
139139

@@ -234,8 +234,8 @@ Not all recipients create the same risk.
234234

235235
The task-derived architecture, which is consistent with OmniClaw’s broader control model, makes this explicit:
236236

237-
- Human-operated vendor
238-
Standard vendor allowlist, ordinary approval thresholds, and contractual accountability.
237+
- Human-operated service
238+
Standard recipient allowlist, ordinary approval thresholds, and contractual accountability.
239239

240240
- Internal service
241241
Potentially looser thresholds, but only when workload identity, service registry entry, destination account, and transaction class match internal control records.
@@ -319,7 +319,7 @@ The credibility of OmniClaw as a research system comes from the fact that these
319319
- trust-layer types and verdicts in `src/omniclaw/identity/types.py`
320320
- guard, reservation, and fund-lock documentation in `docs/FEATURES.md`
321321
- compliance framing in `docs/compliance-architecture.md`
322-
- product surfaces across buyer, seller, facilitator, and CLI workflows
322+
- product surfaces across buyer SDK, policy engine, and CLI workflows
323323

324324
There is also substantial test evidence:
325325

docs/POLICY_REFERENCE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,20 +260,20 @@ Agent can pay everyone EXCEPT these addresses/domains.
260260
}
261261
```
262262

263-
### Seller Agent (Receives Payments)
263+
### Receive-Only Agent
264264
```json
265265
{
266266
"version": "2.0",
267267
"tokens": {
268-
"seller-agent": {
268+
"receive-only-agent": {
269269
"wallet_alias": "primary",
270270
"active": true,
271-
"label": "Seller Agent"
271+
"label": "Receive-Only Agent"
272272
}
273273
},
274274
"wallets": {
275275
"primary": {
276-
"name": "Seller Wallet",
276+
"name": "Receive-Only Wallet",
277277
"limits": {
278278
"daily_max": "0",
279279
"per_tx_max": "0"

docs/PRODUCTION_HARDENING.md

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ OMNICLAW_WEBHOOK_DEDUP_DB_PATH=/var/lib/omniclaw/webhook_dedup.sqlite3
1515

1616
Startup fails fast if these are missing or if strict settlement is disabled.
1717

18-
For non-production package usage, `OMNICLAW_STRICT_SETTLEMENT` defaults to `false` so compatible x402 resources can still unlock even when a seller omits or delays settlement response metadata. Production deployments must opt into strict settlement explicitly.
18+
For non-production package usage, `OMNICLAW_STRICT_SETTLEMENT` defaults to `false` so compatible x402 resources can still unlock even when an endpoint omits or delays settlement response metadata. Production deployments must opt into strict settlement explicitly.
1919

2020
## Webhook Security Model
2121

@@ -35,38 +35,25 @@ OMNICLAW_WEBHOOK_MAX_FUTURE_SKEW_SECONDS=300
3535
OMNICLAW_WEBHOOK_DEDUP_ENABLED=true
3636
```
3737

38-
## Product Boundary
39-
40-
This document covers OmniClaw core. Seller project APIs, facilitator settlement, nonce replay protection for seller middleware, control-plane auth, and reconciliation are part of the standalone hosted facilitator service:
41-
42-
```bash
43-
services/hosted-facilitator/
44-
```
45-
4638
## Settlement Semantics
4739

4840
- `OMNICLAW_STRICT_SETTLEMENT=true` ensures success reflects irreversible settlement states.
4941
- Do not disable strict settlement in production.
5042

51-
## External Facilitator Strategy
43+
## x402 Buyer Strategy
5244

53-
OmniClaw core is facilitator-aware as a buyer. Production buyer deployments should inspect what the seller advertises and route only through a buyer-supported payment method:
45+
OmniClaw core is buyer-side infrastructure. Production buyer deployments should inspect what the paid endpoint advertises and route only through a buyer-supported payment method:
5446

5547
- Circle Gateway `GatewayWalletBatched` for gasless batched nanopayments
56-
- standard x402 `exact` where the seller and facilitator advertise compatible requirements
57-
- external facilitator URLs selected by the seller
58-
59-
Operate OmniClaw-hosted settlement from `services/hosted-facilitator`, not from the core package.
48+
- standard x402 `exact` where the endpoint advertises compatible requirements
6049

61-
Before production traffic, validate the exact seller path with:
50+
Before production traffic, validate the exact paid endpoint path with:
6251

6352
```bash
64-
omniclaw-cli inspect-x402 --recipient https://seller.example.com/compute
65-
omniclaw-cli pay --recipient https://seller.example.com/compute --idempotency-key production-canary-001
53+
omniclaw-cli inspect-x402 --recipient https://paid.example.com/compute
54+
omniclaw-cli pay --recipient https://paid.example.com/compute --idempotency-key production-canary-001
6655
```
6756

68-
For hosted facilitator validation, use `services/hosted-facilitator/docs/` plus the external seller and buyer examples under root `examples/hosted_facilitator_*`.
69-
7057
## Canary and SLA
7158

7259
Use the canary script to validate end-to-end payment lifecycle before/after deploys:
@@ -88,10 +75,10 @@ Exit behavior:
8875
## Rollout Checklist
8976

9077
1. Apply required production env vars.
91-
2. Run `omniclaw doctor`.
78+
2. Confirm the policy engine health endpoint and CLI configuration.
9279
3. Run canary in target environment.
93-
4. Confirm `inspect-x402` selects the expected seller scheme and network.
94-
5. Confirm settlement appears in the selected facilitator dashboard or explorer.
80+
4. Confirm `inspect-x402` selects the expected payment scheme and network.
81+
5. Confirm settlement appears in the expected explorer or provider record.
9582
6. Deploy with staged traffic.
9683
7. Monitor:
9784
- settlement latency

docs/README.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
This docs tree is for OmniClaw core: buyer-side agent payment infrastructure, policy controls, wallet routing, and x402 payment execution.
44

5-
Hosted facilitator documentation now lives in [`../services/hosted-facilitator/docs`](../services/hosted-facilitator/docs).
6-
75
## Core Guides
86

97
| Guide | Covers |
@@ -15,11 +13,3 @@ Hosted facilitator documentation now lives in [`../services/hosted-facilitator/d
1513
| [Policy Reference](POLICY_REFERENCE.md) | Wallets, budgets, confirmations, recipient rules |
1614
| [Production Readiness](production-readiness.md) | Buyer/payment release checklist |
1715
| [Production Hardening](PRODUCTION_HARDENING.md) | Core deployment controls |
18-
19-
## Hosted Facilitator Guides
20-
21-
Use the hosted facilitator docs for seller onboarding, facilitator URLs, project API keys, settlement/reconciliation, ops-console, and provider expansion:
22-
23-
```text
24-
services/hosted-facilitator/docs/
25-
```

0 commit comments

Comments
 (0)