settld 0.1.2 → 0.2.0
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.
- package/README.md +93 -3
- package/SETTLD_VERSION +1 -1
- package/bin/settld-mcp +2 -0
- package/bin/settld.js +71 -0
- package/conformance/kernel-v0/README.md +7 -0
- package/conformance/kernel-v0/run.mjs +292 -4
- package/docs/ACCESS.md +57 -0
- package/docs/ADOPTION_CHECKLIST.md +44 -0
- package/docs/ALERTS.md +198 -0
- package/docs/ARCHITECTURE.md +69 -0
- package/docs/ARCHITECTURE_FOUNDER_GUIDE.md +284 -0
- package/docs/ARTIFACTS.md +60 -0
- package/docs/CERTIFICATION_CHECKLIST.md +33 -0
- package/docs/CIRCLE_SANDBOX_E2E.md +152 -0
- package/docs/CONFIG.md +297 -0
- package/docs/CONTRACTS_APIS.md +23 -0
- package/docs/DEPRECATION.md +31 -0
- package/docs/DOMAIN_MODEL.md +92 -0
- package/docs/EVENT_ENVELOPE.md +53 -0
- package/docs/FINANCE_PACK_FORMAT.md +53 -0
- package/docs/INCIDENT_TAXONOMY.md +30 -0
- package/docs/JOB_STATE_MACHINE.md +66 -0
- package/docs/KERNEL_COMPATIBLE.md +60 -0
- package/docs/KERNEL_V0.md +40 -0
- package/docs/KEY_ROTATION.md +80 -0
- package/docs/LEDGER.md +82 -0
- package/docs/LIVENESS.md +76 -0
- package/docs/MVP_BUILD_ORDER.md +36 -0
- package/docs/ONCALL_PLAYBOOK.md +39 -0
- package/docs/OPERATIONS_SIGNING.md +20 -0
- package/docs/OVERVIEW.md +190 -0
- package/docs/PERF_BASELINE.md +85 -0
- package/docs/PRD.md +77 -0
- package/docs/QUICKSTART_KERNEL_V0.md +96 -0
- package/docs/QUICKSTART_MCP.md +377 -0
- package/docs/QUICKSTART_MCP_HOSTS.md +210 -0
- package/docs/QUICKSTART_POLICY_PACKS.md +65 -0
- package/docs/QUICKSTART_PRODUCE.md +61 -0
- package/docs/QUICKSTART_PROFILES.md +198 -0
- package/docs/QUICKSTART_RELEASE_VERIFY.md +39 -0
- package/docs/QUICKSTART_SDK.md +125 -0
- package/docs/QUICKSTART_SDK_PYTHON.md +111 -0
- package/docs/QUICKSTART_VERIFY.md +54 -0
- package/docs/QUICKSTART_X402_GATEWAY.md +317 -0
- package/docs/README.md +33 -0
- package/docs/RELEASE_CHECKLIST.md +182 -0
- package/docs/RELEASING.md +82 -0
- package/docs/REPO_SETTINGS.md +37 -0
- package/docs/RUNBOOK.md +86 -0
- package/docs/SKILLS.md +42 -0
- package/docs/SKILL_BUNDLE_FORMAT.md +48 -0
- package/docs/SLO.md +131 -0
- package/docs/SUMMARY.md +17 -0
- package/docs/SUPPORT.md +31 -0
- package/docs/THREAT_MODEL.md +36 -0
- package/docs/TRUST.md +59 -0
- package/docs/WORKFLOW.md +35 -0
- package/docs/X402_BATCH_SETTLEMENT.md +126 -0
- package/docs/blog/2026-02-14-your-ai-agent-just-spent-500-where-is-the-receipt.md +73 -0
- package/docs/examples/x402-provider-payout-registry.example.json +14 -0
- package/docs/gitbook/README.md +64 -0
- package/docs/gitbook/SETUP.md +25 -0
- package/docs/gitbook/SUMMARY.md +15 -0
- package/docs/gitbook/api-reference.md +73 -0
- package/docs/gitbook/closepacks.md +55 -0
- package/docs/gitbook/conformance.md +59 -0
- package/docs/gitbook/core-primitives.md +85 -0
- package/docs/gitbook/dispute-lifecycle.md +33 -0
- package/docs/gitbook/faq.md +21 -0
- package/docs/gitbook/guides.md +49 -0
- package/docs/gitbook/operations-runbook.md +36 -0
- package/docs/gitbook/quickstart.md +103 -0
- package/docs/gitbook/replay-and-audit.md +30 -0
- package/docs/gitbook/sdk-reference.md +35 -0
- package/docs/gitbook/security-model.md +58 -0
- package/docs/integrations/README.md +15 -0
- package/docs/integrations/github-actions-verify.yml +31 -0
- package/docs/integrations/github-actions.md +34 -0
- package/docs/integrations/openclaw/CLAWHUB_PUBLISH_CHECKLIST.md +65 -0
- package/docs/integrations/openclaw/PUBLIC_QUICKSTART.md +95 -0
- package/docs/integrations/openclaw/settld-mcp-skill/SKILL.md +69 -0
- package/docs/integrations/openclaw/settld-mcp-skill/mcp-server.example.json +12 -0
- package/docs/kernel-compatible/capabilities.json +36 -0
- package/docs/marketing/agent-commerce-substrate.md +78 -0
- package/docs/marketing/hn-repost-2026-02-17.md +102 -0
- package/docs/marketing/show-hn-post.md +45 -0
- package/docs/ops/ARTIFACT_VERIFICATION_STATUS.md +43 -0
- package/docs/ops/BILLING_WEBHOOK_REPLAY.md +105 -0
- package/docs/ops/CI_FLAKE_BUDGET.md +31 -0
- package/docs/ops/DISPUTE_FINANCE_RECONCILIATION_PACKET.md +56 -0
- package/docs/ops/GO_LIVE_GATE_S13.md +27 -0
- package/docs/ops/HOSTED_BASELINE_R2.md +129 -0
- package/docs/ops/KERNEL_V0_SHIP_GATE.md +69 -0
- package/docs/ops/LIGHTHOUSE_PRODUCTION_CLOSE.md +51 -0
- package/docs/ops/MCP_COMPATIBILITY_MATRIX.md +30 -0
- package/docs/ops/MINIMUM_PRODUCTION_TOPOLOGY.md +89 -0
- package/docs/ops/P0_BACKEND_PROGRESS.md +150 -0
- package/docs/ops/PAYMENTS_ALPHA_R5.md +105 -0
- package/docs/ops/PILOT_ONBOARDING_RUNBOOK.md +112 -0
- package/docs/ops/PRODUCTION_DEPLOYMENT_CHECKLIST.md +140 -0
- package/docs/ops/R1_SLOS.md +66 -0
- package/docs/ops/RELEASE_SIGNING_INCIDENT.md +58 -0
- package/docs/ops/SELF_SERVE_LAUNCH_AUTOMATION.md +89 -0
- package/docs/ops/THROUGHPUT_DRILL_10X.md +48 -0
- package/docs/ops/TRUST_CONFIG_WIZARD.md +60 -0
- package/docs/ops/X402_PILOT_WEEKLY_METRICS.md +76 -0
- package/docs/ops/tool-call-disputes-holdback.md +52 -0
- package/docs/pilot-kit/PILOT_PACKAGE_SCORECARD_X402.md +46 -0
- package/docs/pilot-kit/README.md +29 -0
- package/docs/pilot-kit/architecture-one-pager.md +48 -0
- package/docs/pilot-kit/buyer-email.txt +19 -0
- package/docs/pilot-kit/buyer-one-pager.md +31 -0
- package/docs/pilot-kit/gtm-pilot-playbook.md +182 -0
- package/docs/pilot-kit/offline-verify.md +33 -0
- package/docs/pilot-kit/procurement-one-pager.md +50 -0
- package/docs/pilot-kit/rfp-clause.md +46 -0
- package/docs/pilot-kit/roi-calculator-template.csv +2 -0
- package/docs/pilot-kit/security-qa.md +153 -0
- package/docs/pilot-kit/security-summary.md +35 -0
- package/docs/plans/2026-02-13-mcp-spike-design.md +113 -0
- package/docs/plans/2026-02-20-trust-os-v1-jira-backlog.md +348 -0
- package/docs/plans/2026-02-21-agent-economic-actor-operating-model.md +169 -0
- package/docs/plans/2026-02-21-trust-os-v1-strategy.md +241 -0
- package/docs/research/2026-02-21-agent-spend-host-landscape.md +57 -0
- package/docs/spec/AcceptanceCriteria.v1.md +17 -0
- package/docs/spec/AcceptanceEvaluation.v1.md +10 -0
- package/docs/spec/AgentEvent.v1.md +47 -0
- package/docs/spec/AgentIdentity.v1.md +62 -0
- package/docs/spec/AgentPassport.v1.md +95 -0
- package/docs/spec/AgentReputation.v1.md +59 -0
- package/docs/spec/AgentReputation.v2.md +52 -0
- package/docs/spec/AgentRun.v1.md +47 -0
- package/docs/spec/AgentRunSettlement.v1.md +52 -0
- package/docs/spec/AgentWallet.v1.md +43 -0
- package/docs/spec/AgreementDelegation.v1.md +109 -0
- package/docs/spec/ArbitrationCase.v1.md +67 -0
- package/docs/spec/ArbitrationOutcomeMapping.v1.md +62 -0
- package/docs/spec/ArbitrationVerdict.v1.md +60 -0
- package/docs/spec/BundleHeadAttestation.v1.md +32 -0
- package/docs/spec/CANONICAL_JSON.md +31 -0
- package/docs/spec/CRYPTOGRAPHY.md +61 -0
- package/docs/spec/ClosePack.v1.md +49 -0
- package/docs/spec/ClosePackManifest.v1.md +24 -0
- package/docs/spec/DelegationGrant.v1.md +90 -0
- package/docs/spec/DisputeCaseLifecycle.v1.md +51 -0
- package/docs/spec/DisputeOpenEnvelope.v1.md +43 -0
- package/docs/spec/ERRORS.md +76 -0
- package/docs/spec/ESCROW_NETTING_INVARIANTS.md +71 -0
- package/docs/spec/EvidenceIndex.v1.md +20 -0
- package/docs/spec/ExecutionIntent.v1.md +90 -0
- package/docs/spec/FinancePackBundleManifest.v1.md +24 -0
- package/docs/spec/FundingHold.v1.md +60 -0
- package/docs/spec/GovernancePolicy.v1.md +34 -0
- package/docs/spec/GovernancePolicy.v2.md +30 -0
- package/docs/spec/INVARIANTS.md +389 -0
- package/docs/spec/InteractionDirectionMatrix.v1.md +30 -0
- package/docs/spec/InvoiceBundleManifest.v1.md +24 -0
- package/docs/spec/InvoiceClaim.v1.md +11 -0
- package/docs/spec/MONEY_RAIL_STATE_MACHINE.md +58 -0
- package/docs/spec/MarketplaceAcceptance.v2.md +46 -0
- package/docs/spec/MarketplaceOffer.v2.md +54 -0
- package/docs/spec/MeteringReport.v1.md +18 -0
- package/docs/spec/OperatorAction.v1.md +90 -0
- package/docs/spec/PRODUCER_ERRORS.md +42 -0
- package/docs/spec/PolicyDecision.v1.md +83 -0
- package/docs/spec/PricingMatrix.v1.md +20 -0
- package/docs/spec/PricingMatrixSignatures.v1.md +30 -0
- package/docs/spec/PricingMatrixSignatures.v2.md +29 -0
- package/docs/spec/ProduceCliOutput.v1.md +46 -0
- package/docs/spec/ProofBundleManifest.v1.md +24 -0
- package/docs/spec/README.md +109 -0
- package/docs/spec/REFERENCE_IMPLEMENTATIONS.md +29 -0
- package/docs/spec/REFERENCE_VERIFIER_BEHAVIOR.md +68 -0
- package/docs/spec/REMOTE_SIGNER.md +66 -0
- package/docs/spec/ReleaseIndex.v1.md +32 -0
- package/docs/spec/ReleaseIndexSignatures.v1.md +17 -0
- package/docs/spec/ReleaseTrust.v1.md +13 -0
- package/docs/spec/ReleaseTrust.v2.md +26 -0
- package/docs/spec/RemoteSignerRequest.v1.md +21 -0
- package/docs/spec/RemoteSignerResponse.v1.md +16 -0
- package/docs/spec/ReputationEvent.v1.md +63 -0
- package/docs/spec/RevocationList.v1.md +28 -0
- package/docs/spec/SIGNER_PROVIDER_PLUGIN.md +32 -0
- package/docs/spec/STRICTNESS.md +68 -0
- package/docs/spec/SUPPLY_CHAIN.md +33 -0
- package/docs/spec/SettlementAdjustment.v1.md +45 -0
- package/docs/spec/SettlementDecisionRecord.v1.md +48 -0
- package/docs/spec/SettlementDecisionRecord.v2.md +53 -0
- package/docs/spec/SettlementDecisionReport.v1.md +44 -0
- package/docs/spec/SettlementKernel.v1.md +59 -0
- package/docs/spec/SettlementReceipt.v1.md +63 -0
- package/docs/spec/SlaDefinition.v1.md +24 -0
- package/docs/spec/SlaEvaluation.v1.md +12 -0
- package/docs/spec/THREAT_MODEL.md +113 -0
- package/docs/spec/TOOL_PROVENANCE.md +30 -0
- package/docs/spec/TRUST_ANCHORS.md +84 -0
- package/docs/spec/TenantSettings.v1.md +90 -0
- package/docs/spec/TenantSettings.v2.md +99 -0
- package/docs/spec/TimestampProof.v1.md +25 -0
- package/docs/spec/ToolCallAgreement.v1.md +34 -0
- package/docs/spec/ToolCallEvidence.v1.md +47 -0
- package/docs/spec/ToolManifest.v1.md +47 -0
- package/docs/spec/VERIFIER_ENVIRONMENT.md +38 -0
- package/docs/spec/VERSIONING.md +107 -0
- package/docs/spec/VerificationReport.v1.md +50 -0
- package/docs/spec/VerifyAboutOutput.v1.md +10 -0
- package/docs/spec/VerifyCliOutput.v1.md +28 -0
- package/docs/spec/WARNINGS.md +83 -0
- package/docs/spec/error-codes.v1.txt +285 -0
- package/docs/spec/examples/agreement_delegation_v1.example.json +21 -0
- package/docs/spec/examples/arbitration_case_v1.example.json +26 -0
- package/docs/spec/examples/arbitration_verdict_v1.example.json +32 -0
- package/docs/spec/examples/dispute_open_envelope_v1.example.json +18 -0
- package/docs/spec/examples/produce_cli_output_v1.example.json +32 -0
- package/docs/spec/examples/release_index_signature_v1.example.json +9 -0
- package/docs/spec/examples/release_index_signatures_v1.example.json +14 -0
- package/docs/spec/examples/release_index_v1.example.json +15 -0
- package/docs/spec/examples/release_trust_v1.example.json +7 -0
- package/docs/spec/examples/release_trust_v2.example.json +22 -0
- package/docs/spec/examples/remote_signer_request_v1.example.json +18 -0
- package/docs/spec/examples/remote_signer_response_v1.example.json +8 -0
- package/docs/spec/examples/reputation_event_v1.example.json +29 -0
- package/docs/spec/examples/verification_report_v1.example.json +24 -0
- package/docs/spec/examples/verify_about_output_v1.example.json +29 -0
- package/docs/spec/examples/verify_cli_output_v1.example.json +13 -0
- package/docs/spec/legacy/MarketplaceAcceptance.v1.md +48 -0
- package/docs/spec/legacy/MarketplaceOffer.v1.md +56 -0
- package/docs/spec/legacy/schemas/MarketplaceAcceptance.v1.schema.json +53 -0
- package/docs/spec/legacy/schemas/MarketplaceOffer.v1.schema.json +61 -0
- package/docs/spec/producer-error-codes.v1.txt +14 -0
- package/docs/spec/schemas/AcceptanceCriteria.v1.schema.json +24 -0
- package/docs/spec/schemas/AcceptanceEvaluation.v1.schema.json +26 -0
- package/docs/spec/schemas/AgentEvent.v1.schema.json +49 -0
- package/docs/spec/schemas/AgentIdentity.v1.schema.json +129 -0
- package/docs/spec/schemas/AgentPassport.v1.schema.json +112 -0
- package/docs/spec/schemas/AgentReputation.v1.schema.json +151 -0
- package/docs/spec/schemas/AgentReputation.v2.schema.json +120 -0
- package/docs/spec/schemas/AgentRun.v1.schema.json +71 -0
- package/docs/spec/schemas/AgentRunSettlement.v1.schema.json +75 -0
- package/docs/spec/schemas/AgentWallet.v1.schema.json +54 -0
- package/docs/spec/schemas/AgreementDelegation.v1.schema.json +50 -0
- package/docs/spec/schemas/ArbitrationCase.v1.schema.json +133 -0
- package/docs/spec/schemas/ArbitrationVerdict.v1.schema.json +149 -0
- package/docs/spec/schemas/BundleHeadAttestation.v1.schema.json +21 -0
- package/docs/spec/schemas/ClosePackManifest.v1.schema.json +38 -0
- package/docs/spec/schemas/DelegationGrant.v1.schema.json +102 -0
- package/docs/spec/schemas/DisputeOpenEnvelope.v1.schema.json +78 -0
- package/docs/spec/schemas/EvidenceIndex.v1.schema.json +41 -0
- package/docs/spec/schemas/ExecutionIntent.v1.schema.json +85 -0
- package/docs/spec/schemas/FinancePackBundleManifest.v1.schema.json +38 -0
- package/docs/spec/schemas/FundingHold.v1.schema.json +46 -0
- package/docs/spec/schemas/GovernancePolicy.v1.schema.json +45 -0
- package/docs/spec/schemas/GovernancePolicy.v2.schema.json +70 -0
- package/docs/spec/schemas/InteractionDirectionMatrix.v1.schema.json +43 -0
- package/docs/spec/schemas/InvoiceBundleManifest.v1.schema.json +38 -0
- package/docs/spec/schemas/InvoiceClaim.v1.schema.json +39 -0
- package/docs/spec/schemas/MarketplaceAcceptance.v2.schema.json +53 -0
- package/docs/spec/schemas/MarketplaceOffer.v2.schema.json +61 -0
- package/docs/spec/schemas/MeteringReport.v1.schema.json +45 -0
- package/docs/spec/schemas/OperatorAction.v1.schema.json +113 -0
- package/docs/spec/schemas/PolicyDecision.v1.schema.json +74 -0
- package/docs/spec/schemas/PricingMatrix.v1.schema.json +24 -0
- package/docs/spec/schemas/PricingMatrixSignatures.v1.schema.json +24 -0
- package/docs/spec/schemas/PricingMatrixSignatures.v2.schema.json +24 -0
- package/docs/spec/schemas/ProduceCliOutput.v1.schema.json +107 -0
- package/docs/spec/schemas/ProofBundleManifest.v1.schema.json +37 -0
- package/docs/spec/schemas/PublicKeys.v1.schema.json +33 -0
- package/docs/spec/schemas/ReleaseIndex.v1.schema.json +45 -0
- package/docs/spec/schemas/ReleaseIndexSignature.v1.schema.json +16 -0
- package/docs/spec/schemas/ReleaseIndexSignatures.v1.schema.json +16 -0
- package/docs/spec/schemas/ReleaseTrust.v1.schema.json +15 -0
- package/docs/spec/schemas/ReleaseTrust.v2.schema.json +37 -0
- package/docs/spec/schemas/RemoteSignerPublicKeyResponse.v1.schema.json +14 -0
- package/docs/spec/schemas/RemoteSignerRequest.v1.schema.json +24 -0
- package/docs/spec/schemas/RemoteSignerResponse.v1.schema.json +10 -0
- package/docs/spec/schemas/RemoteSignerSignRequest.v1.schema.json +27 -0
- package/docs/spec/schemas/RemoteSignerSignResponse.v1.schema.json +16 -0
- package/docs/spec/schemas/ReputationEvent.v1.schema.json +164 -0
- package/docs/spec/schemas/RevocationList.v1.schema.json +51 -0
- package/docs/spec/schemas/SettlementAdjustment.v1.schema.json +44 -0
- package/docs/spec/schemas/SettlementDecisionRecord.v1.schema.json +66 -0
- package/docs/spec/schemas/SettlementDecisionRecord.v2.schema.json +149 -0
- package/docs/spec/schemas/SettlementDecisionReport.v1.schema.json +61 -0
- package/docs/spec/schemas/SettlementReceipt.v1.schema.json +135 -0
- package/docs/spec/schemas/SlaDefinition.v1.schema.json +33 -0
- package/docs/spec/schemas/SlaEvaluation.v1.schema.json +26 -0
- package/docs/spec/schemas/TenantSettings.v1.schema.json +90 -0
- package/docs/spec/schemas/TenantSettings.v2.schema.json +161 -0
- package/docs/spec/schemas/TimestampProof.v1.schema.json +17 -0
- package/docs/spec/schemas/ToolCallAgreement.v1.schema.json +34 -0
- package/docs/spec/schemas/ToolCallEvidence.v1.schema.json +45 -0
- package/docs/spec/schemas/ToolManifest.v1.schema.json +54 -0
- package/docs/spec/schemas/VerificationReport.v1.schema.json +83 -0
- package/docs/spec/schemas/VerifyAboutOutput.v1.schema.json +54 -0
- package/docs/spec/schemas/VerifyCliOutput.v1.schema.json +75 -0
- package/docs/spec/schemas/VerifyReleaseOutput.v1.schema.json +47 -0
- package/docs/spec/x402-error-codes.v1.txt +35 -0
- package/docs/templates/buyer-email.txt +18 -0
- package/docs/templates/buyer-one-pager.md +24 -0
- package/package.json +53 -6
- package/scripts/acceptance/full-stack.mjs +734 -0
- package/scripts/acceptance/full-stack.sh +99 -0
- package/scripts/audit/build-audit-packet.mjs +242 -0
- package/scripts/backup-pg.sh +45 -0
- package/scripts/backup-restore/README.md +18 -0
- package/scripts/backup-restore/capture-state.mjs +130 -0
- package/scripts/backup-restore/client.mjs +97 -0
- package/scripts/backup-restore/seed-workload.mjs +235 -0
- package/scripts/backup-restore/verify-state.mjs +139 -0
- package/scripts/backup-restore-test.sh +217 -0
- package/scripts/chaos.js +221 -0
- package/scripts/ci/build-launch-cutover-packet.mjs +304 -0
- package/scripts/ci/build-self-serve-benchmark-report.mjs +122 -0
- package/scripts/ci/changelog-guard.mjs +145 -0
- package/scripts/ci/check-kernel-v0-launch-gate.mjs +233 -0
- package/scripts/ci/check-secret-hygiene.mjs +78 -0
- package/scripts/ci/check-version-consistency.mjs +42 -0
- package/scripts/ci/cli-pack-smoke.mjs +160 -0
- package/scripts/ci/flake-budget-guard.mjs +68 -0
- package/scripts/ci/generate-error-codes.mjs +54 -0
- package/scripts/ci/lib/lighthouse-tracker.mjs +90 -0
- package/scripts/ci/lib/self-serve-launch-gate.mjs +89 -0
- package/scripts/ci/npm-pack-smoke.mjs +454 -0
- package/scripts/ci/run-10x-throughput-drill.mjs +318 -0
- package/scripts/ci/run-10x-throughput-incident-rehearsal.mjs +368 -0
- package/scripts/ci/run-arbitration-workspace-browser-e2e.sh +22 -0
- package/scripts/ci/run-circle-sandbox-smoke.mjs +237 -0
- package/scripts/ci/run-go-live-gate.mjs +150 -0
- package/scripts/ci/run-kernel-v0-ship-gate.mjs +97 -0
- package/scripts/ci/run-mcp-host-cert-matrix.mjs +201 -0
- package/scripts/ci/run-mcp-host-smoke.mjs +473 -0
- package/scripts/ci/run-offline-verification-parity-gate.mjs +762 -0
- package/scripts/ci/run-onboarding-host-success-gate.mjs +516 -0
- package/scripts/ci/run-onboarding-policy-slo-gate.mjs +537 -0
- package/scripts/ci/run-production-cutover-gate.mjs +540 -0
- package/scripts/ci/run-public-openclaw-npx-smoke.mjs +148 -0
- package/scripts/ci/run-release-promotion-guard.mjs +756 -0
- package/scripts/ci/run-self-serve-launch-gate.mjs +56 -0
- package/scripts/ci/runtime-import-smoke.mjs +58 -0
- package/scripts/ci/update-lighthouse-tracker.mjs +112 -0
- package/scripts/closepack/lib.mjs +286 -0
- package/scripts/collect-debug.sh +263 -0
- package/scripts/demo/compositional-settlement-3hop.mjs +237 -0
- package/scripts/demo/delivery-robot/export-ui-fixture.mjs +188 -0
- package/scripts/demo/delivery-robot/generate.mjs +377 -0
- package/scripts/demo/kernel-agent-goes-shopping.mjs +202 -0
- package/scripts/demo/magic-link-first-green.mjs +118 -0
- package/scripts/demo/magic-link-kind-smoke.mjs +577 -0
- package/scripts/demo/mcp-paid-exa.mjs +1110 -0
- package/scripts/dev/billing-doctor.sh +145 -0
- package/scripts/dev/billing-smoke-prod.sh +219 -0
- package/scripts/dev/billing-webhook-replay.sh +161 -0
- package/scripts/dev/env.dev.example +29 -0
- package/scripts/dev/env.sh +37 -0
- package/scripts/dev/new-sdk-key.sh +81 -0
- package/scripts/dev/sdk-first-run.sh +21 -0
- package/scripts/dev/smoke-x402-gateway.sh +115 -0
- package/scripts/dev/start-api.sh +24 -0
- package/scripts/doctor/mcp-host.mjs +120 -0
- package/scripts/examples/produce-and-verify-jobproof.mjs +191 -0
- package/scripts/examples/sdk-first-paid-rfq.py +105 -0
- package/scripts/examples/sdk-first-verified-run.mjs +85 -0
- package/scripts/examples/sdk-first-verified-run.py +99 -0
- package/scripts/examples/sdk-tenant-analytics.mjs +103 -0
- package/scripts/examples/sdk-tenant-analytics.py +118 -0
- package/scripts/finance-pack/bundle.mjs +284 -0
- package/scripts/fixtures/generate-bundle-fixtures.mjs +877 -0
- package/scripts/governance/export.mjs +169 -0
- package/scripts/load/delivery-stress.k6.js +183 -0
- package/scripts/load/ingest-burst.k6.js +236 -0
- package/scripts/load/run-delivery-load.js +66 -0
- package/scripts/load/webhook-receiver.js +131 -0
- package/scripts/magic-link/migrate-run-records-to-db.mjs +35 -0
- package/scripts/mcp/probe.mjs +238 -0
- package/scripts/mcp/settld-mcp-http-gateway.mjs +178 -0
- package/scripts/mcp/settld-mcp-server.mjs +1511 -0
- package/scripts/openapi/write.mjs +13 -0
- package/scripts/ops/bootstrap-tenant-conformance.mjs +185 -0
- package/scripts/ops/build-x402-pilot-reliability-report.mjs +489 -0
- package/scripts/ops/check-x402-receipt-sample.mjs +181 -0
- package/scripts/ops/design-partner-run-packet.mjs +466 -0
- package/scripts/ops/dispute-finance-reconciliation-packet.mjs +313 -0
- package/scripts/ops/hosted-baseline-evidence.mjs +890 -0
- package/scripts/ops/money-rails-chargeback-evidence.mjs +509 -0
- package/scripts/ops/money-rails-reconcile-evidence.mjs +180 -0
- package/scripts/ops/p0-seed-money-rail-operation.mjs +432 -0
- package/scripts/ops/run-x402-hitl-smoke.mjs +607 -0
- package/scripts/pilot/finance-pack.mjs +495 -0
- package/scripts/pilot/fixtures/robot-keypair.json +4 -0
- package/scripts/pilot/fixtures/server-signer.json +4 -0
- package/scripts/policy/cli.mjs +600 -0
- package/scripts/profile/cli.mjs +1324 -0
- package/scripts/proof-bundle/job.mjs +109 -0
- package/scripts/proof-bundle/lib.mjs +92 -0
- package/scripts/proof-bundle/month.mjs +103 -0
- package/scripts/provider/conformance-run.mjs +159 -0
- package/scripts/provider/keys-generate.mjs +135 -0
- package/scripts/provider/publish.mjs +420 -0
- package/scripts/quickstart/x402.mjs +334 -0
- package/scripts/register-entity-secret.mjs +102 -0
- package/scripts/release/build-artifacts.mjs +181 -0
- package/scripts/release/generate-release-index.mjs +112 -0
- package/scripts/release/release-index-lib.mjs +232 -0
- package/scripts/release/sign-release-index.mjs +85 -0
- package/scripts/release/validate-release-assets.mjs +170 -0
- package/scripts/release/verify-release.mjs +261 -0
- package/scripts/restore-pg.sh +34 -0
- package/scripts/scaffold/create-settld-paid-tool.mjs +19 -0
- package/scripts/sdk/smoke-python.py +30 -0
- package/scripts/sdk/smoke.mjs +16 -0
- package/scripts/settlement/x402-batch-worker.mjs +1091 -0
- package/scripts/setup/circle-bootstrap.mjs +310 -0
- package/scripts/setup/host-config.mjs +617 -0
- package/scripts/setup/onboard.mjs +1337 -0
- package/scripts/setup/openclaw-onboard.mjs +423 -0
- package/scripts/setup/wizard.mjs +986 -0
- package/scripts/slo/check.mjs +239 -0
- package/scripts/smoke/k8s-smoke.mjs +214 -0
- package/scripts/spec/generate-protocol-vectors.mjs +1019 -0
- package/scripts/test/check-no-generated-artifacts.sh +12 -0
- package/scripts/test/run.sh +59 -0
- package/scripts/trust/validate-trust-file.mjs +57 -0
- package/scripts/trust-config/rotate-settld-pay.mjs +277 -0
- package/scripts/trust-config/wizard.mjs +161 -0
- package/scripts/vendor-contract-test-lib.mjs +182 -0
- package/scripts/vendor-contract-test.mjs +55 -0
- package/scripts/vercel/build-mkdocs.sh +9 -0
- package/scripts/vercel/ignore-mkdocs.sh +25 -0
- package/scripts/vercel/install-mkdocs.sh +6 -0
- package/scripts/verify-pg.js +217 -0
- package/scripts/x402/receipt-verify.mjs +289 -0
- package/services/finance-sink/src/dedupe-store.js +29 -6
- package/services/receiver/src/dedupe-store.js +29 -5
- package/services/x402-gateway/Dockerfile +13 -0
- package/services/x402-gateway/README.md +58 -0
- package/services/x402-gateway/examples/upstream-mock.js +337 -0
- package/services/x402-gateway/src/server.js +1058 -0
- package/src/api/app.js +34658 -16940
- package/src/api/maintenance.js +70 -0
- package/src/api/middleware/trust-kernel.js +114 -0
- package/src/api/openapi.js +1778 -70
- package/src/api/persistence.js +456 -0
- package/src/api/server.js +81 -5
- package/src/api/store.js +1581 -62
- package/src/api/workers/deliveries.js +99 -4
- package/src/api/workers/insolvency-sweep.js +159 -0
- package/src/core/agent-card.js +69 -0
- package/src/core/agent-wallets.js +231 -0
- package/src/core/agreement-delegation.js +549 -0
- package/src/core/billing-plans.js +40 -6
- package/src/core/circle-reserve-adapter.js +845 -0
- package/src/core/event-policy.js +21 -2
- package/src/core/maintenance-locks.js +1 -0
- package/src/core/operator-action.js +303 -0
- package/src/core/paid-tool-manifest.js +318 -0
- package/src/core/policy-decision.js +322 -0
- package/src/core/policy-packs.js +207 -0
- package/src/core/profile-fingerprint.js +27 -0
- package/src/core/profile-simulation-reasons.js +84 -0
- package/src/core/profile-templates.js +242 -0
- package/src/core/provider-publish-conformance.js +525 -0
- package/src/core/provider-publish-proof.js +396 -0
- package/src/core/provider-quote-signature.js +170 -0
- package/src/core/settld-keys.js +112 -0
- package/src/core/settld-pay-token.js +344 -0
- package/src/core/settlement-kernel.js +239 -2
- package/src/core/settlement-verifier.js +335 -0
- package/src/core/tool-call-agreement.js +112 -0
- package/src/core/tool-call-evidence.js +144 -0
- package/src/core/tool-provider-signature.js +98 -0
- package/src/core/wallet-assignment-resolver.js +129 -0
- package/src/core/wallet-provider-bootstrap.js +365 -0
- package/src/core/x402-escalation-override.js +258 -0
- package/src/core/x402-gate.js +118 -0
- package/src/core/x402-provider-refund-decision.js +220 -0
- package/src/core/x402-receipt-verifier.js +708 -0
- package/src/core/x402-reversal-command.js +251 -0
- package/src/core/x402-wallet-issuer-decision.js +252 -0
- package/src/core/zk-verifier.js +300 -0
- package/src/db/migrations/029_reputation_event_index.sql +54 -0
- package/src/db/migrations/030_artifacts_source_event_unique_job_only.sql +15 -0
- package/src/db/pg.js +18 -7
- package/src/db/store-pg.js +1508 -111
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
Get from zero to a verified paid agent action in minutes.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Node.js 20+
|
|
8
|
+
- Settld API URL
|
|
9
|
+
- Tenant ID
|
|
10
|
+
- Tenant API key (`keyId.secret`)
|
|
11
|
+
|
|
12
|
+
## 0) One-command setup
|
|
13
|
+
|
|
14
|
+
Run guided setup:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
settld setup
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
The guided setup uses arrow-key menus for host/wallet/policy decisions, then asks only the next required fields.
|
|
21
|
+
|
|
22
|
+
Non-interactive example:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
settld setup --non-interactive \
|
|
26
|
+
--host codex \
|
|
27
|
+
--base-url http://127.0.0.1:3000 \
|
|
28
|
+
--tenant-id tenant_default \
|
|
29
|
+
--settld-api-key sk_live_xxx.yyy \
|
|
30
|
+
--wallet-mode managed \
|
|
31
|
+
--wallet-bootstrap remote \
|
|
32
|
+
--profile-id engineering-spend \
|
|
33
|
+
--smoke \
|
|
34
|
+
--out-env ./.tmp/settld.env
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
What this does:
|
|
38
|
+
|
|
39
|
+
- configures host MCP wiring
|
|
40
|
+
- sets runtime env and policy passport
|
|
41
|
+
- applies starter profile
|
|
42
|
+
- runs connectivity smoke checks
|
|
43
|
+
|
|
44
|
+
## 1) Activate your host
|
|
45
|
+
|
|
46
|
+
If you wrote an env file, load it:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
source ./.tmp/settld.env
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Then restart your host app (Codex/Claude/Cursor/OpenClaw) so it reloads MCP config.
|
|
53
|
+
|
|
54
|
+
## 2) Verify MCP connectivity
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npm run mcp:probe -- --call settld.about '{}'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Expected outcome:
|
|
61
|
+
|
|
62
|
+
- `settld.about` succeeds
|
|
63
|
+
- host can discover `settld.*` tools
|
|
64
|
+
|
|
65
|
+
## 3) Run first paid call
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npm run demo:mcp-paid-exa
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Expected output includes:
|
|
72
|
+
|
|
73
|
+
- `PASS artifactDir=...`
|
|
74
|
+
- `gateId=...`
|
|
75
|
+
- `decisionId=...`
|
|
76
|
+
- `settlementReceiptId=...`
|
|
77
|
+
|
|
78
|
+
## 4) Verify first receipt (proof packet)
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
jq -c 'first' <artifactDir>/x402-receipts.export.jsonl > /tmp/settld-first-receipt.json
|
|
82
|
+
settld x402 receipt verify /tmp/settld-first-receipt.json --format json --json-out /tmp/settld-first-receipt.verify.json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`/tmp/settld-first-receipt.verify.json` is your deterministic verification artifact for audit/compliance.
|
|
86
|
+
|
|
87
|
+
## 5) Optional: policy profile workflows
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
settld profile list
|
|
91
|
+
settld profile init engineering-spend --out ./profiles/engineering-spend.profile.json
|
|
92
|
+
settld profile validate ./profiles/engineering-spend.profile.json --format json
|
|
93
|
+
settld profile simulate ./profiles/engineering-spend.profile.json --format json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Troubleshooting
|
|
97
|
+
|
|
98
|
+
- `SETTLD_API_KEY must be a non-empty string`
|
|
99
|
+
- ensure key is present in setup flags or shell env.
|
|
100
|
+
- `BYO wallet mode missing required env keys`
|
|
101
|
+
- provide all required Circle keys in `docs/QUICKSTART_MCP_HOSTS.md`.
|
|
102
|
+
- Host cannot find MCP tools
|
|
103
|
+
- rerun setup, restart host, then rerun `npm run mcp:probe`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Replay and Audit
|
|
2
|
+
|
|
3
|
+
Replay proves your stored settlement result still matches recomputed evaluation under the same pinned context.
|
|
4
|
+
|
|
5
|
+
## Replay goals
|
|
6
|
+
|
|
7
|
+
- verify decision consistency
|
|
8
|
+
- detect policy/verifier drift impact
|
|
9
|
+
- produce audit-ready evidence for incident/compliance reviews
|
|
10
|
+
|
|
11
|
+
## Tool-call replay
|
|
12
|
+
|
|
13
|
+
Use replay endpoint with agreement hash and compare:
|
|
14
|
+
|
|
15
|
+
- decision outcome
|
|
16
|
+
- reason codes/evaluation summary
|
|
17
|
+
- pinned policy/verifier references
|
|
18
|
+
- expected deterministic adjustment behavior
|
|
19
|
+
|
|
20
|
+
## Audit workflow
|
|
21
|
+
|
|
22
|
+
1. Fetch artifacts for subject agreement.
|
|
23
|
+
2. Run replay-evaluate.
|
|
24
|
+
3. Export closepack.
|
|
25
|
+
4. Run offline verify.
|
|
26
|
+
5. Store replay + verify reports with incident/release packet.
|
|
27
|
+
|
|
28
|
+
## Release gate recommendation
|
|
29
|
+
|
|
30
|
+
Make replay mismatch rate and closepack verify failures release-blocking thresholds.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# SDK Reference
|
|
2
|
+
|
|
3
|
+
Settld provides JavaScript and Python SDKs to reduce raw-HTTP integration overhead.
|
|
4
|
+
|
|
5
|
+
## JavaScript SDK
|
|
6
|
+
|
|
7
|
+
Path: `packages/api-sdk`
|
|
8
|
+
|
|
9
|
+
Typical workflow methods:
|
|
10
|
+
|
|
11
|
+
- create/submit lifecycle requests
|
|
12
|
+
- fetch artifacts and replay checks
|
|
13
|
+
- dispute operations and status reads
|
|
14
|
+
- reputation fact queries
|
|
15
|
+
|
|
16
|
+
## Python SDK
|
|
17
|
+
|
|
18
|
+
Path: `packages/api-sdk-python`
|
|
19
|
+
|
|
20
|
+
Typical workflow methods mirror JS flow:
|
|
21
|
+
|
|
22
|
+
- settlement lifecycle calls
|
|
23
|
+
- dispute flow operations
|
|
24
|
+
- replay checks
|
|
25
|
+
- reputation reads
|
|
26
|
+
|
|
27
|
+
## Integration pattern
|
|
28
|
+
|
|
29
|
+
1. Keep artifact IDs in your own datastore.
|
|
30
|
+
2. Treat settlement artifacts as first-class business records.
|
|
31
|
+
3. Use replay + closepack verification for sensitive incident paths.
|
|
32
|
+
|
|
33
|
+
## Versioning
|
|
34
|
+
|
|
35
|
+
Keep SDK versions aligned with protocol/object compatibility requirements for your deployment window.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Security Model
|
|
2
|
+
|
|
3
|
+
Settld minimizes trust assumptions in settlement outcomes by making critical claims signed, bound, and independently verifiable.
|
|
4
|
+
|
|
5
|
+
## Threats this design addresses
|
|
6
|
+
|
|
7
|
+
- artifact tampering after execution
|
|
8
|
+
- ambiguous money movement without decision lineage
|
|
9
|
+
- unauthorized economic actions outside authority scope
|
|
10
|
+
- silent drift between stored decisions and replayed outcomes
|
|
11
|
+
|
|
12
|
+
## Core controls
|
|
13
|
+
|
|
14
|
+
## Signed artifacts + canonical hashing
|
|
15
|
+
|
|
16
|
+
Critical objects are signed and hash-bound.
|
|
17
|
+
|
|
18
|
+
## Authority-scoped execution
|
|
19
|
+
|
|
20
|
+
Authority grants constrain spend, scope, and time.
|
|
21
|
+
|
|
22
|
+
## Agreement/evidence binding
|
|
23
|
+
|
|
24
|
+
Evidence must align with agreement commitments (`callId`, `inputHash`, terms).
|
|
25
|
+
|
|
26
|
+
## Deterministic idempotent effects
|
|
27
|
+
|
|
28
|
+
Deterministic IDs and uniqueness constraints prevent duplicate financial side effects.
|
|
29
|
+
|
|
30
|
+
## Dispute legitimacy
|
|
31
|
+
|
|
32
|
+
Non-admin dispute open requires signer-bound envelope proof.
|
|
33
|
+
|
|
34
|
+
## Replay and closepack verification
|
|
35
|
+
|
|
36
|
+
Stored outcomes can be recomputed and verified offline.
|
|
37
|
+
|
|
38
|
+
## Boundaries (what Settld does not solve alone)
|
|
39
|
+
|
|
40
|
+
- correctness beyond configured policy/verifier semantics
|
|
41
|
+
- private key compromise
|
|
42
|
+
- unsafe tenant policy configuration
|
|
43
|
+
- jurisdiction-specific legal/compliance obligations by default
|
|
44
|
+
|
|
45
|
+
## Operational minimums
|
|
46
|
+
|
|
47
|
+
- signer key rotation + inventory controls
|
|
48
|
+
- monitor replay mismatches and dispute lag
|
|
49
|
+
- keep strict separation between demo/test/prod tokens
|
|
50
|
+
- include closepack verify in release and incident workflows
|
|
51
|
+
|
|
52
|
+
## References
|
|
53
|
+
|
|
54
|
+
- `SECURITY.md`
|
|
55
|
+
- `docs/spec/THREAT_MODEL.md`
|
|
56
|
+
- `docs/THREAT_MODEL.md`
|
|
57
|
+
- `docs/ALERTS.md`
|
|
58
|
+
- `docs/ONCALL_PLAYBOOK.md`
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Integrations
|
|
2
|
+
|
|
3
|
+
Copy/paste adoption templates and guardrails:
|
|
4
|
+
|
|
5
|
+
- `github-actions.md` — composite action usage and trust anchor wiring.
|
|
6
|
+
- `github-actions-verify.yml` — pasteable workflow template.
|
|
7
|
+
- `openclaw/PUBLIC_QUICKSTART.md` — public npm onboarding flow for OpenClaw (`npx settld@latest setup`).
|
|
8
|
+
- `openclaw/settld-mcp-skill/SKILL.md` — OpenClaw skill payload for Settld MCP.
|
|
9
|
+
- `openclaw/CLAWHUB_PUBLISH_CHECKLIST.md` — publish + validation checklist for ClawHub.
|
|
10
|
+
|
|
11
|
+
See also:
|
|
12
|
+
|
|
13
|
+
- `docs/QUICKSTART_VERIFY.md`
|
|
14
|
+
- `docs/ADOPTION_CHECKLIST.md`
|
|
15
|
+
- `docs/QUICKSTART_MCP_HOSTS.md`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: verify bundles (settld)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
verify:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v4
|
|
11
|
+
|
|
12
|
+
# Replace this with the path to the bundle produced by your pipeline.
|
|
13
|
+
# For demo/conformance, we point at committed fixtures.
|
|
14
|
+
- name: Verify bundle (strict)
|
|
15
|
+
id: verify
|
|
16
|
+
# For external adoption:
|
|
17
|
+
# uses: settld/settld/.github/actions/settld-verify@vX.Y.Z
|
|
18
|
+
uses: ./.github/actions/settld-verify
|
|
19
|
+
with:
|
|
20
|
+
bundle_path: test/fixtures/bundles/v1/jobproof/strict-pass
|
|
21
|
+
strict: "true"
|
|
22
|
+
fail_on_warnings: "false"
|
|
23
|
+
hash_concurrency: "8"
|
|
24
|
+
trust_file: test/fixtures/bundles/v1/trust.json
|
|
25
|
+
output_json_path: settld-verify-output.json
|
|
26
|
+
|
|
27
|
+
- name: Upload verification output JSON
|
|
28
|
+
uses: actions/upload-artifact@v4
|
|
29
|
+
with:
|
|
30
|
+
name: settld-verify-output
|
|
31
|
+
path: settld-verify-output.json
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# GitHub Actions integration: `settld-verify`
|
|
2
|
+
|
|
3
|
+
This repo ships a **first-party composite action** that runs `settld-verify` with stable machine output (`VerifyCliOutput.v1`) and supports strict/non-strict + warning gating.
|
|
4
|
+
|
|
5
|
+
## Minimal workflow (strict, archive JSON)
|
|
6
|
+
|
|
7
|
+
See `docs/integrations/github-actions-verify.yml` for a pasteable workflow.
|
|
8
|
+
|
|
9
|
+
For usage from another repo, reference the action by tag:
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
uses: settld/settld/.github/actions/settld-verify@vX.Y.Z
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Trust anchors
|
|
16
|
+
|
|
17
|
+
Pass a `trust.json` file (same shape as `test/fixtures/bundles/v1/trust.json`):
|
|
18
|
+
|
|
19
|
+
- `governanceRoots`: map of `keyId -> publicKeyPem`
|
|
20
|
+
- `timeAuthorities`: optional map of `keyId -> publicKeyPem`
|
|
21
|
+
|
|
22
|
+
The action exports these to the verifier via:
|
|
23
|
+
|
|
24
|
+
- `SETTLD_TRUSTED_GOVERNANCE_ROOT_KEYS_JSON`
|
|
25
|
+
- `SETTLD_TRUSTED_TIME_AUTHORITY_KEYS_JSON` (when present)
|
|
26
|
+
|
|
27
|
+
## What to archive for audit
|
|
28
|
+
|
|
29
|
+
Recommended posture:
|
|
30
|
+
|
|
31
|
+
- Archive the **bundle** itself (immutable artifact store).
|
|
32
|
+
- Archive the CI `VerifyCliOutput.v1` JSON (what you verified, when, with what tool identity).
|
|
33
|
+
|
|
34
|
+
If you store the bundle, you already retain `verify/verification_report.json` inside it (the signed receipt).
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# ClawHub Publish Checklist (Settld MCP Skill)
|
|
2
|
+
|
|
3
|
+
Use this to publish and validate the Settld OpenClaw skill safely.
|
|
4
|
+
|
|
5
|
+
## 1) Pre-Publish Validation
|
|
6
|
+
|
|
7
|
+
Run local MCP sanity checks first:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm run mcp:probe
|
|
11
|
+
node --test test/mcp-stdio-spike.test.js test/mcp-http-gateway.test.js test/mcp-paid-exa-tool.test.js test/mcp-paid-weather-tool.test.js
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Confirm required files exist:
|
|
15
|
+
|
|
16
|
+
- `docs/integrations/openclaw/settld-mcp-skill/SKILL.md`
|
|
17
|
+
- `docs/integrations/openclaw/settld-mcp-skill/mcp-server.example.json`
|
|
18
|
+
|
|
19
|
+
## 2) Prepare Skill Metadata
|
|
20
|
+
|
|
21
|
+
In `SKILL.md`, verify:
|
|
22
|
+
|
|
23
|
+
- `name` is unique in ClawHub
|
|
24
|
+
- `description` is short and explicit
|
|
25
|
+
- `version` bumped for every publish
|
|
26
|
+
|
|
27
|
+
## 3) Publish To ClawHub
|
|
28
|
+
|
|
29
|
+
Publish the folder `docs/integrations/openclaw/settld-mcp-skill/` as your skill package.
|
|
30
|
+
|
|
31
|
+
If ClawHub UI requests install instructions, use:
|
|
32
|
+
|
|
33
|
+
- command: `npx`
|
|
34
|
+
- args: `-y settld-mcp`
|
|
35
|
+
- env: `SETTLD_BASE_URL`, `SETTLD_TENANT_ID`, `SETTLD_API_KEY`, optional `SETTLD_PAID_TOOLS_BASE_URL`
|
|
36
|
+
|
|
37
|
+
## 4) Post-Publish Smoke Test
|
|
38
|
+
|
|
39
|
+
Install the skill in a clean OpenClaw environment and verify:
|
|
40
|
+
|
|
41
|
+
1. Tools are discoverable (`settld.*` visible).
|
|
42
|
+
2. `settld.about` succeeds.
|
|
43
|
+
3. One paid call succeeds:
|
|
44
|
+
- `settld.exa_search_paid`, or
|
|
45
|
+
- `settld.weather_current_paid`
|
|
46
|
+
4. Result includes `x-settld-*` verification headers.
|
|
47
|
+
|
|
48
|
+
## 5) Rollback Plan
|
|
49
|
+
|
|
50
|
+
If smoke fails in production:
|
|
51
|
+
|
|
52
|
+
1. Unlist or disable latest skill version in ClawHub.
|
|
53
|
+
2. Revert to previous working skill version.
|
|
54
|
+
3. Fix and republish with incremented `version`.
|
|
55
|
+
|
|
56
|
+
## 6) Release Notes Template
|
|
57
|
+
|
|
58
|
+
Capture these fields each publish:
|
|
59
|
+
|
|
60
|
+
- Skill version
|
|
61
|
+
- Settld package version used
|
|
62
|
+
- Added/changed tools
|
|
63
|
+
- Known limitations
|
|
64
|
+
- Validation run timestamp
|
|
65
|
+
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# OpenClaw Public Quickstart (No Repo Clone)
|
|
2
|
+
|
|
3
|
+
Use this when you want a public user to set up Settld from npm in a fresh machine.
|
|
4
|
+
|
|
5
|
+
## 1) Install and onboard OpenClaw
|
|
6
|
+
|
|
7
|
+
Follow OpenClaw docs:
|
|
8
|
+
|
|
9
|
+
- https://docs.openclaw.ai/install/index
|
|
10
|
+
- https://docs.openclaw.ai/start/wizard
|
|
11
|
+
|
|
12
|
+
Then run onboarding:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
openclaw onboard --install-daemon
|
|
16
|
+
openclaw doctor
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
If `openclaw` is not on PATH yet, use the npx fallback:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx -y openclaw@latest onboard --install-daemon
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 2) Run Settld setup from npm
|
|
26
|
+
|
|
27
|
+
Interactive path (recommended):
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx -y settld@latest setup
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Choose:
|
|
34
|
+
|
|
35
|
+
1. `host`: `openclaw`
|
|
36
|
+
2. wallet mode (`managed` recommended first)
|
|
37
|
+
3. wallet bootstrap (`remote` recommended for first setup)
|
|
38
|
+
4. keep preflight + smoke enabled
|
|
39
|
+
5. apply a starter profile (`engineering-spend`)
|
|
40
|
+
|
|
41
|
+
Non-interactive path (automation/support):
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx -y settld@latest setup \
|
|
45
|
+
--non-interactive \
|
|
46
|
+
--host openclaw \
|
|
47
|
+
--base-url https://api.settld.work \
|
|
48
|
+
--tenant-id tenant_default \
|
|
49
|
+
--settld-api-key 'sk_live_xxx.yyy' \
|
|
50
|
+
--wallet-mode managed \
|
|
51
|
+
--wallet-bootstrap remote \
|
|
52
|
+
--profile-id engineering-spend \
|
|
53
|
+
--smoke
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 3) Verify OpenClaw + Settld are wired
|
|
57
|
+
|
|
58
|
+
Run:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
openclaw doctor
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Then from OpenClaw chat/test prompt:
|
|
65
|
+
|
|
66
|
+
- `Call settld.about and return JSON.`
|
|
67
|
+
|
|
68
|
+
Expected result: success payload with Settld tool metadata.
|
|
69
|
+
|
|
70
|
+
## 4) Run first paid tool call
|
|
71
|
+
|
|
72
|
+
From OpenClaw prompt:
|
|
73
|
+
|
|
74
|
+
- `Run settld.weather_current_paid for city=Chicago unit=f and include x-settld-* headers in the response.`
|
|
75
|
+
|
|
76
|
+
Expected result:
|
|
77
|
+
|
|
78
|
+
- tool call succeeds
|
|
79
|
+
- response includes policy/decision/settlement headers (`x-settld-*`)
|
|
80
|
+
|
|
81
|
+
## 5) Verify receipt artifact (when available)
|
|
82
|
+
|
|
83
|
+
If you exported a receipt JSON from your Settld environment, verify it offline:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx -y settld@latest x402 receipt verify ./receipt.json --format json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Notes for operators
|
|
90
|
+
|
|
91
|
+
- Public users do not need to clone the Settld repo.
|
|
92
|
+
- Public path is valid only after publishing a package version that includes the current setup flow.
|
|
93
|
+
- For OpenClaw skill packaging and publish flow, see:
|
|
94
|
+
- `docs/integrations/openclaw/settld-mcp-skill/SKILL.md`
|
|
95
|
+
- `docs/integrations/openclaw/CLAWHUB_PUBLISH_CHECKLIST.md`
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: settld-mcp-payments
|
|
3
|
+
description: Connect OpenClaw agents to Settld MCP for paid tool calls with quote-bound authorization and verifiable receipts.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
author: Settld
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Settld MCP Payments Skill
|
|
9
|
+
|
|
10
|
+
This skill teaches OpenClaw agents to use Settld for paid MCP tool calls.
|
|
11
|
+
|
|
12
|
+
## What This Skill Enables
|
|
13
|
+
|
|
14
|
+
- Discover Settld MCP tools (`settld.*`)
|
|
15
|
+
- Run paid tool calls with x402 challenge/authorize/retry flow
|
|
16
|
+
- Return verifiable payment/settlement headers from tool responses
|
|
17
|
+
- Produce audit-grade artifacts and receipts in Settld
|
|
18
|
+
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- Node.js 20+
|
|
22
|
+
- Settld API key (`SETTLD_API_KEY`)
|
|
23
|
+
- Settld API base URL (`SETTLD_BASE_URL`)
|
|
24
|
+
- Tenant id (`SETTLD_TENANT_ID`)
|
|
25
|
+
- Optional paid tools base URL (`SETTLD_PAID_TOOLS_BASE_URL`)
|
|
26
|
+
|
|
27
|
+
## MCP Server Registration
|
|
28
|
+
|
|
29
|
+
Use the server definition in `mcp-server.example.json`.
|
|
30
|
+
|
|
31
|
+
Server command:
|
|
32
|
+
|
|
33
|
+
- command: `npx`
|
|
34
|
+
- args: `["-y","settld-mcp"]`
|
|
35
|
+
|
|
36
|
+
Required env vars:
|
|
37
|
+
|
|
38
|
+
- `SETTLD_BASE_URL`
|
|
39
|
+
- `SETTLD_TENANT_ID`
|
|
40
|
+
- `SETTLD_API_KEY`
|
|
41
|
+
|
|
42
|
+
Optional env vars:
|
|
43
|
+
|
|
44
|
+
- `SETTLD_PAID_TOOLS_BASE_URL`
|
|
45
|
+
- `SETTLD_PROTOCOL`
|
|
46
|
+
|
|
47
|
+
## Agent Usage Pattern
|
|
48
|
+
|
|
49
|
+
1. Call `settld.about` to verify connectivity.
|
|
50
|
+
2. For paid search/data calls, use:
|
|
51
|
+
- `settld.exa_search_paid`
|
|
52
|
+
- `settld.weather_current_paid`
|
|
53
|
+
3. For agreement lifecycle demo calls, use:
|
|
54
|
+
- `settld.create_agreement`
|
|
55
|
+
- `settld.submit_evidence`
|
|
56
|
+
- `settld.settle_run`
|
|
57
|
+
- `settld.resolve_settlement`
|
|
58
|
+
|
|
59
|
+
## Smoke Prompts
|
|
60
|
+
|
|
61
|
+
- "Call `settld.about` and return the result JSON."
|
|
62
|
+
- "Run `settld.weather_current_paid` for Chicago in fahrenheit and include the `x-settld-*` headers."
|
|
63
|
+
|
|
64
|
+
## Safety Notes
|
|
65
|
+
|
|
66
|
+
- Treat `SETTLD_API_KEY` as secret input.
|
|
67
|
+
- Do not print full API keys in chat output.
|
|
68
|
+
- Keep paid tools scoped to trusted providers and tenant policy.
|
|
69
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "settld",
|
|
3
|
+
"command": "npx",
|
|
4
|
+
"args": ["-y", "settld-mcp"],
|
|
5
|
+
"env": {
|
|
6
|
+
"SETTLD_BASE_URL": "http://127.0.0.1:3000",
|
|
7
|
+
"SETTLD_TENANT_ID": "tenant_default",
|
|
8
|
+
"SETTLD_API_KEY": "sk_live_xxx.yyy",
|
|
9
|
+
"SETTLD_PAID_TOOLS_BASE_URL": "http://127.0.0.1:8402"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "KernelCompatibleDirectory.v0",
|
|
3
|
+
"updatedAt": "2026-02-11T00:00:00.000Z",
|
|
4
|
+
"entries": [
|
|
5
|
+
{
|
|
6
|
+
"id": "reference-deterministic-latency-threshold",
|
|
7
|
+
"name": "Reference Capability: Deterministic Latency Threshold",
|
|
8
|
+
"owner": "settld",
|
|
9
|
+
"type": "reference",
|
|
10
|
+
"repoPath": "examples/reference-capabilities/deterministic-latency-threshold",
|
|
11
|
+
"deterministicVerifierRef": "verifier://settld/deterministic/latency-threshold-v1",
|
|
12
|
+
"conformanceCaseIds": [
|
|
13
|
+
"tool_call_holdback_release",
|
|
14
|
+
"tool_call_holdback_refund"
|
|
15
|
+
],
|
|
16
|
+
"closepackVerified": true,
|
|
17
|
+
"lastVerifiedAt": "2026-02-11T00:00:00.000Z",
|
|
18
|
+
"status": "listed"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "reference-deterministic-schema-check",
|
|
22
|
+
"name": "Reference Capability: Deterministic Schema Check",
|
|
23
|
+
"owner": "settld",
|
|
24
|
+
"type": "reference",
|
|
25
|
+
"repoPath": "examples/reference-capabilities/deterministic-schema-check",
|
|
26
|
+
"deterministicVerifierRef": "verifier://settld/deterministic/schema-check-v1",
|
|
27
|
+
"conformanceCaseIds": [
|
|
28
|
+
"tool_call_holdback_release",
|
|
29
|
+
"marketplace_run_replay_evaluate"
|
|
30
|
+
],
|
|
31
|
+
"closepackVerified": true,
|
|
32
|
+
"lastVerifiedAt": "2026-02-11T00:00:00.000Z",
|
|
33
|
+
"status": "listed"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Settld: Commerce And Trust Substrate For Agent Tool Execution
|
|
2
|
+
|
|
3
|
+
Settld is the trust and settlement layer for paid agent tool calls.
|
|
4
|
+
|
|
5
|
+
In an agent economy, the unit of work is not a human checkout flow. It is an agent invoking tools. The moment those calls become paid, teams need authorization, budget controls, replay safety, verifiable execution proof, and settlement that does not collapse on micro-transaction costs.
|
|
6
|
+
|
|
7
|
+
Settld exists to standardize that layer so paid tool calls are safe, composable, and auditable by default.
|
|
8
|
+
|
|
9
|
+
## What Settld Is
|
|
10
|
+
|
|
11
|
+
Settld is a protocol-native commerce rail for agent tools:
|
|
12
|
+
|
|
13
|
+
- Payment challenge to authorization to retry (`402 -> authorize -> paid retry`).
|
|
14
|
+
- Offline-verifiable SettldPay authorization tokens (`/.well-known/settld-keys.json`).
|
|
15
|
+
- Provider-side cryptographic accountability (signed response proofs).
|
|
16
|
+
- Receipt bindings that tie `authorizationRef`, request hash, response hash, and provider signature verification status together.
|
|
17
|
+
- Provider self-publish flow (manifest -> conformance -> certified listing).
|
|
18
|
+
- Batch-oriented settlement path for scalable payout economics.
|
|
19
|
+
|
|
20
|
+
## What Settld Is Not
|
|
21
|
+
|
|
22
|
+
- Not an agent framework.
|
|
23
|
+
- Not a wallet company.
|
|
24
|
+
- Not a bespoke integrations shop.
|
|
25
|
+
|
|
26
|
+
Settld integrates with frameworks and wallets while owning the trust, policy, receipts, and settlement contract.
|
|
27
|
+
|
|
28
|
+
## Product Promise
|
|
29
|
+
|
|
30
|
+
Settld should make a paid tool call as reliable and auditable as a mature payment API:
|
|
31
|
+
|
|
32
|
+
1. An agent can pay for a tool call without custom billing glue.
|
|
33
|
+
2. A provider can accept payment with offline verification, not blind trust.
|
|
34
|
+
3. Every call produces machine-verifiable receipts, not only logs.
|
|
35
|
+
4. Finance and compliance teams can audit outcomes without trusting a mutable database.
|
|
36
|
+
5. Settlement can be batched and replay-safe, so economics work at agent scale.
|
|
37
|
+
|
|
38
|
+
## The Ecosystem Flywheel
|
|
39
|
+
|
|
40
|
+
1. Providers scaffold paid tools from OpenAPI or HTTP.
|
|
41
|
+
2. Providers publish a manifest and endpoint.
|
|
42
|
+
3. Settld runs conformance and issues certification status.
|
|
43
|
+
4. Certified tools become discoverable to agent builders.
|
|
44
|
+
5. Agents execute with autopay and receive deterministic receipts.
|
|
45
|
+
6. More trust drives more providers and more demand.
|
|
46
|
+
|
|
47
|
+
The key is that new tools should be published by providers, not hand-integrated by Settld engineers.
|
|
48
|
+
|
|
49
|
+
## Core CTAs
|
|
50
|
+
|
|
51
|
+
Use one primary call to action per audience:
|
|
52
|
+
|
|
53
|
+
- Agent builders: run paid tool demo and inspect receipts.
|
|
54
|
+
- Tool providers: scaffold, publish, and certify in under 10 minutes.
|
|
55
|
+
- Operators and finance: review receipt and settlement artifacts.
|
|
56
|
+
|
|
57
|
+
## Metrics That Matter
|
|
58
|
+
|
|
59
|
+
Track only the metrics that prove substrate adoption and reliability:
|
|
60
|
+
|
|
61
|
+
- Weekly paid tool calls.
|
|
62
|
+
- Reserve failure rate (7-day rolling).
|
|
63
|
+
- Settlement success rate (batch execution).
|
|
64
|
+
|
|
65
|
+
Optional expansion metrics:
|
|
66
|
+
|
|
67
|
+
- Certified providers.
|
|
68
|
+
- Time from publish to first paid call.
|
|
69
|
+
- Replay rejection rate.
|
|
70
|
+
|
|
71
|
+
## Near-Term Execution Sequence
|
|
72
|
+
|
|
73
|
+
1. Harden real-money reserve path (Circle sandbox to constrained production pilot).
|
|
74
|
+
2. Ship idempotent batch settlement worker and payout registry as default operations.
|
|
75
|
+
3. Expand reference demos beyond search (weather + LLM/embeddings).
|
|
76
|
+
4. Tighten publish UX so first certified paid tool is consistently under 10 minutes.
|
|
77
|
+
|
|
78
|
+
This is how Settld becomes default infrastructure for paid agent tool execution instead of an integrations treadmill.
|