settld 0.1.2 → 0.1.5
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 +61 -3
- package/SETTLD_VERSION +1 -1
- package/bin/settld-mcp +2 -0
- package/bin/settld.js +13 -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 +140 -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 +337 -0
- package/docs/QUICKSTART_MCP_HOSTS.md +143 -0
- package/docs/QUICKSTART_PRODUCE.md +61 -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 +15 -0
- package/docs/RELEASE_CHECKLIST.md +156 -0
- package/docs/RELEASING.md +81 -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 +70 -0
- package/docs/SUMMARY.md +16 -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 +52 -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 +104 -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 +14 -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/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/GO_LIVE_GATE_S13.md +27 -0
- package/docs/ops/HOSTED_BASELINE_R2.md +129 -0
- package/docs/ops/KERNEL_V0_SHIP_GATE.md +67 -0
- package/docs/ops/LIGHTHOUSE_PRODUCTION_CLOSE.md +51 -0
- package/docs/ops/MCP_COMPATIBILITY_MATRIX.md +28 -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 +103 -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 +47 -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/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/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/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/PRODUCER_ERRORS.md +42 -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 +104 -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 +51 -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/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 +148 -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 +21 -0
- package/docs/templates/buyer-email.txt +18 -0
- package/docs/templates/buyer-one-pager.md +24 -0
- package/package.json +40 -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 +148 -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 +246 -0
- package/scripts/ci/run-10x-throughput-incident-rehearsal.mjs +325 -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-smoke.mjs +275 -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/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 +1201 -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/hosted-baseline-evidence.mjs +681 -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/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/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/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/slo/check.mjs +178 -0
- package/scripts/smoke/k8s-smoke.mjs +214 -0
- package/scripts/spec/generate-protocol-vectors.mjs +931 -0
- package/scripts/test/check-no-generated-artifacts.sh +12 -0
- package/scripts/test/run.sh +45 -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 +947 -0
- package/src/api/app.js +32517 -16877
- package/src/api/maintenance.js +70 -0
- package/src/api/openapi.js +1130 -17
- package/src/api/persistence.js +272 -0
- package/src/api/server.js +81 -5
- package/src/api/store.js +1248 -6
- 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 +97 -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/maintenance-locks.js +1 -0
- package/src/core/paid-tool-manifest.js +318 -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 +213 -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/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 +838 -72
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
Get from zero to a verified Kernel v0 flow in minutes.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Node.js 20+
|
|
8
|
+
- Docker Desktop / Docker Engine running
|
|
9
|
+
- `jq` installed (recommended for local checks)
|
|
10
|
+
|
|
11
|
+
## 1) Start local stack
|
|
12
|
+
|
|
13
|
+
Installed CLI:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx settld dev up
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Repo checkout:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
./bin/settld.js dev up
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Expected:
|
|
26
|
+
|
|
27
|
+
- API healthy on local URL
|
|
28
|
+
- local ops token available (`tok_ops` in default dev path)
|
|
29
|
+
|
|
30
|
+
## 2) Create a capability template
|
|
31
|
+
|
|
32
|
+
Installed CLI:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx settld init capability my-capability
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Repo checkout:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
./bin/settld.js init capability my-capability
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Then run the generated capability server (follow generated README in the capability folder).
|
|
45
|
+
|
|
46
|
+
## 3) Run kernel conformance
|
|
47
|
+
|
|
48
|
+
Installed CLI:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx settld conformance kernel --ops-token tok_ops --json-out /tmp/kernel-report.json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Repo checkout:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
./bin/settld.js conformance kernel --ops-token tok_ops --json-out /tmp/kernel-report.json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Expected:
|
|
61
|
+
|
|
62
|
+
- conformance PASS
|
|
63
|
+
- report at `/tmp/kernel-report.json`
|
|
64
|
+
|
|
65
|
+
## 4) Export and verify a closepack
|
|
66
|
+
|
|
67
|
+
Use an agreement hash from conformance/test output:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx settld closepack export --agreement-hash <agreementHash> --out closepack.zip
|
|
71
|
+
npx settld closepack verify closepack.zip --json-out /tmp/closepack-verify.json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Expected:
|
|
75
|
+
|
|
76
|
+
- closepack verify passes
|
|
77
|
+
- JSON verification report produced
|
|
78
|
+
|
|
79
|
+
## 5) Replay-evaluate
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
curl -s "http://127.0.0.1:3000/ops/tool-calls/replay-evaluate?agreementHash=<agreementHash>" \
|
|
83
|
+
-H "x-proxy-ops-token: tok_ops" | jq .
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Expected: replay comparison fields indicate consistency/match.
|
|
87
|
+
|
|
88
|
+
## Troubleshooting
|
|
89
|
+
|
|
90
|
+
### Docker not found
|
|
91
|
+
|
|
92
|
+
Install/start Docker. Then rerun `dev up`.
|
|
93
|
+
|
|
94
|
+
### Node engine warning
|
|
95
|
+
|
|
96
|
+
Use Node 20+.
|
|
97
|
+
|
|
98
|
+
### Ops token permission error
|
|
99
|
+
|
|
100
|
+
Use token with at least `ops_read` scope.
|
|
101
|
+
|
|
102
|
+
### Port conflicts
|
|
103
|
+
|
|
104
|
+
Stop process on API port (`3000`) or configure alternate local runtime settings.
|
|
@@ -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,14 @@
|
|
|
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/settld-mcp-skill/SKILL.md` — OpenClaw skill payload for Settld MCP.
|
|
8
|
+
- `openclaw/CLAWHUB_PUBLISH_CHECKLIST.md` — publish + validation checklist for ClawHub.
|
|
9
|
+
|
|
10
|
+
See also:
|
|
11
|
+
|
|
12
|
+
- `docs/QUICKSTART_VERIFY.md`
|
|
13
|
+
- `docs/ADOPTION_CHECKLIST.md`
|
|
14
|
+
- `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,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.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# HN Repost Draft (Tue 2026-02-17)
|
|
2
|
+
|
|
3
|
+
Note on compositional settlement: keep the claim narrow. Settld can bind a settlement to an agreement delegation graph and run deterministic pre-release checks (e.g. block cycles) with stable error codes (e.g. `AGREEMENT_DELEGATION_CYCLE`). Avoid implying multi-hop settlement is \"automatic\" beyond what the current API actually enforces.
|
|
4
|
+
|
|
5
|
+
## Locked Timing (ET / PT)
|
|
6
|
+
|
|
7
|
+
- Copy freeze: Mon 2026-02-16 21:00 ET / 18:00 PT
|
|
8
|
+
- Repost submission (target): Tue 2026-02-17 08:15 ET / 05:15 PT
|
|
9
|
+
- Live monitoring: Tue 08:15–11:30 ET (respond fast while ranking is most sensitive)
|
|
10
|
+
- Second sweep: Tue 18:30 ET / 15:30 PT
|
|
11
|
+
|
|
12
|
+
## Submission Details
|
|
13
|
+
|
|
14
|
+
- Type: Show HN (repost)
|
|
15
|
+
- Link target (pick one):
|
|
16
|
+
- GitHub repo (recommended for OSS + technical audience): `README.md`
|
|
17
|
+
- Blog wedge post (more narrative): `docs/blog/2026-02-14-your-ai-agent-just-spent-500-where-is-the-receipt.md`
|
|
18
|
+
- Magic Link hosted demo (if we want buyer POV): TODO (add URL)
|
|
19
|
+
- Original HN thread (if applicable): TODO (add URL)
|
|
20
|
+
|
|
21
|
+
## Title Options (Pick 1)
|
|
22
|
+
|
|
23
|
+
1. Show HN (Repost): Settld – verifiable receipts for agent spend (OSS)
|
|
24
|
+
2. Show HN (Repost): Settld – verify-before-release receipts for x402-style APIs
|
|
25
|
+
3. Show HN (Repost): Settld – deterministic settlement receipts for AI agents
|
|
26
|
+
|
|
27
|
+
## OP Comment (Recommended, Short)
|
|
28
|
+
|
|
29
|
+
Hi HN,
|
|
30
|
+
|
|
31
|
+
Reposting with a tighter “try it in 10 minutes” wedge and more spec/conformance polish.
|
|
32
|
+
|
|
33
|
+
Settld is an open source artifact protocol + verifier for turning agent work (and its evidence) into something closer to an invoice receipt: hash-bound, signed, and offline-verifiable by someone who doesn’t trust the producer.
|
|
34
|
+
|
|
35
|
+
The quickest way to feel it is the in-repo x402 gateway demo: if an upstream returns `HTTP 402 Payment Required`, the proxy turns it into `hold -> verify -> release/refund` and emits a deterministic “receipt-like” trail (`x-settld-*` headers + an API query surface).
|
|
36
|
+
|
|
37
|
+
TL;DR quickstart: `npm ci && npm run quickstart:x402` (prints `OK` + `gateId=...`). Full steps: `docs/QUICKSTART_X402_GATEWAY.md`
|
|
38
|
+
|
|
39
|
+
Two important constraints up front:
|
|
40
|
+
|
|
41
|
+
- This is not a payment processor. The local demo uses `X402_AUTOFUND=1` to simulate funding so escrow holds can be created without wiring a real rail.
|
|
42
|
+
- The core contract is the verifiable receipt + deterministic outputs (stable warning/error codes), not “trust us, the dashboard says it passed.”
|
|
43
|
+
|
|
44
|
+
Feedback I’d love:
|
|
45
|
+
|
|
46
|
+
- If you’re shipping agents that spend money, what evidence would you require to automate payout/release?
|
|
47
|
+
- Where would this break in your stack: tool calls, metering, dispute windows, refunds/chargebacks, or trust bootstrapping?
|
|
48
|
+
|
|
49
|
+
## OP Comment (Longer, If Needed)
|
|
50
|
+
|
|
51
|
+
Hi HN,
|
|
52
|
+
|
|
53
|
+
Reposting: Settld is my attempt at a missing layer for agent workflows that spend money.
|
|
54
|
+
|
|
55
|
+
Most stacks can prove “payment happened,” but can’t produce a portable receipt for “the work happened under the agreed terms” without shipping their entire log database to the counterparty.
|
|
56
|
+
|
|
57
|
+
Settld (as shipped in this repo) is two things sharing the same “truth engine”:
|
|
58
|
+
|
|
59
|
+
- An open artifact protocol (bundles + manifests + attestations + receipts) that can be verified offline with explicit trust anchors.
|
|
60
|
+
- A hosted controller (“Magic Link”) that runs the same verifier server-side for buyer-friendly approvals and exports (optional; the hosted UI shouldn’t be the only judge).
|
|
61
|
+
|
|
62
|
+
The smallest demo wedge is the x402 gateway: put a thin proxy in front of an x402-style API. When the upstream returns `HTTP 402`, the proxy routes it through a deterministic settlement step (`hold -> verify -> release/refund`) and returns a receipt-like trail you can store for audit. Quickstart: `docs/QUICKSTART_X402_GATEWAY.md`
|
|
63
|
+
|
|
64
|
+
Notes / boundaries:
|
|
65
|
+
|
|
66
|
+
- Local mode simulates funding (`X402_AUTOFUND=1`) to make the flow runnable without a real payment rail.
|
|
67
|
+
- The interesting part (to me) is that verification outputs are deterministic and machine-readable with stable codes, and can be reproduced offline from the bundle.
|
|
68
|
+
|
|
69
|
+
Would love critique on whether this is the right abstraction boundary (protocol + verifier + optional controller), and what primitives are missing to make this usable in real agent payment flows.
|
|
70
|
+
|
|
71
|
+
## Defensible Claims (OK To Say)
|
|
72
|
+
|
|
73
|
+
- Offline-verifiable bundles/receipts: artifacts commit to evidence by hashes; attestations/receipts are signature-checked; verification is reproducible without trusting the producer (`docs/OVERVIEW.md`, `docs/spec/`).
|
|
74
|
+
- Deterministic verification outputs with stable codes (warnings/errors), suitable for CI gating and audit retention (`docs/OVERVIEW.md`, `docs/QUICKSTART_VERIFY.md`, `docs/spec/WARNINGS.md`, `docs/spec/ERRORS.md`).
|
|
75
|
+
- x402 “verify-before-release” wedge exists in repo and is runnable locally in ~10 minutes (`docs/QUICKSTART_X402_GATEWAY.md`).
|
|
76
|
+
- Escrow/ledger semantics are double-entry and tested as deterministic invariants (position as “ledger model + invariants,” not “we move real money”) (`docs/LEDGER.md`, `docs/spec/ESCROW_NETTING_INVARIANTS.md`).
|
|
77
|
+
- Hosted Verify Cloud is optional; protocol/verifier are the trust core (don’t claim “must use the cloud”) (`docs/OVERVIEW.md`).
|
|
78
|
+
|
|
79
|
+
## Claims To Avoid or Qualify
|
|
80
|
+
|
|
81
|
+
- “We solve payments” or “we are escrow.” Safer: “we model escrow holds and deterministic release/refund decisions; wiring real rails is a separate integration.”
|
|
82
|
+
- “CFO/audit-ready” as a blanket statement. Safer: “designed for audit evidence retention; produces deterministic, verifiable receipts.”
|
|
83
|
+
- Any “multi-hop/cascade settlement is fully implemented” wording unless we choose a tight, defensible phrasing (see TODO and options below).
|
|
84
|
+
|
|
85
|
+
## Likely HN Questions (Short Answers)
|
|
86
|
+
|
|
87
|
+
- “Why not just use Stripe Connect?”
|
|
88
|
+
- Stripe moves money. Settld is about proving/verifying off-chain work and producing a portable, deterministic receipt that can drive a release/refund decision.
|
|
89
|
+
- “Why not do this as a smart contract?”
|
|
90
|
+
- Smart contracts enforce on-chain state; the hard part here is verifying off-chain evidence/work completion and making that verification reproducible offline.
|
|
91
|
+
- “Is this centralized trust?”
|
|
92
|
+
- The hosted UI is intentionally not the only judge; verification should be reproducible offline with explicit trust anchors.
|
|
93
|
+
- “Does the demo move real money?”
|
|
94
|
+
- No; it simulates funding to make the end-to-end loop runnable locally (`X402_AUTOFUND=1`).
|
|
95
|
+
|
|
96
|
+
## Cascade Settlement (Decision Needed Before Mon 2026-02-16)
|
|
97
|
+
|
|
98
|
+
If we include anything about cascade/multi-hop settlement, pick ONE of these and stick to it:
|
|
99
|
+
|
|
100
|
+
- Option A (spec-level, safest): “We added an `AgreementDelegation.v1` primitive for linking parent/child agreements in multi-hop agent chains (provenance, depth limits, and budget-capping).”
|
|
101
|
+
- Option B (lightly aspirational): “We’re building toward multi-hop agent chains with compositional budget-capping and deterministic settlement; the delegation primitive is in the repo.”
|
|
102
|
+
- Option C (omit): Don’t mention cascade settlement at all; keep the post focused on the verifiable receipt + verify-before-release wedge.
|