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"])