Skip to main content


Sign In With Tezos (SIWT) is a library that supports the development of your decentralized application (dApp) by:

  • proving the users ownership of the private key to the address the user signs in with,
  • adding permissions to use your API or backend using on chain data,
  • SIWT complies with CAIP-2/10/122
  • and TZIP-33 Sign-In with Tezos (SIWT),
  • at a later stage TZIP-31/32 Signer Requests and Off-Chain Message Singing will be supported after support from Tezos wallets.


All packages have the same version corresponding to the GitHub release tag.

SIWT is split up in several packages:


This package handles the JWT tokens. Use this on the servers side to create and verify tokens. This package should only be used server side.

Access Control Query (acq)

Use this package to define the requirements your user needs to fulfil to obtain access. Currently it supports:

  • checking if your user has a certain NFT optionally with a time constraint
  • checking if a user is (or is not) on a provided allowlist
  • checking if a user has a min/max amount of XTZ
  • checking if a user has a min/max amount of a fungible token


This package contains utilities to facilitate the creation of messages and verification of signatures. It can be used on both FE and server.


This package contains react hooks to make implementation of SIWT in your React application easier.


Modify and deploy this example on to your server to run your own discord bot. The bot allows you to manage access to your private channels using SIWT.


A react UI that is part of the Discord bot. It is required so your Discord members can use their Tezos wallets to sign in to your server.