jwt to interact with our API.
This means you don’t need to handle the storage of a powerful API key or spend hours configuring granular permissions.
Authentication Process
Generate a Nonce to sign a SIWE Message
Before initiating authentication, the application must request a nonce.
Your application then presents this nonce to the user for signing as part of the SIWE flow.
cURL
Sign the SIWE Message with your Wallet or Provider
Our API accepts signatures from Externally Owned Accounts (EOAs) and Smart Accounts (EIP-1271).
Verify the Signature and get an Access Token
JWT length validity
- Default Validity: JWT tokens are valid for the duration specified in
ttlInSecondsduring SIWE authentication - Minimum Duration: 1 hour
- Maximum Duration: 24 hours
cURL
jwt is generated.
This jwt must be included in the Authorization header of all subsequent HTTP requests to authenticate with the Gnosis Pay API:
Details about the Access Token
Ajwt is generated upon successful Sign-In with Ethereum (SIWE) verification and can remain valid for up to 24 hours, depending on the ttlInSeconds parameter passed to SIWE, with a minimum validity period of 1 hour.
To enhance security and prevent replay attacks, each authentication attempt requires a new and unique nonce.
Always ensure that the jwt is valid before making API requests.
If an API request returns a 401 Unauthorized response due to an expired token,
your application must restart the authentication process, which requires user interaction.
This means the application must request a new nonce, prompt the user to sign the message,
and then submit the signature for verification to generate a fresh jwt.