Payments the chain can't read.

Escudo is a crypto payment gateway that never holds your money. Your customer pays on any of 9 networks, the payment passes through a zk shielded pool, and it settles straight into your own wallet with no public link back to the payer.

What a block explorer sees when someone looks up your wallet 0xD20e…05A0
TimeFromToAmountNetwork
Anyone can list every customer who has ever paid you. No payer appears. Deposits sit in the Escudo pool with thousands of others and can't be matched to these settlements. liveblock 21,448,120 · 1,342 payments
Your dashboardescudo.cash

You always know who paid which invoice. The chain never does.

9networks, including Ethereum, Base, Solana and Robinhood
0.3%per payment. No monthly fee, no setup, no minimum
0customer funds held by Escudo, ever. Settlement goes straight to your wallet
12smedian time from payment to funds in your wallet

A payment gateway with nothing to hand over.

With an ordinary crypto gateway your receiving address is a public income statement, and every customer who pays you is permanently linked to your business. Escudo never takes custody, never stores customer data, and never writes that link on-chain. Everything else works the way you already expect from a payment provider.

Settles straight to your wallet

Funds move from the shielded pool to the address you control in the same transaction that confirms the payment. No balance held by us, no withdrawal step, nothing to freeze.

Nine networks, one checkout

Ethereum, BNB Chain, Polygon, Base, Arbitrum, Optimism, Avalanche, Robinhood and Solana. USDT, USDC and the native token on each. Your customer picks; you get one dashboard.

Signed webhooks, the moment it confirms

Every event is HMAC-SHA256 signed and retried on failure. Your system knows a payment is final at the same time the chain does.

settlement
CustomerAny wallet or exchange
0x7a3f…9c2e
Escudo poolzk shielded. Locked by proof, not by Escudo
••••••
Your walletDirect, final, non-custodial
0xD20e…05A0settled
networks
Ethereum
BNB Chain
Polygon
Base
Arbitrum
Optimism
Avalanche
Robinhood
Solana
9networks
webhooks
invoice.paidPOST yoursite.com/escudo · 201
{
  "id": "evt_31c9a7",
  "type": "invoice.paid",
  "invoice": "inv_8f2a…c41d",
  "amount": "1200.00",
  "currency": "USDC",
  "network": "base",
  "confirmations": 12,
  "metadata": { "order_id": "ORD-1234" }
}
Escudo-Signature verified (HMAC-SHA256)

How the privacy works

Escudo routes every payment through a zk shielded pool: a smart contract that holds deposits as cryptographic commitments and releases them with zero-knowledge proofs. Nobody, including us, can connect a deposit to the settlement it funds.

Plain-language version: a customer's payment goes into a shared vault along with thousands of others. Your settlement comes out of the vault with a mathematical proof that you're owed it, but not which payment it was.
01

Customer pays the invoice

They send the exact amount to a one-time deposit address on the network they chose. From their side it's an ordinary transfer from any wallet or exchange. No account, no email, no KYC.

02

The deposit becomes a commitment

The pool records a cryptographic commitment instead of your address. Thousands of deposits across the network share the same anonymity set, so a single one cannot be singled out.

03

A zero-knowledge proof releases the funds

A zk-proof generated with your keys shows the contract that a valid unspent deposit exists and that your wallet is entitled to it, without revealing which deposit. A nullifier ensures it can never be spent twice. The proof is generated in your browser, so nothing about the payment leaves your device, and no step requires Escudo's approval.

04

Settlement lands in your wallet

Escudo covers the gas for the settlement transaction, so your wallet needs nothing to receive it. The pool pays your address directly, minus 0.3%. On-chain, the settlement shares no link with the deposit. Off-chain, your dashboard matches it to the right invoice and customer.

What changes with a privacy gateway

Ordinary crypto gatewayEscudo
Who holds the fundsUsually the provider, until you withdrawYou. Settlement goes straight to your wallet
Who paid you, on-chainVisible. Every payer is permanently linked to your addressHidden. Settlements arrive from the Escudo pool; no payer ever appears next to your address
What your address revealsEverything. Each customer, amount and date, foreverOnly settlements from the pool. No customer list, no invoice, no link to any deposit
Customer data storedEmail, IP, wallet, often KYCOnly the metadata you attach to an invoice
Can the provider freeze a paymentYes, funds sit in the provider's accountNo. Once a deposit enters the zk shielded pool it is locked by cryptography, not by us. Escudo has no admin key and no custody
Your own recordsWhatever the provider exportsFull transaction history in your dashboard, exportable any time
FeeUsually a percentage plus a monthly plan0.3%, nothing else

Choose how you want to use Escudo

Both run on the same zk shielded pool. The gateway is for getting paid; the pool app is for moving your own funds without leaving a trail.

For businesses

Payment Gateway

Accept payments from customers on 9 networks with the same privacy as the pool. Every invoice is paid into the zk shielded pool and settled to your wallet, so no customer is ever linked to your business on-chain.

  • Every payment routed through the zk shielded pool, not just a plain transfer
  • Your wallet shows settlements from the pool only; no payer, no customer list
  • Customer pays from any wallet or exchange, no account, no KYC
  • Invoices, hosted checkout, API and signed webhooks
  • Escudo never holds the funds. Flat 0.3% per payment
Start accepting payments escudo.cash/signup
For anyone

Shielded Pool

Move your own crypto privately. Deposit from your wallet, keep it as a private balance or a secret note, then send to any address or swap inside the pool.

  • Zero-knowledge proof generated in your browser; nothing leaves your device
  • Send to one or many addresses, or swap coins without leaving the pool
  • No account, no email, no KYC. Unlock with your wallet, or keep a secret note
  • Open source, served from ENS and IPFS with no central server
