Skip to main content
We offer IBAN cash-in to the GnosisPay Account via Monerium for users in Europe (EU) and Switzerland. Monerium’s IBAN integration enables direct connection between the owner of the GP Safe (which is the authenticated account address for SIWE) and Monerium.
  • No requirement on partners side for dual KYC, they can rely on this endpoint for fulfilling KYC requirements of monerium.
  • Partner can link new addresses and enable these accounts to work with the partner application, through Monerium API
  • This API operates independently of the GP Safe and does not involve signatures on the delay module.

Check Availability

First you need to check if the user is available to activate their IBAN:
cURL
curl -X GET /api/v1/ibans/available
If you receive a "available": false, the flow ends here.
Requirements the gnosis pay user must have:
  • Valid DOB
  • An active EURe Safe Account
  • KYC verified and approved
  • Residency in a supported country
  • First and last name defined (or name)
  • Valid location fields filled in (address1 , postalCode, city and country,none of these fields can be missing)
  • Nationality from a supported country (see allowed and restricted nationalities)

Enabling the IBAN Integration

1

Signing the Monerium message

Monerium requires a specific message to be signed by the User’s wallet. Use this endpoint get the exact message that needs to be signed:
cURL
curl -X GET /api/v1/ibans/signing-message
We cannot request new IBANs nor transfer existing IBANs until the message signature is completed. This signature is a mandatory requirement from Monerium to verify ownership of the address.
2

Sign the Message with the User's Wallet

Use the message string returned from step 1 to generate a signature with the user’s wallet.To request signature from the User’s wallet, you can follow this demo signature implementation.
3

Request the IBAN from Monerium

Make a POST request to endpoint to request IBAN integration for Gnosis Pay user:
cURL
curl --request POST \
  --url https://api.gnosispay.com/api/v1/integrations/monerium \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "signature": "<string>"
}'
If the request is successful, you will receive a response with the IBAN details.
Monerium only allows the user to have one single account with them. If monerium account already exists, then there is no need to call this endpoint. In such cases, users can grant access to their existing Monerium account using the Monerium API directly.
4

Get the IBAN number, BIC, Status and Connected Blockchain Address where funds are sent

You should monitor this endpoint until you see a status of ASSIGNED:
cURL
curl -X GET /api/v1/ibans/details

Message Signing Example with Viem

This is an example script to generate a signature from an EOA wallet address that is an owner of GP Safe and will be linked to Monerium profile.

Example Usage

import { createWalletClient, http } from 'viem';
import { gnosis } from 'viem/chains';
import { privateKeyToAccount } from 'viem/accounts';

// Initialize wallet client with private key
const account = privateKeyToAccount('0x...' as `0x${string}`);
const walletClient = createWalletClient({
  account,
  chain: gnosis,
  transport: http()
});

// Get the message to sign from the API
const message = "I hereby declare that I am the address owner.";

// Sign the message directly with EOA
const signature = await walletClient.signMessage({
  message
});

console.log('Signature:', signature);
console.log('Signer address:', account.address);
Note:
  • The message can be fetched from the API using GET /api/v1/ibans/signing-message
  • The signature can be submitted to prove ownership
  • Make sure to use the correct chainId (100 for Gnosis Chain)