TIPTIP
API Reference

Request challenge

POST
/v1/auth/challenge

Issues a single-use, domain-separated sign-in message for pubkey and stores its nonce, ready for the caller's wallet to sign. The nonce is consumed the moment it is verified (or found invalid), so a captured challenge/signature pair can never be replayed to obtain a second session.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/auth/challenge" \  -H "Content-Type: application/json" \  -d '{    "pubkey": "5FHwkrdxntdK24hgQU8qgBjn35Y1zwhz1GZwCkP2akbP"  }'
{  "message": "tagwise.me wants you to sign in with your Solana account:\n5FHwkrdxntdK24hgQU8qgBjn35Y1zwhz1GZwCkP2akbP\n\nSign in to authenticate with the TIP API. This request will not trigger a blockchain transaction or cost any fees.\n\nNonce: 3f9a2b8c7d6e5f4a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e\nIssued At: 2026-01-15T12:00:00.000Z\nExpiration Time: 2026-01-15T12:05:00.000Z"}