Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API
auth.nonce

Method

auth.nonce

Start a sign-in: get a message to sign with a Sui key.

Details

Endpoint
POST /v0/auth/nonce
Credits
Free
Rate class
Light. Counts against your light requests per second.

Returns a one-time nonce and the exact message to sign. Sign `message` as a Sui personal message with the key of `address`, then send the signature to POST /v0/auth/verify (developer portal session) or POST /v0/keys/agent (a Free API key in one step). The nonce works once and expires after 5 minutes. Costs nothing.

Parameters

NameTypeDescription
addressrequiredstringThe Sui address that will sign (0x + 64 hex).

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/nonce" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "address": "0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e"
}'
TypeScript
const res = await fetch("https://api.tide.ad/v0/auth/nonce", {
  method: "POST",
  headers: {
    "x-api-key": process.env.TIDE_API_KEY!,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "address": "0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e"
  }),
});
const data = await res.json();

Response

JSON
{
  "address": "0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e",
  "nonce": "k3Jd8sLq0Xv2mZpA9rTb1WcE",
  "issued": "2026-11-03T12:00:00.000Z",
  "expiresAt": "2026-11-03T12:05:00.000Z",
  "message": "tide.ad wants you to sign in\n\naddress: 0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e\nnonce: k3Jd8sLq0Xv2mZpA9rTb1WcE\nissued: 2026-11-03T12:00:00.000Z"
}