Authentication

TaxSplit uses wallet-based authentication with JWT tokens. Obtain a token via the challenge-verify flow, then include it in the Authorization header for authenticated endpoints.

Challenge → verify flow

1

Request a challenge

Call POST /auth/challenge with the user’s wallet address.

2

Sign the message

Sign the returned challenge string with the user’s Solana wallet.

3

Verify the signature

Call POST /auth/verify with the wallet address, signature, and signed message to receive a JWT.

4

Send the JWT

Include the token in every authenticated request:

Authorization: Bearer <token>

Token expiry

  • Token expires in: 7 days

Last updated