🛡️Economic Firewall for the Agentic Web

Stop free scraping • Control LLM costs • Monetize AI agent traffic

Protect by default.
Choose your economic policy.

Default Protection (cryptographic capability verification) is always-on for non-PUBLIC routes. Then choose: Observe, Control, or Charge.

Fully managed control plane + per-tenant gateway configs + enterprise-safe separation by default

Protection is the starting state. Economics are configurable.
Drop-in: one DNS change, or use *.satgate.cloud instantly.

Free tier includes unlimited observation • No credit card required

99.9%
Bot traffic blocked
<50ms
Added latency
$0
Wasted on abuse

Default Protection + Economic Policies

Protection is the foundation. Choose your economic policy per route.

DEFAULT PROTECTION
🛡️

Cryptographic Capability Verification

Always-on for non-PUBLIC routes

Every protected route requires valid credentials (Macaroons). Capabilities, caveats, delegation, and revocation—built into the protocol, not bolted on.

✓ Capabilities + Caveats✓ Delegation chains✓ Instant revocation✓ Tamper-evident audit
Protected by default →
👁️

Observe

verify → allow → meter/log

Perfect for audit logs and FinOps visibility.

  • ✓ Usage attribution by team
  • ✓ Cost center tagging
  • ✓ Zero latency impact
Protected by default →
🎚️

Control

verify → enforce budget → allow

Enforce strict budgets and spending caps.

  • ✓ Real-time budget enforcement
  • ✓ Fiat402 challenge/response
  • ✓ ERP/billing integration
Protected by default →

Charge

verify → payment proof → allow

Monetize via L402 or Fiat billing.

  • ✓ Bitcoin Lightning (instant)
  • ✓ Per-request pricing
  • ✓ Agent-native payments

PUBLIC is the explicit opt-out for probes (/healthz), docs, and webhooks. Everything else is protected by default.

🏗️SatGate Cloud Architecture

Enterprise-Safe by Design

Separate trust boundaries, auditable config lifecycle, and per-tenant isolation built in.

🏢

The Mint (Trust Broker)

The "Badge Office." Sits offline from your traffic. Translates platform identities (Kubernetes tokens, AWS roles, OIDC logins) into standardized SatGate Macaroons. This happens once—when the agent starts up.

🚪

The Gateway (Enforcement)

The "Bouncer." Sits in the traffic path. Checks what you hold (the Macaroon), not who you are. Because Macaroons are self-contained and cryptographically signed, the Gateway enforces policy without calling home—no egress, no latency.

🔐

Control Plane

