Tollbridge Docs
API

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
      }
    }
  }
}
  • Calibration + sample-adequacy honesty: Decisions.

On this page