Method
auth.verify
Finish sign-in: trade a signature for a 30-day session token.
Details
- Endpoint
- POST /v0/auth/verify
- Credits
- Free
- Rate class
- Light. Counts against your light requests per second.
Checks the signature over the message from POST /v0/auth/nonce and returns a session token that starts with `tsess_`. Send it as `Authorization: Bearer <token>` to the account and key routes. The account is created on first sign-in with the Free plan. Sessions last 30 days. Costs nothing.
Parameters
| Name | Type | Description |
|---|---|---|
| addressrequired | string | The Sui address that signed (0x + 64 hex). |
| signaturerequired | string | Base64 Sui signature of the personal message from /v0/auth/nonce. Any scheme works: ed25519, secp256k1, secp256r1, zkLogin, multisig. |
| message | string | The exact `message` text returned by POST /v0/auth/nonce. Send this, or nonce and issued. |
| nonce | string | The nonce from POST /v0/auth/nonce (with issued, instead of message). |
| issued | string | The issued time from POST /v0/auth/nonce (with nonce, instead of message). |
Request
Send your key in the x-api-key header, or leave it out to use the keyless tier.
curl
curl -X POST "https://api.tide.ad/v0/auth/verify" \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"address": "0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e",
"signature": "<base64 signature>",
"message": "<message from /v0/auth/nonce>"
}'TypeScript
const res = await fetch("https://api.tide.ad/v0/auth/verify", {
method: "POST",
headers: {
"x-api-key": process.env.TIDE_API_KEY!,
"content-type": "application/json",
},
body: JSON.stringify({
"address": "0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e",
"signature": "<base64 signature>",
"message": "<message from /v0/auth/nonce>"
}),
});
const data = await res.json();Response
JSON
{
"token": "tsess_...",
"expiresAt": "2026-12-03T12:00:00.000Z",
"address": "0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e",
"plan": "free"
}