SatGate
Gateway de API open-source que adiciona controle de orçamento, atribuição de custos e monetização a chamadas de API de agentes de IA. Compatível com MCP, com rastreamento de custos por ferramenta, tokens bearer baseados em macaroon, micropagamentos Lightning L402 e controle de orçamento empresarial (Fiat402). O firewall econômico para a economia de agentes.
Documentação
SatGate
Observe, control and admit AI agent traffic
Every allow or deny comes with a signed receipt
Por quê • Construir • Recursos • Início Rápido • Documentação • Site • Blog
SatGate é um gateway na frente de APIs e ferramentas MCP. Ele mede o tráfego de agentes e MCP (Observe), aplica orçamentos do proprietário antes de o trabalho ser executado (Control) e cobra agentes externos nas rotas que você escolher (Admit; a política Charge no painel). Cada permissão ou negação vem com um recibo assinado.
Experimente como um agente. Esta rota hospedada custa 10 sats:
curl -i -H "X-SatGate-Tenant: satgate-demo" https://api.satgate.io/paid/agent-demo
A chamada não paga retorna HTTP 402 com uma fatura Lightning e termos. As instruções para agentes estão em llms.txt.
Construa Agentes com SatGate
A primitiva de desenvolvimento do SatGate são três chamadas: issue(), pay() e verify().
import os
from satgate import SatGate
satgate = SatGate(api_key=os.getenv("SATGATE_API_KEY"))
capability = satgate.issue(
task="research market prices",
agent="research-agent",
allow=["mcp:web.search", "api:prices.read"],
budget_usd=25,
expires_in="1h",
)
receipt = satgate.pay(
upstream="https://api.example.com/search",
capability=capability,
max_usd=4.20,
)
verified = satgate.verify(receipt)
print(verified.decision, verified.evidence_pack_id)
Instale hoje:
pip install satgate
npm install @satgate/sdk
Os pacotes públicos são instalados hoje; o namespace da API issue/pay/verify está em beta privado. Chamadas sem acesso ao beta privado geram um erro estruturado em vez de retornar recibos falsos:
SatGateAuthError: This API namespace requires private beta access. Visit cloud.satgate.io/docs to request access.
Exemplos executáveis:
examples/python/issue_pay_verify.pyexamples/node/issue-pay-verify.mjs
Funciona com: MCP · ferramentas OpenAI · ferramentas Anthropic · LangChain · CrewAI · HTTP bruto
☁️ Não quer auto-hospedar? Experimente o SatGate Cloud
SaaS gerenciado — zero configuração, isolamento multi-tenant, painel empresarial.
Camada Observe gratuita. Sem necessidade de cartão de crédito.
O Problema
Agentes de IA estão fazendo chamadas de API de forma autônoma. Eles geram subagentes, chamam ferramentas MCP e executam durante a noite enquanto você dorme.
Sua pilha atual responde: "Esta solicitação está autenticada?"
Ninguém responde: "Este agente deveria ter autoridade para gastar, delegar ou invocar este recurso pago?"
✓ Network Firewall → "Can this packet enter?"
✓ Application Firewall → "Is this request safe?"
? Economic Firewall → "Should this agent act, spend, or pay?"
Essa é a lacuna. O SatGate a preenche.
O que é o SatGate?
O SatGate é um Firewall Econômico para solicitações de agentes de IA. Coloque-o na frente de suas APIs e ferramentas MCP para aplicar autoridade com escopo, orçamentos, contexto de trilhos pagos e recibos de Evidence Pack antes de os agentes agirem.
Não é outra camada de roteamento. Gateways de roteamento (Bifrost, LiteLLM, Portkey) otimizam qual provedor lida com uma chamada. O SatGate governa se a chamada deve acontecer com base em autoridade, política, orçamento e contexto de trilhos pagos.
Use-os juntos:
Agent → SatGate (economic governance) → Routing Gateway → LLM Providers
Recursos
- 🛡️ Capability Tokens (Macaroons) — Credenciais criptográficas com caveats integrados, delegação e revogação na próxima solicitação. Não são chaves de API — são tokens que os agentes podem subdelegar com segurança.
- 🎯 Ciente de MCP — Analisa chamadas de ferramentas MCP JSON-RPC. Saiba que o Agente X gastou $47 em
search_databasee $12 emsend_email— não apenas "1.000 solicitações". - 💰 Aplicação de Orçamento — Paradas rígidas por agente, equipe ou API. Quando o orçamento chega a zero, as solicitações são bloqueadas. Não registradas. Não alertadas. Bloqueadas.
- ⚡ Governança de Trilhos Pagos — Governa o acesso pago a APIs em L402, x402, cobrança por chave de API e ledgers empresariais sem tornar nenhum trilho o plano de controle.
- 🔒 Negação por Padrão — Todas as rotas exigem credenciais válidas, a menos que sejam explicitamente públicas. Zero Trust por design.
- 🚀 <50ms de Sobrecarga — Proxy Go leve. Adiciona governança sem adicionar latência.
- 📦 Auto-Hospedado — Sua infraestrutura, suas regras. Binário único, Docker ou Kubernetes.
- 🔌 Plug-and-Play — Funciona com qualquer backend HTTP. REST, GraphQL, servidores MCP. Sem alterações de código.
Início Rápido
Demonstração de 60 Segundos
# Download the binary (macOS Apple Silicon — see Releases for other platforms)
curl -L https://github.com/satgate-io/satgate/releases/latest/download/satgate-darwin-arm64 -o satgate
chmod +x satgate
# Start with example config (mock Lightning, auto-generated keys)
export ADMIN_TOKEN=my-secret-token
export LIGHTNING_BACKEND=mock
./satgate --config examples/gateway.yaml
Experimente as três políticas:
# 1. Public — no auth needed
curl http://localhost:8080/health
# 2. Protected — mint a capability token, then use it
curl -X POST http://localhost:8080/api/capability/mint \
-H "X-Admin-Token: my-secret-token" \
-H "Content-Type: application/json" \
-d '{"scope": "api:read", "duration": "1h"}'
# Use the token:
curl -H "Authorization: Bearer YOUR_CAPABILITY_TOKEN" \
http://localhost:8080/api/capability/ping
# 3. Paid — get a payment challenge (L402 today; x402/other rails as governed context)
curl http://localhost:8080/api/micro
Pública → Protegida → Paga. Três políticas, um gateway; trilhos pagos são contexto governado, não o limite do produto.
Demonstração paga hospedada (Admit; Charge no painel). Sem nó Lightning local:
curl -i -H "X-SatGate-Tenant: satgate-demo" https://api.satgate.io/paid/agent-demo
Chamadas não pagas retornam 402. O preço é de 10 sats. Mostre a fatura ao proprietário, consulte o status do pagamento e tente novamente. As regras de consulta estão em llms.txt.
📖 Guia Completo de Início Rápido →
Outros Métodos de Instalação
# Docker
docker run -v $(pwd)/gateway.yaml:/etc/satgate/gateway.yaml \
-e ADMIN_TOKEN=my-secret-token -e LIGHTNING_BACKEND=mock \
-p 8080:8080 ghcr.io/satgate-io/satgate:latest
# Build from source
git clone https://github.com/satgate-io/satgate.git
cd satgate && go build -o satgate ./cmd/satgate
Configuração
version: 1
server:
listen: ":8080"
admin:
capabilityRootKey: "${CAPABILITY_ROOT_KEY}"
lightning:
provider: "${LIGHTNING_BACKEND}"
config:
connectionString: "${NWC_CONNECTION_STRING}"
upstreams:
api:
url: "http://localhost:3000"
routes:
- name: public-health
match:
pathPrefix: /health
upstream: api
policy:
kind: public
- name: protected-api
match:
pathPrefix: /api/
upstream: api
policy:
kind: capability
scope: "api:read"
- name: premium-api
match:
pathPrefix: /premium/
upstream: api
policy:
kind: l402 # paid-rail policy; use payment_context to preserve L402/x402/ledger evidence
priceSats: 100
Tipos de Política
| Política | Descrição | Caso de Uso |
|---|---|---|
public | Sem autenticação | Verificações de saúde, documentação, webhooks |
capability | Exige Macaroon válido | Endpoints de API protegidos |
l402 | Exige pagamento Lightning e registra contexto de trilho pago | Endpoints monetizados; o contexto x402/ledger pode ser preservado em Evidence Packs |
Como É Diferente
| SatGate | Gateways de Roteamento | Gateways de API Tradicionais | |
|---|---|---|---|
| Preocupação principal | Governança econômica | Roteamento de provedor | Gerenciamento de tráfego |
| Aplicação de orçamento | Limites rígidos (bloqueados no limite) | Apenas alertas suaves | ❌ |
| Atribuição de custo MCP | Granularidade por ferramenta | ❌ | ❌ |
| Modelo de credencial | Macaroons (delegáveis) | Chaves de API | Chaves de API / OAuth |
| Delegação de agente | Subtokens com orçamentos reduzidos | ❌ | ❌ |
| Governança de trilhos pagos | L402, x402, cobrança por chave de API, ledgers empresariais | ❌ | ❌ |
| Funciona em conjunto | — | ✅ Use junto | ✅ Use junto |
Arquitetura
┌──────────────────────────────────────────────────┐
│ SatGate │
│ │
│ Request → Route Match → Policy Check → Proxy │
│ │ │
│ ┌──────────────┼──────────────┐ │
│ │ │ │ │
│ [public] [capability] [paid rail] │
│ pass verify token verify │
│ check budget payment │
│ log MCP tool context │
└──────────────────────────────────────────────────┘
Conceitos-chave:
- Macaroons: Tokens portadores com caveats incorporados (expiração, escopo, orçamento, IP). Não são chaves de API — eles suportam delegação sem idas e voltas ao servidor.
- Delegação: O Agente A dá ao Agente B um subtoken com permissões reduzidas e um limite de orçamento de $50. B não pode escalar.
- Análise MCP: O SatGate lê payloads MCP JSON-RPC para atribuir custos a chamadas de ferramentas específicas, não apenas a endpoints HTTP.
- Contexto de trilho pago: O SatGate trata L402, x402, cobrança por chave de API e ledgers empresariais como trilhos a serem governados. Os Evidence Packs preservam qual trilho foi envolvido sem tornar o trilho o produto.
SDKs
| Linguagem | Pacote | Documentação |
|---|---|---|
| Python | pip install satgate | README |
| JavaScript | npm install @satgate/sdk | README |
Proxy MCP (NOVO)
O SatGate agora inclui um proxy MCP nativo que governa chamadas de ferramentas para qualquer agente compatível com MCP:
# Run MCP proxy with 1000-credit budget
satgate-mcp --config satgate-mcp.yaml
- Aplicação de orçamento: 402 rígido quando os agentes esgotam sua alocação
- Delegação: Agentes pais criam tokens de subagente com orçamentos definidos
- Custos por ferramenta:
web_search: 5,dalle_generate: 50(padrões curinga suportados) - Dois transportes: stdio (sidecar local) ou SSE/HTTP (multiagente remoto)
- Três modos de autenticação: nenhum, token estático, macaroon (cadeia HMAC)
Consulte pkg/mcpserver/README.md para documentação completa.
Documentação
- Visão Geral da Arquitetura
- Guia de Início Rápido
- Referência de Configuração
- Checklist de Produção
- Implantação Kubernetes
- Integração LangChain
- Guia do Gateway MCP
☁️ SatGate Cloud e Enterprise
Auto-hospedagem não é para você? SatGate Cloud é a versão totalmente gerenciada — mesmo gateway, zero operações.
O gateway de código aberto lida com proteção, orçamentos e aplicação de trilhos pagos. O SatGate Cloud adiciona o plano de controle:
- 📊 Observe — Painéis em tempo real, atribuição de uso, etiquetagem de centros de custo
- 🎚️ Control — Aplicação de orçamento e política antes de as solicitações de agentes serem executadas
- 🤖 SatGate Mint — Provisionamento de agentes sem toque (K8s, AWS, OIDC)
- 🏢 Multi-tenant — Isolamento de equipe, RBAC, SSO/SCIM
- 📝 Auditoria — Registro à prova de adulteração, exportações de conformidade
Comece Grátis → (o modo Observe é gratuito, ilimitado, para sempre)
Contribuindo
Aceitamos contribuições! Consulte CONTRIBUTING.md para diretrizes.
git clone https://github.com/satgate-io/satgate.git
cd satgate
go mod download
go test ./...
go build -o satgate ./cmd/satgate
Licença
Apache License 2.0 — consulte LICENSE para detalhes.
Links
- 🌐 satgate.io — Site
- 📝 Blog — Artigos técnicos
- 🏢 Governança Empresarial — Casos de uso para CISO/CFO/CTO
- 💰 Preços — Camada Observe gratuita, Pro para aplicação
- 🔒 Modelo de Segurança — Arquitetura e conformidade
- 🧪 Sandbox — Experimente sem cadastro
- 📊 Calculadora de ROI — Estime economias
- ⚖️ Comparar — SatGate vs Zuplo, Bifrost, cloud-native
- 📧 contact@satgate.io
Construído com ⚡ por SatGate — O Firewall Econômico