SettlementWitness MCP
SettlementWitness é uma ferramenta de verificação MCP sem estado que retorna recibos de liquidação estáveis para replay (PASS/FAIL) ao encaminhar task_id, spec e output para o Default Settlement Verifier. Projetado para controle de execução de agentes e fluxos de liquidação x402.
Documentação
DefaultVerifier — Infraestrutura de Verificação SAR
SAR (Settlement Attestation Receipt) é um protocolo de verificação que produz recibos assinados criptograficamente, comprovando se um agente de IA concluiu uma tarefa de acordo com sua especificação.
DefaultVerifier é uma implementação de verificador SAR ativo, com registro público de recibos, API de métricas e explorador.
Se é importante—Verifique.
Arquitetura
Entenda a pilha SAR e o modelo de verificação:
Exemplo de Resposta
{ "witness": "SettlementWitness", "witness_version": "v0", "task_id": "example", "verifier_endpoint": "https://defaultverifier.com/verify", "witness_timestamp": "2026-01-01T00:00:00Z", "receipt_id": "...", "receipt": { "profile": "settlement-witness-verified-v0.2", "task_id_hash": "sha256:...", "verdict": "PASS", "reason_code": "CONDITION_SATISFIED", "ts": "...", "verifier_kid": "...", "counterparty": "0xABC...", "receipt_id": "sha256:...", "sig": "base64url:..." },
"_ext": { "agent_id": "0x123:demo" } }
Notas
- o payload do recibo é emitido sob o perfil
settlement-witness-verified-v0.2; os veredictos sãoPASS,FAILouINDETERMINATE - quando
counterpartyestá presente, ele é incluído no escopo da assinatura e na derivação dereceipt_id - chaves de assinante aposentadas permanecem válidas para verificar recibos que assinaram historicamente;
verifier_kidem um recibo é evidência histórica e nunca é reescrito - o ciclo de vida atual do assinante (qual
kidestá ativo vs. aposentado) é publicado emhttps://defaultverifier.com/.well-known/sar-keys.json— trate esse endpoint, não este README, como a fonte da verdade para saber qual chave está atualmente ativa - este comportamento é implementado e publicamente verificável por meio dos endpoints ao vivo de recibos e chaves
Compatibilidade SAR: Esta implementação segue a semântica de verificação SAR, com payload assinado estendido quando counterparty está presente.
Demonstração
Execute uma verificação completa de ponta a ponta em ~2 minutos: DEMO.md
Início Rápido
1. Criar um recibo
curl -X POST https://defaultverifier.com/settlement-witness
-H 'content-type: application/json'
-d '{
"task_id":"quickstart-001",
"spec":{"checks":[{"kind":"field_equals","inputs":{"output_path":"$.result"},"expected":"hello"}]},
"output":{"result":"hello"},
"counterparty":"0x1234567890abcdef1234567890abcdef12345678"
}'
2. Buscar o recibo
curl https://defaultverifier.com/settlement-witness/receipt/<receipt_id>
Observação: use o receipt_id do recibo retornado
3. Verificar localmente (Node)
cd examples/node-verify node verify.js receipt.json jwks.json
Exemplos
Exemplo de verificação em Node.js: examples/node-verify/
Exemplo de verificação em Python: examples/verify_receipt_python.py
Uso: python3 examples/verify_receipt_python.py <receipt_id>
Endpoints da API
Criar Recibo
POST /settlement-witness
Envia uma solicitação de verificação de tarefa e retorna um recibo SAR assinado.
Recuperar Recibo
GET /settlement-witness/receipt/{receipt_id}
Observação: Use o receipt_id do recibo retornado (sha256:...) para recuperação.
Retorna um recibo emitido anteriormente.
Explorador de Recibos por Carteira
GET /settlement-witness/receipts?wallet={address}
Retorna recibos recentes associados a um endereço de carteira.
O explorador público está disponível em:
https://defaultverifier.com/explorer
Esta interface permite navegar por recibos recentes e histórico de entrega indexado por carteira.
Chaves Públicas de Verificação
https://defaultverifier.com/.well-known/jwks.json
Alternativa (referência do protocolo SAR): https://defaultverifier.com/.well-known/sar-keys.json
Usadas para verificar assinaturas Ed25519 de recibos.
Registro de Chaves
https://defaultverifier.com/.well-known/sar-keys.json
Registro de chaves públicas do verificador referenciadas por verifier_kid.