feat(agentkit): add OSF action provider for sanctions/entity/CVE data - #1356
feat(agentkit): add OSF action provider for sanctions/entity/CVE data#1356onefreeman1337 wants to merge 2 commits into
Conversation
🟡 Heimdall Review Status
|
All three OSF endpoints now quote 50000 atomic USDC ($0.05) in their live HTTP 402 response, verified against the server on 2026-07-27. The README still advertised $0.01 for lookup_entity and $0.02 for check_cve_exploited, and _MAX_ENTITY_ATOMIC sat exactly at the live price with no headroom, which defeats the stated design of keeping every ceiling above list price. All three ceilings are now 150000 atomic USDC ($0.15). Tests mock max_amount, so none of them depend on these values. Also expanded the screen_entity list coverage, which is eleven lists from ten authorities rather than three.
|
Refreshed this today rather than just bumping it. All three OSF endpoints now quote Current state: 2 commits, 8 files, no conflicts with Happy to split the tests out, drop the README, or narrow this to a single action if that makes review cheaper. If new action providers are not being taken at the moment, say so and I will close it myself rather than leave it in the queue. |
Description
Adds an OSF (Open Source Filings) action provider giving agents three paid, provenance-stamped data tools over x402 (USDC on Base mainnet):
lookup_entity($0.01) — entity / counterparty verification (KYC/KYB) via CMS NPI, GLEIF LEI, FDIC, and SEC EDGAR.screen_entity($0.05) — sanctions screening against OFAC SDN, EU consolidated, and UK OFSI lists (AML/KYC).check_cve_exploited($0.02) — CVE exploitation check via CISA KEV, EPSS score, and CVSS severity (DevSecOps).Every result carries a provenance URL to the authoritative primary source (and, for sanctions, an audit receipt), so an agent can justify a decision to an auditor or regulator. Payment is automatic per request via x402, with a per-call spend ceiling enforced by the
max_amountpolicy. OSF settles on Base mainnet only.How it works
Each action is a
@create_actiononOsfActionProvider(ActionProvider[EvmWalletProvider]). Paid calls use the x402 client (x402ClientSync+register_exact_evm_client+x402_requests); the OSF endpoint replies402, the client signs and settles the USDC micropayment with the agent's wallet, then retries and returns the record plus the on-chain payment proof.Testing
tests/action_providers/osf/) — provider name, network support, action names, URL encoding, success/non-200/exception handling. All passing.ruff formatandruff checkclean.screen_entitycall settled on-chain — settlement tx0xb7426254fc4eaab16d0812fcd94ff5ef5feee9a740ec809667ba3edcc0eb161d(eip155:8453), returning a verified sanctions record with a provenance URL.Network support
Base mainnet (
base-mainnet/ eip155:8453).More on OSF: https://api.osf-master-server.com/mcp