Private API for /cloud/* + admin. Never exposed to public internet.

Mint: identity → policy → capability token (with caveats + delegation)

🌐

Data Plane

Public gateway endpoint. Only proxies tenant traffic. No admin access, no config mutations.

Request Flow (Data Plane)

RequestVerify capabilityApply policyUpstream

Default Protection happens at the data plane; control plane defines policy + collects telemetry

Tenant Routing:{tenant}.satgate.cloud → resolved config → fail-closed
🛡️
SSRF-safe upstream validation
Blocks private IPs, metadata endpoints, DNS rebinding
📋
Config versioning + applied gating
Draft → Save → Apply workflow with rollback
📊
Per-tenant limits enforced
Routes, upstreams, requests—all plan-gated
📝
Audit log for all mutations
Actor, timestamp, config hash, diff summary
🔒
Tenant routing isolation
No cross-tenant config bleed, fail-closed on errors
🔑
HttpOnly session cookies
No localStorage tokens, CSRF protected

How it works

Four steps to protect your API. No code changes required.

1

Pick Your Policy

Define routes with economic policies. PUBLIC for probes/docs, protected for everything else. SatGate Mint (optional): agents badge-in via K8s/AWS/OIDC to get tokens automatically—no API keys.

routes:
  - path: /healthz
    policy: public   # explicit opt-out
  - path: /docs/*
    policy: public
  - path: /v1/*
    policy: observe  # meter only
  - path: /premium/*
    policy: charge   # L402
2

Apply Config

Apply when ready. Version history + audit log. Rollback if needed.

v3 (applied) ← current
v2 (available)
v1 (available)

Audit: who, when, diff
3

Point Your DNS

Use *.satgate.cloud or your custom domain. Traffic flows through SatGate.

# Your domain
api.yoursite.com
  CNAME → satgate.cloud

# Or use ours
yourapp.satgate.cloud
4

See Verified Traffic

Real-time: verified vs challenged. Enable Charge policy when ready for revenue.

Verified:   1,203 requests
Challenged: 12,847 (402s)
Metered:    $847 usage

→ Enable Charge policy?

How do agents get tokens?

SatGate Mint issues tokens at startup. Gateway verifies them on every request—no identity lookups on the hot path.

🤖Agent StartsK8s / AWS / OIDC
🏢MintBadge-in (once)
🎫MacaroonWith caveats
🚪GatewayVerify (every req)
🎯UpstreamYour API

Manual token issuance also available via Dashboard or API. Mint is optional for automated agent provisioning.

Charge (optional): Settlement Rails

When you choose the Charge policy, pick your settlement mechanism. Same gateway, same protection, different payment rails.

📊

Internal

Observe / Control policies

Track usage per tenant/team/project. No end-user payment—meter (Observe) or enforce budgets (Control) internally.

Best for: Internal platforms, FinOps, cost allocation
💳

Fiat402

Stripe-backed

Standard billing workflows via card or invoice. Same gateway enforcement, enterprise procurement-friendly.

Best for: Enterprise teams, procurement, SaaS billing

L402

Lightning / instant

Sub-second settlement, no chargebacks, per-request pricing. Perfect for developer APIs, AI agents, and micropayments.

Best for: Developer-first APIs, agents, global users

Start with Observe or Control, enable Charge when ready—per route, per tenant.

One Platform, Three Deployment Models

Pick the model that fits your ops, security, and data residency requirements.

🚀

SaaS

Fast Start

Fully managed gateway + fully-managed control plane

Point DNS to SatGate. We run everything. Zero ops—live in minutes.

  • ✓ Zero infra—we handle everything
  • ✓ *.satgate.cloud or custom domain
  • ✓ Dashboard, billing, audit logs
  • ✓ Best for public APIs & edge endpoints

For internal traffic, deploy gateway in your VPC (Hybrid).

Recommended
☁️

Hybrid

Fully-managed control plane + gateway in your VPC

Policies + dashboard in SatGate Cloud; data plane runs in your network. Payloads never leave your VPC.

  • ✓ Data stays in your network
  • ✓ Cloud dashboard + config versioning
  • ✓ Telemetry + audit logs hosted
  • ✓ Deploy gateway via Helm/Docker

Enterprise default—security + convenience.

🏢

Self-Host

You run both planes

Full control. Deploy control plane + gateway in your own infra. Air-gapped, on-prem, or private cloud.

  • ✓ Complete data sovereignty
  • ✓ SSO/SCIM, IP allowlists, GitOps
  • ✓ Air-gapped + compliance exports
  • ✓ Private networking, no egress

For regulated industries (finance, gov, healthcare).

SatGate Cloud Pricing

Fully-managed control plane + multi-tenant management.

Looking to self-host? Community OSS includes Default Protection + Charge (L402) — free forever.

Cloud Free
forever free
Fully managed control plane

SaaS (fully managed gateway + control plane)

  • Default Protection (capability tokens)
  • Unlimited Observe ingest1
  • 3-day audit retention
  • 3 routes, 1 team member
  • Control/Charge policies (Cloud Pro)
  • Community support
Start Free
POPULAR
Cloud Pro
$99/month
14-day Pro trial, then auto-downgrade to Free unless you upgrade

SaaS or Hybrid • Fully-managed control plane + choice of gateway

  • Unlimited Observe ingest
  • 1M Control/Charge requests2
  • 90-day audit retention
  • Observe + Control + Charge (Fiat402 + L402)
  • 25 routes, unlimited team members
  • Dashboard + config versioning + audit logs
  • Hybrid: fully-managed control plane + gateway in your VPC
  • Custom domain + 99.9% SLA
Start Free Trial

+$9 per additional 100k Control/Charge requests

Cloud Enterprise
custom, tailored to your needs

Self-Host or Hybrid • You run both planes, or we manage the control plane

  • Everything in Cloud Pro
  • Dedicated fleet / VPC / on-prem
  • Unlimited requests & routes
  • SSO / SCIM / SAML / LDAP
  • GitOps / signed configs
  • Private networking / IP allowlists
  • Custom audit retention + WORM
  • Air-gapped deployment option
  • 99.99% SLA + dedicated support
Contact Sales

Fully-managed control plane (SatGate Cloud) includes: dashboard, config versioning (save/apply/rollback), tenant isolation, audit logs, billing/metering, FleetOps diagnostics.

Charge policy fee: 2% of revenue processed • Instant payouts +1% • Weekly payouts free

Only applies when SatGate is the settlement processor (hosted billing). Self-settle = $0 fee.

Two free offerings: Community OSS (self-host) includes Default Protection + Charge (L402). Cloud Free (hosted control plane) includes Default Protection + Observe. Upgrade to Cloud Pro for Control + Charge (Fiat402 + L402) + multi-tenant + dashboard.

1 Observe ingest (unlimited): Stream as much traffic as you want through Observe policy. We meter and log everything in real-time. Fair-use rate limits apply to protect infrastructure. Retention is 3 days (Cloud Free) or 90 days (Cloud Pro).

2 Control/Charge requests: Billable requests are those that pass through Control (budget enforcement) or Charge (payment) policies. Observe-only traffic is unmetered. Blocked/challenged (401/402/403/429) traffic doesn't count toward quota.

Protect your API for free

No credit card required. Stop bots in minutes.

By signing up, you agree to our Terms of Service

Frequently Asked Questions

Is SatGate right for my use case?

Best for:APIs, search/availability/pricing endpoints, downloads, exports, data feeds
Works if:Your site uses AJAX/JSON behind the UI (most modern sites do)
Not ideal (yet):Fully public HTML pages where you can't route specific paths through a gateway

Not sure? Most sites have gateable endpoints even if the UI is HTML. Contact us and we'll help you identify them.

Is protection really default?

Yes, for all non-PUBLIC routes. Every protected route requires valid cryptographic credentials (Macaroons). PUBLIC is the explicit opt-out—use it for health probes, docs, and webhooks.

How do clients get tokens?

Three ways: (1) Dashboard/API for manual issuance, (2) SatGate Mint for auto-provisioning via workload identity (K8s ServiceAccount, AWS IAM, OIDC)—agents badge-in and get tokens automatically, or (3) Delegation—parent tokens can mint restricted child tokens for agent swarms.

What's the difference between Observe and the default protection?

Default Protection is the baseline verification (valid credential required). Observe is your economic policy choice—it meters and logs all traffic for FinOps visibility without blocking. Control enforces budgets; Charge requires payment.

Do I need payments to use SatGate?

No! Most users start with Observe (meter everything) or Control (enforce budgets) internally. Enable Charge with L402 or Fiat402 when you're ready to monetize externally.

What's the difference between SatGate Cloud and just the gateway?

SatGate Cloud adds the control plane: multi-tenant dashboard, config versioning with save/apply workflow, audit logs, per-tenant limits, billing integration, and enterprise deployment modes. The gateway is the data plane that enforces your policies.

Where does my data go?

Request data flows through the gateway (data plane) which you can self-host. Config and metadata live in the control plane—SaaS-hosted by default, or self-hosted/on-prem for enterprise.

How do the settlement rails work?

When you choose the Charge policy, pick your settlement: L402 uses Lightning Network for instant micropayments; Fiat402 uses Stripe for card/invoice billing. Observe and Control policies use internal metering without end-user payment.

How do Lightning payments work?

When you enable Charge with L402, your users pay via Lightning—a fast Bitcoin payment layer. They scan a QR code or use a browser wallet like Alby. Payment typically confirms in under a second. You receive payouts to your Lightning wallet.

Do I need a Lightning wallet?

Only for L402 settlement (to receive payouts). For Observe, Control, or Fiat402 policies, no wallet is needed. When you're ready, we'll guide you through setup—it takes about 2 minutes.

Do my customers need a Lightning wallet?

Only if you enable Charge with L402 settlement. Popular wallets include Alby (browser extension—great for developers), Phoenix, and Wallet of Satoshi. Setup takes 2 minutes. Many AI/crypto users already have wallets.

What happens if a payment fails?

Lightning payments either succeed or fail immediately—no pending state. If payment fails, the customer simply retries. No partial charges, no cleanup needed.

Is there a minimum payment amount?

Effectively no. Lightning supports payments as small as 1 satoshi (≈$0.001). This enables true micropayments that aren't possible with credit cards.

Is SatGate Cloud enterprise-ready?

Yes. SSRF-safe upstream validation, config audit logging, per-tenant isolation, HttpOnly session cookies, and multiple deployment modes (SaaS, self-hosted, hybrid, air-gapped).

Documentation

Everything you need to integrate SatGate into your applications.

Quick Start Guide

Get your first API call flowing in under 5 minutes. Start with Observe mode — free and unlimited.

1

Sign Up & Connect Your API

Create your account and add your upstream API. The onboarding wizard guides you through it.

2

Create a Route with Observe Policy

Define which paths to protect. Start with Observe — it meters all traffic for free:

routes:
  - path: /api/*
    policy: observe   # Meter & log all traffic (free)
  - path: /premium/*
    policy: control   # Enforce budgets
  - path: /healthz
    policy: public    # No auth required
3

Mint a Capability Token

Go to Dashboard → Tokens → Create Token. You'll get a capability token:

sg_cap_v1_abc123xyz789...
4

Make Authenticated Requests

Use your token in the Authorization header:

$ curl -H "Authorization: Bearer sg_cap_v1_abc123..." \
  https://your-project.satgate.cloud/api/data

{"data": "Your API response here!"}
5

Monitor in Dashboard

View real-time usage analytics, per-route metrics, and audit logs. Upgrade to Control (budgets) or Charge (monetization) when ready.

📈 Upgrade Path

Observe → meter & logControl → enforce budgetsCharge → monetize (L402/Fiat402)

SDK Examples

Use capability tokens for Observe/Control policies. SDKs handle token management automatically.

🐍 Python

from satgate import SatGateClient

# Initialize with your capability token
client = SatGateClient(
    gateway_url="https://your-project.satgate.cloud",
    token="sg_cap_v1_abc123..."  # From Dashboard → Tokens
)

# All requests are automatically authenticated
response = client.get("/api/data")
print(response.json())

# Works with any HTTP method
client.post("/api/submit", json={"key": "value"})

pip install satgate

JavaScript / Node.js

import { SatGateClient } from '@satgate/sdk';

// Initialize with your capability token
const client = new SatGateClient({
  gatewayUrl: 'https://your-project.satgate.cloud',
  token: 'sg_cap_v1_abc123...'  // From Dashboard → Tokens
});

// All requests are automatically authenticated
const response = await client.get('/api/data');
console.log(response.data);

// Works with any HTTP method
await client.post('/api/submit', { key: 'value' });

npm install @satgate/sdk

$ cURL

# Observe/Control mode — use capability token
curl -H "Authorization: Bearer sg_cap_v1_abc123..." \
  https://your-project.satgate.cloud/api/data

# Charge mode (L402) — for monetized routes
# 1. Get invoice from 402 response
# 2. Pay Lightning invoice
# 3. Use L402 token with preimage
curl -H "Authorization: L402 MACAROON:PREIMAGE" \
  https://your-project.satgate.cloud/premium/data

Response Codes

Common responses and what they mean for each policy mode.

200Success— All Modes

Request verified and proxied to upstream. For Observe, usage is metered. For Control, budget is decremented. For Charge, payment was verified.

401Unauthorized— Missing/Invalid Token

No valid capability token provided. Go to Dashboard → Tokens → Create a new token. Make sure to include Authorization: Bearer sg_cap_... header.

402Payment Required— Charge Mode (L402/Fiat402)

Route uses Charge policy. For L402: pay the Lightning invoice in the response, then retry with the L402 token. For Fiat402: complete the payment challenge.

429Budget Exceeded— Control Mode

Route uses Control policy and budget limit reached. Top up the budget in Dashboard, or wait for the budget period to reset.

403Forbidden— Token Insufficient

Token doesn't have permission for this route. Check token scopes/caveats, or create a new token with appropriate permissions.

5xxServer Error— Upstream Issue

Gateway couldn't reach your upstream. Check: upstream URL is correct, upstream is running, no firewall blocking the connection.