1. Check Availability
First you need to check if the user is available to activate their IBAN:"available": false, the flow ends here.
Requirements the User must have:
- An active EURe Safe Account
- KYC verified and approved
- Residency in a supported country
- Nationality from a supported country (see allowed and restricted nationalities)
2. Enabling the IBAN Integration
Signing the Monerium message
Monerium requires a specific message to be signed by the User’s wallet. To get the exact message that needs to be signed:Possible outcomes for the IBAN integration activation
One thing to note is that the request starts the same:1. The user is not registered with Monerium, so we create a new monerium profile for them
If this is the case, you will receive this answer from the API:2. The user already has a Monerium profile, so we need to request access to it via an oAuth flow
When your User already have a Monerium account, we need to redirect the user to a URL so they can allow GnosisPay to interact with their existing account. So thePOST will return a 422 error with the following body:
externalApiCallStatusCode == 304.
After the User approves our access to their existing account, the background job will pick up from there and user will be redirected to the provided callback URL.
Another way to get the redirect URL if user has Monerium profile already is to use the /api/v1/ibans/oauth/redirect_url endpoint.
callbackUrl should always be sent as query parameter in both the cases.3. Get the IBAN number, BIC, Status and Connected Blockchain Address where funds are sent
You should monitor this endpoint until you see a status ofASSIGNED
Use this data to cash-in to your GnosisPay Account:
| IBAN Status | Description | Action |
|---|---|---|
| NOTSTARTED | Initial state when the user hasn’t started the IBAN creation process yet | User needs to initiate the IBAN creation process |
| PENDING | IBAN creation has been initiated and is being processed by Monerium | Wait for the process to complete, periodically check the status |
| PENDING_OAUTH | User has an existing Monerium profile and needs to authorize GnosisPay via OAuth | Redirect the user to the OAuth URL provided in the response |
| ASSIGNED | IBAN has been successfully created and assigned to the user | IBAN is ready to use for cash-in transactions |
4. IBAN Statement (Orders list)
To get a complete statement for the orders processed through IBAN:This endpoint returns only incoming orders (deposits) to the user’s IBAN.
Message Signing Example with GnosisPay Account Kit
You can use the GnosisPay Account Kit as example to generate a signature for endpoint. You can find the Account Kit code in our GitHub repository.Example Usage
Note
- The message can be fetched from the API using
GET /api/v1/ibans/signing-message - The generated transaction can be submitted to prove ownership
- Make sure to use the correct chainId (100 for Gnosis Chain)