CommandLayer turns agent actions into signed, independently verifiable receipts.
Action requested
→ runtime signs canonical receipt
→ verifier checks metadata.proof
→ valid receipts pass
→ tampered receipts fail
- Manual verifier:
/verify.html - Production proof:
/stack-proof-demo.html - Automatic verification demo:
/webhook-auto-verify.html - Runtime verifier:
POST https://runtime.commandlayer.org/verify - Runtime signer endpoints:
POST https://runtime.commandlayer.org/trust-verification/{verb}/v1.0.0 - SDK:
@commandlayer/agent-sdk@1.2.0
import { CommandLayer } from "@commandlayer/agent-sdk";
const cl = new CommandLayer({
agent: "runtime.commandlayer.eth",
privateKeyPem: process.env.CL_PRIVATE_KEY_PEM,
keyId: "vC4WbcNoq2znSCiQ",
verifierUrl: "https://runtime.commandlayer.org/verify"
});
const result = await cl.wrap("summarize", async () => {
return { summary: "hello world" };
});
const verified = await cl.verify(result.receipt);
console.log(verified.status);metadata.proof.canonicalization = json.sorted_keys.v1metadata.proof.hash.alg = SHA-256metadata.proof.hash.valuemetadata.proof.signature.alg = Ed25519metadata.proof.signature.kid = vC4WbcNoq2znSCiQmetadata.proof.signature.valuemetadata.proof.signer_id = runtime.commandlayer.eth
Valid receipt:
status = acceptedverifier_status = VALIDhash_matches = truesignature_valid = true
Tampered receipt:
status = rejectedverifier_status = INVALIDhash_matches = falsesignature_valid = false
- Production verification resolves signer keys from ENS TXT records:
cl.sig.pub,cl.sig.kid,cl.sig.canonical, andcl.receipt.signer. - Local key fallback is test/demo only and must be explicitly enabled with
COMMANDLAYER_ALLOW_LOCAL_KEY_FALLBACK=true(or test mode). - Verifier responses expose
public_key_sourceasens_txtorlocal_test_fallback. - Production environment variable guidance (RPC, ENS ownership lookup, signing, and webhook/provider secrets):
docs/ops/environment.md.
- Runtime signs.
- Verifier validates.
- MCP bridges.
- SDK wraps.
- Schemas describe.
- Schema-valid alone is not verified.
- Webhook sender authentication is separate from receipt verification.