Primary proof path
- Browser evaluator
- Public docs
- POST /v1/action/authorize
- 402 -> payment-signature -> 200 is the canonical direct HTTP proof
Partner Evaluator Pack
This page is the sendable TXRISK partner bundle. It tells an evaluator what to review first, which route is the fastest live proof, where the machine-readable metadata lives, and how direct x402 HTTP differs from the bounded MCP wrapper.
Review Order
Live Links
Current Surface
Auth Model
Public sellable routes are x402-native. First request without a key. Service returns 402 payment_required. Caller replays the embedded payload in payment-signature.
The remote MCP wrapper prefers static x-api-key header auth and now also exposes Smithery-friendly metadata plus a narrow ?apiKey=... compatibility path on /mcp. That keeps connector compatibility simple while the direct HTTP API remains the canonical x402 surface.
Exact Proof
export API_BASE_URL=""
export X_CHAIN="base"
payload='{
"action": {
"kind": "transfer",
"chain": "base",
"actor": "0x1111111111111111111111111111111111111111",
"to": "0x222222222222222222222222222222222222222c",
"amountUsd": 5400,
"tokenSymbol": "USDC"
},
"requestContext": {
"intentId": "intent_demo_001",
"merchantAccountId": "merchant_demo"
}
}'
payment_required=$(curl -isS -X POST "$API_BASE_URL/v1/action/authorize" \
-H "content-type: application/json" \
-H "x-chain: $X_CHAIN" \
-d "$payload" | tr -d '\r' | awk -F': ' '/^payment-required: / {print $2}')
payment_signature=$(printf '%s' "$payment_required" | base64 --decode | jq -r '.accepts[0].extra.txrisk.paymentPayload | @base64')
curl -sS -X POST "$API_BASE_URL/v1/action/authorize" \
-H "content-type: application/json" \
-H "x-chain: $X_CHAIN" \
-H "payment-signature: $payment_signature" \
-d "$payload" | jq