API reference
Base URL: https://api.zect.io
The Zect API turns plain-language intent into a ranked list of executable routes aggregated across many providers. Public endpoints need no auth; account and admin endpoints use a bearer token.
Authentication
# email
curl -X POST https://api.zect.io/v1/auth/login \
-H "Content-Type: application/json" \
-d '{ "email": "you@example.com", "password": "..." }'
# → { ok, token, user }Send the token as Authorization: Bearer <token> on authed routes. Developers can
mint API keys in the developer portal.
Resolve an intent
POST /v1/intent
{ "say": "swap 100 USDT to ARB, cheapest" }Response (abridged):
{
"ok": true,
"headline": "You'll get about 90.9 ARB",
"priority": "cheapest",
"flow": { "payToken": "USDT", "getToken": "ARB", "getAmount": "90.9" },
"routes": [
{ "protocol": "Across → Jupiter", "logo": "across", "out": "90.9 ARB",
"fee": "$0.29", "time": "~25s", "privacy": 30, "best": true, "tags": ["cheapest"] }
],
"facts": [ { "label": "Arrives in", "value": "~25 seconds" } ]
}Build an executable transaction (EVM)
POST /v1/transaction
{ "say": "swap 0.05 ETH to USDC on Base", "fromAddress": "0x..." }
# → { ok, transactionRequest: { to, data, value, chainId }, estimate }The returned transactionRequest is signed and broadcast by the user’s wallet —
Zect never holds funds.
Public endpoints
| Method | Path | Description |
|---|---|---|
POST | /v1/intent | Resolve intent → ranked routes |
POST | /v1/transaction | Build an executable EVM transaction |
GET | /v1/chains | Supported chains |
GET | /v1/tokens | Supported tokens |
GET | /v1/pay/{slug} | Resolve a payment link |
Account endpoints (bearer token)
| Method | Path | Description |
|---|---|---|
GET | /v1/me | Current user |
GET | /v1/account/overview | Stats + recent activity |
GET | /v1/account/history | Swap history |
GET | /v1/account/swaps/{id} | A single receipt |
GET | /v1/account/rewards | ZECT rewards + referral |
GET/POST/DELETE | /v1/account/links | Payment links |
GET/POST/DELETE | /v1/account/keys | API keys |
The API is evolving quickly during the beta. Endpoints and shapes may change.