# Gnosis Pay ## Docs - [Introduction to Gnosis Pay](https://gnosispay-feat-v2-docs.mintlify.site/concepts/intro.md): Stablecoin card-as-a-service infrastructure for wallets, neobanks, exchanges, and payment processors - [Why Build with Gnosis Pay](https://gnosispay-feat-v2-docs.mintlify.site/concepts/whybuild.md): What you get as a partner from user onboading to launching a full fledged card program - [Gnosis Pay Architecture](https://gnosispay-feat-v2-docs.mintlify.site/concepts/architecture.md): How onboarding, spending, and settlement flow through Gnosis Pay - [Authentication & Token Management](https://gnosispay-feat-v2-docs.mintlify.site/concepts/auth/token.md): Understanding SIWE auth, and how access/refresh tokens work - [KYC Overview](https://gnosispay-feat-v2-docs.mintlify.site/concepts/kyc/kyc-overview.md): How identity verification works on Gnosis Pay, and what to expect during the process - [KYC Statuses](https://gnosispay-feat-v2-docs.mintlify.site/concepts/kyc/kyc-statuses.md): Every status a user's KYC application can be in, what it means, and how to communicate it - [Account Overview](https://gnosispay-feat-v2-docs.mintlify.site/concepts/accounts/account.md): Understanding what a Gnosis Pay account is and how spending limits work - [Account Status](https://gnosispay-feat-v2-docs.mintlify.site/concepts/accounts/account-status.md) - [GP Safe Account](https://gnosispay-feat-v2-docs.mintlify.site/concepts/safe/overview.md): Understanding Gnosis Pay Safe account architecture and modules - [Tokens and Chains Supported](https://gnosispay-feat-v2-docs.mintlify.site/concepts/safe/tokens-and-chains-supported.md): Supported chains and the tokens available for Gnosis Pay accounts on each - [Card Overview](https://gnosispay-feat-v2-docs.mintlify.site/concepts/card/overview.md): Understanding Gnosis Pay virtual cards, provisioning, and spending limits - [Card Decline Reasons](https://gnosispay-feat-v2-docs.mintlify.site/concepts/card/decline-codes.md): Every card decline code, the customer-facing message shown, and its technical cause - [Transaction Enrichment](https://gnosispay-feat-v2-docs.mintlify.site/concepts/card/transaction-enrichment.md): How raw card transactions get enriched with merchant name, logo, and location data - [Sandbox vs Production](https://gnosispay-feat-v2-docs.mintlify.site/guides/configuring-environment.md): Understanding the difference between the sandbox and production environments - [Authenticating with SIWE](https://gnosispay-feat-v2-docs.mintlify.site/guides/auth-with-siwe.md): Implement the SIWE-based authentication flow: retrieving, using, and rotating access and refresh tokens - [Onboard to Gnosis Pay](https://gnosispay-feat-v2-docs.mintlify.site/guides/onboarding.md): User onboarding using Gnosis Pay - [KYC Sharing with Sumsub](https://gnosispay-feat-v2-docs.mintlify.site/guides/kyc-sharing/pass-kyc.md): Generate a Sumsub share token to reuse a user's verified KYC identity with a partner - [Monerium IBAN Integration](https://gnosispay-feat-v2-docs.mintlify.site/guides/kyc-sharing/monerium.md): Share a user's verified KYC data with Monerium to enable IBAN issuance - [Manage Accounts](https://gnosispay-feat-v2-docs.mintlify.site/guides/accounts/manage-accounts.md): Retrieve account details and balance information for the authenticated user - [Account Daily Spending Limit](https://gnosispay-feat-v2-docs.mintlify.site/guides/accounts/limits.md): Get and set the daily spending limit for the authenticated user's account - [Account Statements](https://gnosispay-feat-v2-docs.mintlify.site/guides/accounts/account-statement.md): Retrieve account statements for users - [Onchain Instant Withdrawals](https://gnosispay-feat-v2-docs.mintlify.site/guides/accounts/onchain-withdrawal.md): Create request to withdraw funds onchain to wallet address - [Create Virtual Card](https://gnosispay-feat-v2-docs.mintlify.site/guides/cards/create-virtual.md): Create and manage virtual cards for users - [Card Daily Spending Limit](https://gnosispay-feat-v2-docs.mintlify.site/guides/cards/card-limit.md): Get and set the daily spending limit for a specific card - [Simulate Card Transactions](https://gnosispay-feat-v2-docs.mintlify.site/guides/cards/card-simulator.md): Simulate card transactions for testing purposes as part of the sandbox environment - [Partner Secure Elements (PSE)](https://gnosispay-feat-v2-docs.mintlify.site/guides/pse/pse.md): Display sensitive card information and manage PINs securely in your client application using PSE SDK (PSE version 3 with EIP-712 two-factor authentication). - [PSE Integration](https://gnosispay-feat-v2-docs.mintlify.site/guides/pse/pse-integration.md): Securely display and manage card data using the Gnosis Pay Payment Secure Elements (PSE) SDK - [Introduction to Webhooks](https://gnosispay-feat-v2-docs.mintlify.site/guides/webhooks/webhook.md): Step-by-step guide to set up and implement webhooks in your application with Partner Dashboard - [Webhook Events](https://gnosispay-feat-v2-docs.mintlify.site/guides/webhooks/webhook-events.md): Complete list of webhook events triggered in V2 - [Get Siwe message](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/auth/get-siwe-message.md): Retrieve the message that users need to Sign in with Ethereum (SIWE) - [Get Access Token](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/auth/get-access-token.md): Verify a signed SIWE message. Returns both a short-lived access token and a longer-lived refresh token in the response body. The client is responsible for storing the refresh token securely. - [Request Email Verification](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/auth/request-email-verification.md): Send a one-time password to the specified email address - [Refresh Access Token](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/auth/refresh-access-token.md): Exchange a valid refresh token for a new access token and rotated refresh token. The refresh token must be sent in the request body. - [Logout](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/auth/logout.md): Invalidate the current session by revoking all refresh tokens in the token family. The client is responsible for deleting the refresh token from its storage. - [Get Current User](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user/get-current-user.md): Get the current authenticated user from the database - [Register User](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user/register-user.md): Register a new user with email OTP verification and create a profile. You receive a new JWT access token with user id that you can use to authenticate requests to the API. Optionally provide a shareToken for Sumsub reusable KYC. - [Get Onboarding Status](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user/get-onboarding-status.md): Get the current onboarding status for the authenticated user. Returns a tagged union indicating the current step and any required actions. - [List Available Terms](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/terms/list-available-terms.md): Get all available terms types with current versions (requires wallet authentication) - [Get User Terms Status](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/terms/get-user-terms-status.md): Get the authenticated user's terms acceptance status - [Accept Terms](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/terms/accept-terms.md): Accept one or more terms types and versions - [Get SOF Questions](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/source-of-funds/get-sof-questions.md): Get the Source of Funds questionnaire questions and answer options - [Submit SOF Answers](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/source-of-funds/submit-sof-answers.md): Submit answers to the Source of Funds questionnaire - [Get Phone Number](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/phone/get-phone-number.md): Returns the user's phone number if at least one card was created. - [Set Phone Number](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/phone/set-phone-number.md): Sets the user's phone number. Creates a cardholder if the user does not have one yet. - [Update Phone Number](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/phone/update-phone-number.md): Updates the user's phone number on their existing cardholder record. Returns 404 if the user has no cardholder yet — this method never creates one. - [Request Phone Verification](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/phone/request-phone-verification.md): Send a one-time code to prove ownership of a phone number. - [Get Account](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-account/get-account.md): Get the account details for the authenticated user. - [Create Account](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-account/create-account.md): Create an account for the authenticated user. - [Get Account Daily Spending Limit](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-account/get-account-daily-spending-limit.md): Returns the daily spending limit configured on the authenticated user's account. `amount` is in the currency's smallest unit, for USD that means cents (e.g. `1000` = $10.00, `1000000` = $10,000.00). `syncStatus` indicates whether the most recent update has been applied. Once synced, this is a cumula… - [Set Account Daily Spending Limit](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-account/set-account-daily-spending-limit.md): Sets the daily spending limit for the authenticated user's account. `amount` is in the currency's smallest unit — for USD that means cents, so to set a $10.00 limit send `1000`, and the maximum allowed value `1000000` corresponds to $10,000.00. Must be in (0, 1,000,000]. Only USD is currently accept… - [Create Virtual Card](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/cards/create-virtual-card.md): Create a virtual card for the authenticated user. Virtual cards are issued instantly and can be used for online transactions. If the user does not yet have a cardholder, one is created automatically using the provided phone number (required for first card creation). - [List Cards](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/cards/list-cards.md): List all cards for the authenticated user. Returns both virtual and physical cards. Returns an empty list if no cardholder has been created yet. - [Get Card Daily Spending Limit](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/cards/get-card-daily-spending-limit.md): Returns the daily spending limit configured on a card. `amount` is in the currency's smallest unit, for USD that means cents (e.g. `1000` = $10.00, `1000000` = $10,000.00). The card must belong to the authenticated user. Once synced, this is a cumulative spending limit, not a per-transaction cap: an… - [Set Card Daily Spending Limit](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/cards/set-card-daily-spending-limit.md): Sets the daily spending limit for a card. `amount` is in the currency's smallest unit - for USD that means cents, so to set a $10.00 limit send `1000`, and the maximum allowed value `1000000` corresponds to $10,000.00. Must be in (0, 1,000,000]. Only USD is currently accepted. The card must belong t… - [Block Card](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/cards/block-card.md): Blocks a card temporarily. A blocked card cannot be used for transactions. Use unblock to restore access. The card must belong to the authenticated user's cardholder. - [Unblock Card](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/cards/unblock-card.md): Unblocks a previously blocked card. Restores the card to active status, allowing transactions again. The card must belong to the authenticated user's cardholder. - [Cancel Card](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/cards/cancel-card.md): Cancels a card permanently. Once canceled, the card cannot be reactivated. A new card must be issued. The card must belong to the authenticated user's cardholder. - [Get Account Balances (v2)](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-movements/get-account-balances-v2.md): Returns the authenticated user's account balances. Spendable excludes dust and processingWithdrawals is exposed at the currency level. Each currency row includes a per-token breakdown. - [Get User Deposits](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-movements/get-user-deposits.md): Returns the authenticated user's deposit history, including amount, currency, status, and creation date. - [Get Account Statement](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-movements/get-account-statement.md): Returns a chronological list of all financial movements for the authenticated user's account, including card transactions (both pending and settled), deposits, and withdrawals. - [Create Withdrawal](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-movements/create-withdrawal.md): Create a withdrawal request for the authenticated user. Requires an existing account. - [Get User Withdrawals](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/user-movements/get-user-withdrawals.md): Returns the authenticated user's withdrawal history, including amount, currency, status, and creation date. - [Generate KYC Applicant Share Token](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/kyc/generate-kyc-applicant-share-token.md): Generate a temporary Sumsub share token for the authenticated user's KYC applicant. Pass the token to the named Sumsub recipient to reuse the applicant's verified identity data. - [Get PCI EIP-712 Challenge](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/pci/get-pci-eip-712-challenge.md): Issues a one-time EIP-712 challenge. The response is a complete typed-data object that can be passed directly to signTypedData (convert message.nonce to BigInt first). After signing, forward the hex signature as x-eip712-signature and the nonce as x-eip712-nonce on the subsequent PCI data request. T… - [Get Card Details](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/pci/get-card-details.md): Returns the card PAN and CVV encrypted under a client-provided AES session key (expiration date in plaintext). The caller RSA-OAEP encrypts a one-time AES-256 session key with the PCI public key and passes it as `encryptedKey`; the EIP-712 signature over a prior `view-details` challenge is passed vi… - [Get Card PIN](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/pci/get-card-pin.md): Returns the card PIN encrypted under a client-provided AES session key. The caller RSA-OAEP encrypts a one-time AES-256 session key with the PCI public key and passes it as `encryptedKey`; the EIP-712 signature over a prior `view-pin` challenge is passed via the `x-eip712-signature` / `x-eip712-nonc… - [Set Card PIN](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/pci/set-card-pin.md): Sets the card PIN. The caller encrypts the new PIN (in PIN Block 2 format) with an AES session key, then RSA-OAEP encrypts the session key with the PCI public key. The EIP-712 signature over a prior `change-pin` challenge is passed via the `x-eip712-signature` / `x-eip712-nonce` headers. Proxied to… - [Get PCI Public Key](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/pci/get-pci-public-key.md): Returns the RSA public key (Base64-encoded DER SPKI) used to encrypt AES session keys. The client uses this key to RSA-OAEP encrypt a one-time AES-256 session key before requesting encrypted card details. The key is fetched from partner-api over HTTP. - [Health check endpoint](https://gnosispay-feat-v2-docs.mintlify.site/api-reference/health/health-check-endpoint.md): Check if the service is running and get basic system information - [Migrating to new Gnosis Pay APIs](https://gnosispay-feat-v2-docs.mintlify.site/migration/migration-overview.md): Overview of the differences between Gnosis Pay's old and new infrastructure, only applicable to old Partners integrating new APIs - [Changelog](https://gnosispay-feat-v2-docs.mintlify.site/changelog/index.md): New features, improvements, and fixes for Gnosis Pay ## OpenAPI Specs - [openapi](https://core.prod.gnosispay.com/user-api/openapi.json)