Skip to main content

Frisk

Pre-transaction risk screening for autonomous AI agents.

Before your agent pays an x402 seller or calls an unfamiliar tool, ask Frisk whether the counterparty is trustworthy and whether the transaction fits your policy. Frisk returns a verdict — allow, review, or block — with a trust score and human-readable reasons. It is advisory: your agent stays in control of the decision.

Install

pip install frisk-screen

Usage

from frisk import Client, Policy

client = Client()  # lite mode, no key required

result = client.screen(
    "0x9a3f1b2c3d4e5f60718293a4b5c6d7e8f9a0bc12",
    endpoint="https://api.seller.x402/quote",
    amount=2.50,
    asset="USDC",
    policy=Policy(max_per_call=5.00),
)

if not result.allowed:
    print(result.verdict, result.trust_score, result.reasons)
    # hold the payment for review

Lite mode vs. hosted

Lite (default) Hosted (API key)
Runs Locally, offline Frisk API
Signals Public, structural checks only Reputation graph, trained models, live threat feed
Confidence Always low Rises with coverage
Cost Free Free in early access

Lite mode catches obvious problems — malformed counterparties, payTo swaps, insecure endpoints, policy violations, and a small seed blocklist. For reputation history and continuously updated threat intelligence, pass an API key:

client = Client(api_key="...")

Design

  • Zero runtime dependencies. The SDK uses only the standard library.
  • Advisory, not in-path. Frisk never holds your funds or blocks a payment itself; it returns a verdict and your code decides.
  • Typed. Ships with type hints (py.typed).

Development

This project uses uv.

uv sync
uv run pytest

License

MIT — see LICENSE. Security disclosures: see SECURITY.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frisk_screen-0.0.2.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frisk_screen-0.0.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file frisk_screen-0.0.2.tar.gz.

File metadata

  • Download URL: frisk_screen-0.0.2.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for frisk_screen-0.0.2.tar.gz
Algorithm Hash digest
SHA256 eddc857735e622e83f29f2a8ed999929614b0f1545ec168c22bbac74d7b1445f
MD5 6b0fadf6adc1f3966d3524d18d4a1557
BLAKE2b-256 958150c6bb9511b2bafea86ecb2c38f23c9888262664f1af374a9d1149af6944

See more details on using hashes here.

File details

Details for the file frisk_screen-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: frisk_screen-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for frisk_screen-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b8d72d1e60e8d48d5a9d1bd5bbee9ed4df953b46e75ba0b1c7e9175000f8e2ac
MD5 a80e8bac37dfabc10f2488efd1d4caa7
BLAKE2b-256 fd88c2bcc126c9fcf56405e416c91805d944c4cacbad6e35e081fe9fbe41488a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page