Open the pool app escudocash.eth.limo

Built for businesses where who-paid-whom is nobody's business

Agencies and freelancers

Invoice international clients in USDT or USDC without publishing your client list and your rates to the whole chain.

invoices · retainers

Privacy-sensitive services

Clinics, legal practices, counselling, security researchers. Your clients' decision to pay you shouldn't be a public record.

one-off · recurring

Digital goods and SaaS

Hosted checkout and webhooks drop into any stack. Customers pay in seconds with no account and no card, on the network they already use.

checkout · API

High-value B2B

Settle large invoices without broadcasting your treasury address or letting counterparties read your other deals.

settlements · OTC

Integrates in an afternoon.

One request creates an invoice and returns a hosted checkout page. One webhook tells you it's paid. Plain REST and JSON, so it works from PHP, Node, Python, Go, Ruby, Java or anything else that can make an HTTPS call. Test keys run against a sandbox pool with no real funds.

Open the documentation
POST /v1/invoices
# Create an invoice for 100 USDT on Polygon
curl -X POST https://api.escudo.cash/v1/invoices \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "100.00",
    "currency": "USDT",
    "network": "polygon",
    "webhook_url": "https://yoursite.com/escudo",
    "metadata": { "order_id": "ORD-1234" }
  }'

# 201 Created
{ "id": "inv_8f2a…c41d", "checkout_url": "https://pay.escudo.cash/8f2a" }
import Escudo from "@escudo/node";

const escudo = new Escudo(process.env.ESCUDO_KEY);

const invoice = await escudo.invoices.create({
  amount: "100.00",
  currency: "USDT",
  network: "polygon",
  webhookUrl: "https://yoursite.com/escudo",
  metadata: { orderId: "ORD-1234" },
});

res.redirect(invoice.checkoutUrl);
$ch = curl_init("https://api.escudo.cash/v1/invoices");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => json_encode([
    "amount"   => "100.00",
    "currency" => "USDT",
    "network"  => "polygon",
    "webhook_url" => "https://yoursite.com/escudo",
    "metadata" => ["order_id" => "ORD-1234"],
  ]),
  CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("ESCUDO_KEY"),
                         "Content-Type: application/json"],
  CURLOPT_RETURNTRANSFER => true,
]);
$invoice = json_decode(curl_exec($ch), true);
header("Location: " . $invoice["checkout_url"]);
import escudo

client = escudo.Client(api_key=os.environ["ESCUDO_KEY"])

invoice = client.invoices.create(
    amount="100.00",
    currency="USDT",
    network="polygon",
    webhook_url="https://yoursite.com/escudo",
    metadata={"order_id": "ORD-1234"},
)

return redirect(invoice.checkout_url)
0.3%

Of each confirmed payment, deducted on-chain at settlement and itemised on every receipt. There is no other number.

No plans to compare

You only pay when you get paid. No monthly fee, no setup fee, no minimum volume, no card to start.

Networks
All 11 included
Invoices and API calls
Unlimited
Webhooks
Included, HMAC-signed
Transaction history and exports
Included
Sandbox
Free, unlimited
Settlement
Direct to your wallet, 0.3% deducted on-chain
Create a free account

Common questions

No. Escudo is a payment gateway, not a wallet or an exchange. A payment moves from your customer into the zk shielded pool and from the pool directly into the wallet address you set. At no point is there a balance sitting with Escudo, so there is nothing to withdraw, nothing to wait for and nothing we could freeze.

USDT and USDC on every supported network, plus each network's native token (ETH, BNB, MATIC, AVAX, TRX, SOL and so on). You choose what to accept per invoice or set a default.

At the speed of the network. Settlement happens in the same flow as confirmation, so there is no withdrawal step and no holding period. Seconds on L2s and Solana, under a minute on Ethereum mainnet.

The customer pays the gas for their deposit, as with any on-chain transfer. The settlement to your wallet is covered by the 0.3% fee, so you never need to hold gas tokens on any network just to get paid.

Yes. A payment in USDC on Base settles to your wallet as USDC on Base; a payment in SOL settles as SOL. Escudo does not convert or bridge funds, which keeps settlement final and keeps us out of custody.

No, and not because of a policy. Escudo is a payment gateway, not a custodian: a payment goes from your customer into the zk shielded pool and from the pool to your wallet. Once a deposit is in the pool it can only be released by a valid zero-knowledge proof tied to your keys. There is no admin key, no pause switch and no account of yours on our side, so there is nothing we could freeze even if we were asked to. Settlements are final the moment they reach your wallet; refunds, if you offer them, are sent by you from your own wallet.

Escudo is payment infrastructure, and you remain responsible for the laws that apply to your business and jurisdiction, exactly as with any payment provider. Privacy from the public is not the same as hiding from your obligations: your dashboard keeps your complete transaction history, and you can export it for your accountant or for tax whenever you need to.

The link between a deposit and a settlement is broken cryptographically inside the pool, not by a database we promise not to look at. Your transaction history is encrypted with keys that stay with you; we hold the invoice metadata you attach and nothing about the payer's wallet.

Nothing beyond the metadata you attach to an invoice. Your transaction history lives in your dashboard, exportable for accounting and tax, and is never written to the chain.

Not to use it. From your side it behaves like any payment gateway: an invoice, a checkout link, a webhook. The documentation includes a plain-language explanation and the contract addresses if you want to audit it.

Your revenue is nobody else's business.

Get paid through the gateway, or move your own funds through the pool. Either way, nothing about it is written on-chain for others to read.