Frisk
Avalie a contraparte de um pagamento x402 antes que seu agente efetue o pagamento: uma ferramenta determinística retorna allow/review/block com justificativas, e não faz nenhuma chamada de rede por padrão.
Documentação
Frisk
Triagem de risco pré-transação para agentes de IA autônomos.
Antes de seu agente pagar um vendedor x402 ou chamar uma ferramenta desconhecida, pergunte ao Frisk
se a contraparte é confiável e se a transação está de acordo com sua
política. O Frisk retorna um veredito — allow, review ou block — com uma pontuação de
confiança e motivos legíveis por humanos. É consultivo: seu agente permanece no controle
da decisão.
import { Client } from "frisk-screen";
const client = new Client(); // lite mode, no key required
const result = await client.screen("0x9a3f1b2c3d4e5f60718293a4b5c6d7e8f9a0bc12", {
endpoint: "https://api.seller.x402/quote",
amount: 2.5,
asset: "USDC",
policy: { maxPerCall: 5.0 },
});
if (!result.allowed) {
console.log(result.verdict, result.trustScore, result.reasons);
}
Superfícies
| Superfície | Pacote | Fonte |
|---|---|---|
| SDK TypeScript | frisk-screen (npm) | typescript/ |
| SDK Python | frisk-screen (PyPI) | python/ |
| Servidor MCP | frisk-mcp (npm) | mcp/ |
Ambos os SDKs expõem o mesmo modelo: um Client com uma chamada screen(), um modo lite
que roda localmente com zero dependências e um modo hospedado opcional para
histórico de reputação e inteligência de ameaças em tempo real.
Servidor MCP
Para agentes que não podem importar uma biblioteca e para fazer a pergunta
interativamente, as mesmas verificações estão disponíveis como um servidor MCP que expõe uma
ferramenta, screen_payment:
{
"mcpServers": {
"frisk": {
"command": "npx",
"args": ["-y", "frisk-mcp"]
}
}
}
Sem chave de API e sem conta: sem configuração, ele faz a triagem inteiramente na sua
máquina. Ele está listado no registro MCP como dev.tryfrisk/frisk.
Uma ferramenta MCP é executada somente quando um modelo escolhe chamá-la, então uma verificação que o modelo pode
pular é uma garantia mais fraca do que a mesma verificação no caminho de código que assina o
pagamento. Onde o dinheiro realmente se move, prefira o SDK. Detalhes em
mcp/.
Modo Lite vs. hospedado
| Lite (padrão) | Hospedado (chave de API) | |
|---|---|---|
| Execução | Local, offline | API Frisk |
| Sinais | Somente verificações públicas e estruturais | Grafo de reputação, modelos treinados, feed de ameaças |
| Confiança | Sempre low | Aumenta com a cobertura |
| Custo | Gratuito | Baseado no uso |
O modo Lite detecta problemas óbvios — contrapartes malformadas, swaps payTo,
endpoints inseguros, violações de política e uma pequena lista de bloqueio inicial — sem uma
chamada de rede. A API hospedada (https://api.tryfrisk.dev) adiciona histórico de reputação
e inteligência de ameaças atualizada continuamente.
O que um veredito cobre
O Frisk faz a triagem de quem você está pagando. Um allow significa que nada desqualificante foi
encontrado pelas verificações para as quais você forneceu informação suficiente para executar: a contraparte
é interpretada como um endereço e não está na lista de bloqueio, o payTo que o endpoint
solicitou corresponde à contraparte que você nomeou, o endpoint é servido via
HTTPS e o valor e o ativo estão dentro da política que você forneceu. Uma verificação
cuja entrada você omitir não é executada e não falha — omita
observedPayTo e nenhuma comparação de payTo acontece. No modo hospedado, um allow
também significa que nenhum histórico de reputação adverso foi encontrado.
Ele não diz nada sobre o que vem de volta. Se a resposta corresponde à forma que você esperava, contém os dados pelos quais você pagou ou vale o preço é uma questão separada, e o Frisk deliberadamente não responde a ela. Verificar o contrato da resposta vale a pena; isso pertence depois da chamada, no lado do comprador, contra a própria definição do comprador de uma resposta satisfatória.
Um allow também não é uma afirmação de segurança em geral. No modo lite, a confiança
é sempre low, porque as verificações são estruturais: uma contraparte sem
histórico e sem defeitos é triada da mesma forma que uma com um longo histórico limpo. O
veredito é uma entrada para sua decisão, e é por isso que é consultivo.
Princípios de design
- Consultivo, não no caminho. O Frisk nunca retém seus fundos ou bloqueia um pagamento por conta própria; ele retorna um veredito e seu código decide.
- Zero dependências em tempo de execução. O SDK TypeScript é construído na API
fetchda plataforma (Node, Bun, Deno, Workers, navegador); o SDK Python usa apenas a biblioteca padrão. - Tipado. Ambos os SDKs são distribuídos com informações de tipo completas.
Contribuindo
Veja CONTRIBUTING.md. Divulgações de segurança: SECURITY.md.
Licença
A API hospedada em api.tryfrisk.dev é adicionalmente regida pelos
Termos de Serviço.