diff --git a/account/adding-safe-owner.mdx b/account/adding-safe-owner.mdx deleted file mode 100644 index 49b5d5e..0000000 --- a/account/adding-safe-owner.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: "Managing Safe Ownership" -description: "Add a new owner to a Gnosis Pay Safe Account" ---- - -Adding a new owner to a Gnosis Pay Safe registers that account as a **Delay Module owner**. -Only Delay Module owners can approve and execute on-chain transactions. - - -**Important distinction:** -- **Authenticated wallets** are linked to a Gnosis Pay user for API access (via SIWE and JWT). -- **Safe owners (Delay Module owners)** are accounts explicitly added on-chain to the Safe. -Authenticated wallets do **not** become Safe owners unless they are also as owners for the safe. - - -This guide walks through the process of adding an additional Safe owner. Once complete, the new owner will be able to approve and execute transactions through the Delay Module. - - - - Follow the [authentication flow](https://docs.gnosispay.com/auth) to obtain a JWT token for the Gnosis Pay user. - - - - Call [this endpoint](https://docs.gnosispay.com/api-reference/safe-owners/get-typed-data-for-adding-a-new-safe-owner) to receive the typed data. - Sign the typed data with the current Safe owner’s key to produce a signature. - - ```bash - curl --request GET \ - --url https://api.gnosispay.com/api/v1/owners/add/transaction-data \ - --header "Authorization: Bearer " - ``` - - - - Send the new owner’s address, the signature, and the signed message to [this endpoint](https://docs.gnosispay.com/api-reference/safe-owners/add-a-new-owner-to-the-safe). - - ```bash - curl --request POST \ - --url https://api.gnosispay.com/api/v1/owners \ - --header "Authorization: Bearer " \ - --header "Content-Type: application/json" \ - --data '{ - "newOwner": "0x3270bf32AB647e90eF94A026c70Aa1daaaDA2382", - "signature": "0x1234567890abcdef...", - "message": { - "salt": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", - "data": "0xa9059cbb0000000000000000000000003270bf32ab647e90ef94a026c70aa1daaaada2382" - } - }' - ``` - The operation is processed through the Delay Relay and executes after a 3-minute delay. - - - - Confirm that the new owner was added to the Delay Module by checking the [Safe’s owner list](https://docs.gnosispay.com/api-reference/safe-owners/get-the-list-of-safe-owners). - - ```bash - curl --request GET \ - --url https://api.gnosispay.com/api/v1/owners \ - --header "Authorization: Bearer " - ``` - - diff --git a/account/index.mdx b/account/index.mdx deleted file mode 100644 index 7bfb23d..0000000 --- a/account/index.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Accounts on Gnosis Pay" -description: "How the Gnosis Pay Safe works" ---- - -When a user signs up for Gnosis Pay, a new **Gnosis Pay Safe** a smart contract wallet is created on-chain. -This Safe holds the user’s funds and is controlled only by its **owners**. - -A Gnosis Pay Safe owner can be either: -- an **EOA (Externally Owned Account)**, or -- another **smart wallet** (e.g. a Safe) whose owners may use passkeys, EOAs, or other signers. - -Funds in a Gnosis Pay Safe are never held by Gnosis Pay or any third party; ownership and control remain entirely with the Safe owners. - - - - - ---- - -## Authenticating sessions with wallets - -To access the Gnosis Pay dashboard or APIs, a wallet must authenticate using [Sign-In With Ethereum (SIWE)](https://docs.login.xyz/). -After SIWE, a JWT token is issued and used to authorize API calls (e.g. ordering cards, fetching user info, or linking additional authenticated wallets). - -Authenticated wallets are used **only for login and API sessions**. They do not perform on-chain actions and may or may not overlap with the Safe owners. - - -The first wallet connected during setup is automatically registered as both an **authenticated wallet** and the **initial Safe owner** (via the Delay Module). - - -Follow the guide on [adding an authenticated wallet](account/update-authenticated-account) for step-by-step instructions. - ---- - -## Safe Smart Account - -Each Gnosis Pay user is assigned a **Safe Smart Account**, a self-custodied smart contract wallet deployed on Gnosis Chain (L1). -Currently, a new Safe is deployed for every user. Support for connecting an existing Safe multisig is planned. - -### What is a smart contract wallet? - -Smart contract wallets are contracts that manage assets on-chain with programmable rules. -They enable advanced security and automation beyond EOAs. - -[Safe](https://safe.global/) is the leading smart contract wallet, securing over $70B in assets. - -### Exploring the Safe setup - -Users can view their Safe configuration in the [Safe web app](https://app.safe.global/) via the Zodiac app: - -1. Open the Gnosis Pay Dashboard. -2. Click **“View all transactions here”** to open the Safe web app. -3. In the sidebar, select **Applications**. -4. Search for **Zodiac**. - -The **Roles Module** and **Delay Module** are open-source contracts licensed under LGPL 3.0. - ---- - -## Modules - -Modules extend Safe functionality with custom logic. -In Gnosis Pay, modules enforce spending rules and transaction flows while keeping user funds in self-custody. - -These modules follow the [Zodiac standard](https://gnosisguild.org/zodiac/) developed by Gnosis Guild. - ---- - -## Roles Module - -The Roles Module enforces which actions Gnosis Pay can perform on behalf of the user. It defines: - -1. **Token used** → which token Gnosis Pay can spend. -2. **Daily limit** → maximum amount spendable per day. -3. **Recipient address** → destination for allowed transfers (e.g. the issuer’s settlement Safe). -4. **Role delegation** → assigns these permissions to Gnosis Pay. - -Only Safe owners can update these rules. -For example, a user may adjust the daily spending limit at any time. - ---- - -## Delay Module - -The Delay Module enforces a **3-minute delay** for all non-card transactions (e.g. transfers, deposits). -This ensures funds remain available for card payments and prevents race conditions. - - -During the 3-minute delay, the card is paused if any non-card transactions are pending. - - -The Delay Module also ensures the user’s EOA retains ultimate control. -During activation, the EOA becomes an indirect Safe owner via the Delay Module. - -⚠️ Reconfiguring or removing the Delay Module may prevent Gnosis Pay from functioning properly. - ---- - -## What happens if I lose access to my EOA Wallet? - -If you’ve forgotten the password to your EOA Wallet, you can regain access using its seed phrase. - - -However, if you’ve lost access to the seed phrase and cannot regain access to the EOA, you will also lose access to the Safe if it’s the only owner. - - -**To mitigate this risk, consider using a [Safe](https://safe.global/) with multiple owners instead of an EOA.** \ No newline at end of file diff --git a/account/update-authenticated-account.mdx b/account/update-authenticated-account.mdx deleted file mode 100644 index 347b59d..0000000 --- a/account/update-authenticated-account.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Adding a new wallet for authentication" -description: "Link an additional wallet address to a Gnosis Pay user" ---- - -A Gnosis Pay user can have multiple authenticated wallets attached to their account. -Authenticated wallets are used to sign in via SIWE and to start new API sessions. - - - - Follow the [authentication flow](https://docs.gnosispay.com/auth) to obtain a JWT token for the Gnosis Pay user. - - - - Make a POST call to [this endpoint](https://docs.gnosispay.com/api-reference/account-management/create-a-new-eoa-account-for-the-current-user) with the address to add. - - ```bash - curl --request POST \ - --url https://api.gnosispay.com/api/v1/eoa-accounts \ - --header "Authorization: Bearer " \ - --header "Content-Type: application/json" \ - --data '{ - "address": "0x1234567890abcdef1234567890abcdef12345678" - }' - ``` - - - - Call the [list accounts endpoint](https://docs.gnosispay.com/api-reference/account-management/retrieve-the-eoa-accounts-for-the-current-user). - The new address should appear in the response. - - ```bash - curl --request GET \ - --url https://api.gnosispay.com/api/v1/eoa-accounts \ - --header "Authorization: Bearer " - ``` - - - - -- Adding an **authenticated wallet** only links it to a Gnosis Pay user for login and API sessions. -- An authenticated wallet is **not automatically a Safe owner**. -- Only Safe owners (EOAs or smart wallets added to the Safe) can interact with the Delay Module or execute on-chain actions. -- Authenticated wallets can use the API (e.g. place card orders, fetch user info) but **cannot control funds** unless also added as Safe owners. - diff --git a/api-reference/auth-app.mdx b/api-reference/auth-app.mdx deleted file mode 100644 index 8949e78..0000000 --- a/api-reference/auth-app.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Authentication Helper App -description: Use this app to generate and sign a message using your ethereum wallet. ---- - -export const AuthApp = () => { - return ( -
-
-