Verify whether an AI agent's decision is well-reasoned before executing. Adversarial multi-model critique (Claude, Grok, DeepSeek) returns ALLOW, BLOCK, or UNCERTAIN with confidence score. Use before any high-value swap, trade, or autonomous action.
Before executing a trade or autonomous action, verify that the agent's reasoning is sound. ThoughtProof runs adversarial multi-model critique and returns a signed verdict: ALLOW, BLOCK, or UNCERTAIN.
mp wallet createCheck reasoning quality before a trade:
curl -X POST https://api.thoughtproof.ai/v1/check \
-H "Content-Type: application/json" \
-d '{"claim": "Swap $2K USDC to ETH. ETH at $2180, 6% below 30d MA, RSI 34.", "stakeLevel": "medium", "domain": "financial"}'
First call returns 402 with x402 payment details (amount, recipient, asset on Base). Pay, then retry the same request to receive the verdict.
{
"verdict": "ALLOW",
"confidence": 0.82,
"objections": [],
"durationMs": 55000
}
| Verdict | Meaning | Action |
|---|---|---|
ALLOW | Reasoning passed verification | Proceed |
BLOCK | Material reasoning defects or unacceptable risk | Do not execute |
UNCERTAIN | Safe escalation state — insufficient clean evidence to justify ALLOW or BLOCK | Gather more context or require review |
ThoughtProof pricing is stake-based.
| Stake Level | Standard | Lite | Use case |
|---|---|---|---|
low | $0.01 | $0.005 | Routine low-value actions |
medium | $0.02 | $0.01 | Standard trades and service payments |
high | $0.05 | — | Large or sensitive actions |
critical | $0.10 | — | High-value or highly risky actions |
Notes:
lite is only available for low and medium stake.high and critical always execute on the standard tier.MoonPay handles the payment execution. ThoughtProof verifies whether the decision to pay is well-reasoned before settlement.
Example:
moonpay-swap-tokens, the agent sends the reasoning to ThoughtProof.ALLOW → proceed with swapBLOCK → stop, surface objectionsUNCERTAIN → escalate, ask for clarification or reviewExample failure:
BLOCKExample pass:
ALLOWThis gives the agent stack two layers: