Authentication

Zateway uses API Keys for all server-to-server API calls. Dashboard access uses session cookies (not applicable to API integrations).

API Key Authentication

Include your API key in the X-API-Key header (or use Authorization: Bearer). Keys must start with zate_.

curl
curl -X POST https://zateway.com/api/v1/payments \
  -H "Content-Type: application/json" \
  -H "X-API-Key: zate_live_your_api_key_here" \
  -d '{
    "amount": "50.00",
    "currency": "USDT",
    "chain": "polygon"
  }'
Node.js
const response = await fetch("https://zateway.com/api/v1/payments", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Key": process.env.ZATEWAY_API_KEY,   // zate_live_...
  },
  body: JSON.stringify({
    amount: "50.00",
    currency: "USDT",       // or "USDC"
    chain: "polygon",        // polygon | solana | base | bsc | arbitrum | optimism
    // merchantWallet is optional if you've already added a verified wallet in the dashboard
  }),
});

const session = await response.json();
console.log("Checkout URL:", session.checkoutUrl);
Python
import requests

response = requests.post(
    "https://zateway.com/api/v1/payments",
    headers={
        "Content-Type": "application/json",
        "X-API-Key": os.environ["ZATEWAY_API_KEY"],   # zate_live_...
    },
    json={
        "amount": "50.00",
        "currency": "USDT",       # or "USDC"
        "chain": "polygon",        # polygon | solana | base | bsc | arbitrum | optimism
    },
)

session = response.json()
print("Checkout URL:", session["checkoutUrl"])