Risk
S11 risk distributions across transaction, token, wallet and protocol subjects — one shared pipeline, labeled honestly.
All four subject kinds bill risk.assess and share the same S11 pipeline — the subject kind
is labeling (one risk model, honestly stated), not four separate pipelines.
POST /v1/risk/transaction (paid)
S11 candidate-transaction risk distribution.
curl -H "PAYMENT-SIGNATURE: <base64 payment payload>" -H 'content-type: application/json' \
https://api.tollbridge.app/v1/risk/transaction \
-d '{"asset":"BTC","address":"0x0000000000000000000000000000000000000000","candidate":{"tx_hash":"0x","log_index":3,"block_time":"2026-09-17T00:00:00.000Z","direction":"out","asset":"USDC","amount":9500.25,"usd_value":9500.25,"counterparty":null}}'POST /v1/risk/token (paid)
S11 token-subject risk (shared S11 pipeline, token labeling).
curl -H "PAYMENT-SIGNATURE: <base64 payment payload>" -H 'content-type: application/json' \
https://api.tollbridge.app/v1/risk/token \
-d '{"asset":"ETH","address":"0x0000000000000000000000000000000000000000","token":{"symbol":"USDC"},"candidate":{"tx_hash":"0x","log_index":0,"block_time":"2026-09-17T00:00:00.000Z","direction":"in","asset":"USDC","amount":100,"usd_value":100,"counterparty":null}}'POST /v1/risk/wallet (paid)
S11 wallet-subject risk (shared S11 pipeline, subject labeling).
curl -H "PAYMENT-SIGNATURE: <base64 payment payload>" -H 'content-type: application/json' \
https://api.tollbridge.app/v1/risk/wallet \
-d '{"asset":"BTC","address":"0x0000000000000000000000000000000000000000","candidate":{"tx_hash":"0x","log_index":1,"block_time":"2026-09-17T00:00:00.000Z","direction":"out","asset":"USDC","amount":250,"usd_value":250,"counterparty":null}}'POST /v1/risk/protocol (paid)
S11 protocol-subject risk (shared S11 pipeline, subject labeling).
curl -H "PAYMENT-SIGNATURE: <base64 payment payload>" -H 'content-type: application/json' \
https://api.tollbridge.app/v1/risk/protocol \
-d '{"asset":"BTC","address":"0x0000000000000000000000000000000000000000","candidate":{"tx_hash":"0x","log_index":7,"block_time":"2026-09-17T00:00:00.000Z","direction":"in","asset":"USDC","amount":10,"usd_value":10,"counterparty":null}}'Response data (shared shape): { subject: { kind, address }, risk: "allow"|"review"|"block", allow_probability, review_probability, block_probability, confidence, decision, action, input_hash, policy_version, timestamp, full }.
TypeScript
import { Tollbridge } from '@tollbridge/sdk-typescript';
import { account } from './wallet';
const paying = new Tollbridge({ baseUrl: 'https://api.tollbridge.app', x402: { signer: account } });
const candidate = {
tx_hash: '0x…',
log_index: 3,
block_time: '2026-09-17T00:00:00.000Z',
direction: 'out',
asset: 'USDC',
amount: 9500.25,
usd_value: 9500.25,
counterparty: null,
} as const;
const risk = await paying.transactionRisk({ asset: 'BTC', address, candidate }); // S11
const tokenRisk = await paying.tokenRisk({ asset: 'ETH', address, candidate });
const walletRisk = await paying.walletRisk({ asset: 'BTC', address, candidate });
const protocolRisk = await paying.protocolRisk({ asset: 'BTC', address, candidate });
risk.data.block_probability;Python
import httpx
# Reference snippets — official Python SDK in progress.
base = "https://api.tollbridge.app"
H = {"PAYMENT-SIGNATURE": payment_payload_b64, "content-type": "application/json"}
candidate = {
"tx_hash": "0x…", "log_index": 3,
"block_time": "2026-09-17T00:00:00.000Z",
"direction": "out", "asset": "USDC",
"amount": 9500.25, "usd_value": 9500.25, "counterparty": None,
}
assessment = httpx.post(
f"{base}/v1/risk/transaction",
headers=H,
json={"asset": "BTC", "address": "0x…", "candidate": candidate},
).json()["data"]
print(assessment["risk"], assessment["allow_probability"])MCP
The transaction and token subjects are proxied 1:1 (tollbridge_transaction_risk,
tollbridge_token_risk); the wallet/protocol subjects share the same REST pipeline (labeling
honestly stated):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tollbridge_transaction_risk",
"arguments": {
"asset": "BTC",
"address": "0x0000000000000000000000000000000000000000",
"candidate": {
"tx_hash": "0x…",
"log_index": 3,
"block_time": "2026-09-17T00:00:00.000Z",
"direction": "out",
"asset": "USDC",
"amount": 9500.25,
"usd_value": 9500.25,
"counterparty": null
}
}
}
}Related
- Calibration + sample-adequacy honesty: Decisions.