diff --git a/pages/advanced/_meta.json b/pages/advanced/_meta.json index af2e36fe..200417d0 100644 --- a/pages/advanced/_meta.json +++ b/pages/advanced/_meta.json @@ -14,13 +14,6 @@ "smart-account-supported-networks": "Supported Networks", "smart-account-audits": "Audits", "smart-account-bug-bounty": "Bug Bounty", - "-- Safe{Core} API Infrastructure": { - "type": "separator", - "title": "Safe{Core} API Infrastructure" - }, - "api-overview": "Overview", - "api-safe-transaction-service": "Safe Transaction Service", - "api-new-networks": "Add New Networks", "-- Safe CLI": { "type": "separator", "title": "Safe CLI" diff --git a/pages/core-api/_meta.json b/pages/core-api/_meta.json index db79003c..d7909683 100644 --- a/pages/core-api/_meta.json +++ b/pages/core-api/_meta.json @@ -3,9 +3,16 @@ "title": "← Go Home", "href": "/" }, - "-- Safe Transaction Service API": { + "-- Safe{Core} Infrastructure": { "type": "separator", - "title": "Safe Transaction Service API" + "title": "Safe{Core} Infrastructure" + }, + "api-overview": "Overview", + "api-safe-transaction-service": "Running the Safe Transaction Service", + "api-support-new-chains": "Support New Chains", + "-- Safe Transaction Service": { + "type": "separator", + "title": "Safe Transaction Service" }, "transaction-service-overview": "Overview", "transaction-service-supported-networks": "Supported Networks", diff --git a/pages/advanced/api-overview.md b/pages/core-api/api-overview.md similarity index 76% rename from pages/advanced/api-overview.md rename to pages/core-api/api-overview.md index e808b7d6..2b81bc6d 100644 --- a/pages/advanced/api-overview.md +++ b/pages/core-api/api-overview.md @@ -1,23 +1,29 @@ -# Service architecture +# Safe{Core} Infrastructure -The Safe{Core} infrastructure consists of the following services: +The Safe{Core} Infrastructure consists of the following services: -* [Safe Transaction Service](https://github.com/safe-global/safe-transaction-service): Keeps track of transactions related to Safe contracts (Python). -* [Safe Events Service](https://github.com/safe-global/safe-events-service): Handles Safe indexing events from the Transaction Service and delivers them as HTTP webhooks (NodeJS). +## Safe Transaction Service -Safe{Wallet} uses these services to offer functionality to end customers via the web and mobile applications. The [Safe Client Gateway](https://github.com/safe-global/safe-client-gateway-nest) acts as a facade between the end customer and the Safe{Core} services and the [Safe Config Service](https://github.com/safe-global/safe-config-service) stores all supported networks and chain-specific variables. +The Safe Transaction Service tracks transactions related to Safe contracts using tracing on Mainnet, Sepolia, and Gnosis Chain. It uses event indexing for the other chains. For each [supported network](./transaction-service-supported-networks.md) there is one instance of the Transaction Service. -Safe's production setup consists of several instances of the Transaction Service orchestrated by the Config Service, which are later consumed by the Safe Client Gateway. The Events Service notifies the Safe Client Gateway when new events are indexed, helping to improve the user experience. +- Learn about the [tech stack and how to run the service](./api-safe-transaction-service.mdx). +- Learn about the [Safe Transaction Service API](./transaction-service-overview.mdx). +- Check the [API Reference](./transaction-service-reference.mdx). +- Check the [GitHub repository](https://github.com/safe-global/safe-transaction-service) (Python). -![Overview of the backend services and their components.](../../assets/diagram-services.png) +## Safe Events Service -## Safe Transaction Service +The Events Service handles Safe indexing events and delivers them as HTTP webhooks, connection to the events queue processed by the Transaction Service. The service's database stores the configuration of webhook destinations. -The Transaction Service uses tracing in Mainnet/Sepolia and Gnosis Chain and event indexing in other chains to keep track of transactions related to Safe contracts. One instance of the Transaction Service runs per supported network (Mainnet, Sepolia, Gnosis Chain, Polygon, etc.). +- Check the [GitHub repository](https://github.com/safe-global/safe-events-service) (NodeJS). -## Safe Events Service +## Architecture + +Safe{Wallet} uses these services to offer functionality to end customers via the web and mobile applications. The [Safe Client Gateway](https://github.com/safe-global/safe-client-gateway-nest) acts as a facade between the end customer and the Safe{Core} services and the [Safe Config Service](https://github.com/safe-global/safe-config-service) stores all supported networks and chain-specific variables. -The Events Service connects to the events queue processed by the Transaction Service. It handles Safe indexing events and delivers them as HTTP webhooks. The service's database stores the configuration of webhook destinations. +Safe's production setup consists of several instances of the Transaction Service orchestrated by the Config Service, which are later consumed by the Safe Client Gateway. The Events Service notifies the Safe Client Gateway when new events are indexed, helping to improve the user experience. + +![Overview of the backend services and their components.](../../assets/diagram-services.png) ## Integration Flow for Safe{Wallet} and Safe{Core} diff --git a/pages/advanced/api-safe-transaction-service.mdx b/pages/core-api/api-safe-transaction-service.mdx similarity index 99% rename from pages/advanced/api-safe-transaction-service.mdx rename to pages/core-api/api-safe-transaction-service.mdx index f0eac901..d0152a3d 100644 --- a/pages/advanced/api-safe-transaction-service.mdx +++ b/pages/core-api/api-safe-transaction-service.mdx @@ -1,4 +1,4 @@ -# Safe Transaction Service +# Running the Safe Transaction Service The Safe Transaction Service tracks transactions sent via Safe contracts. It indexes these transactions using events (L2 chains) and tracing (L1 chains) mechanisms. diff --git a/pages/advanced/api-safe-transaction-service/_meta.json b/pages/core-api/api-safe-transaction-service/_meta.json similarity index 100% rename from pages/advanced/api-safe-transaction-service/_meta.json rename to pages/core-api/api-safe-transaction-service/_meta.json diff --git a/pages/advanced/api-safe-transaction-service/faq.md b/pages/core-api/api-safe-transaction-service/faq.md similarity index 100% rename from pages/advanced/api-safe-transaction-service/faq.md rename to pages/core-api/api-safe-transaction-service/faq.md diff --git a/pages/advanced/api-safe-transaction-service/rpc-requirements.md b/pages/core-api/api-safe-transaction-service/rpc-requirements.md similarity index 100% rename from pages/advanced/api-safe-transaction-service/rpc-requirements.md rename to pages/core-api/api-safe-transaction-service/rpc-requirements.md diff --git a/pages/advanced/api-new-networks.mdx b/pages/core-api/api-support-new-chains.mdx similarity index 99% rename from pages/advanced/api-new-networks.mdx rename to pages/core-api/api-support-new-chains.mdx index 5bc0266b..4975fac5 100644 --- a/pages/advanced/api-new-networks.mdx +++ b/pages/core-api/api-support-new-chains.mdx @@ -1,6 +1,6 @@ import { Steps } from 'nextra/components' -# Add New Networks +# Support New Chains Safe's vision is to make every web3 account a smart account. Therefore, we prioritize teams and chains building with smart accounts, especially if they push account abstraction (for example, ERC-4337/EIP-1271 adoption) with Safe (learn more [here](https://docs.safe.global/home/4337-safe)). diff --git a/pages/core-api/transaction-service-overview.mdx b/pages/core-api/transaction-service-overview.mdx index b61f942a..b2631901 100644 --- a/pages/core-api/transaction-service-overview.mdx +++ b/pages/core-api/transaction-service-overview.mdx @@ -4,9 +4,9 @@ import Reference from '../../assets/svg/reference.svg' # Safe Transaction Service API -The Safe Transaction Service API offers REST endpoints to keep track of transactions sent via Safe contracts. It also offers endpoints to send transactions to allow off-chain collecting of signatures or informing the owners about a pending transaction to be sent to the blockchain. +The Safe Transaction Service offers a REST API to track transactions sent via the Safe Smart Account. It also provides endpoints to send transactions, allow off-chain collecting of signatures, or informing the owners about a pending transaction to be sent to the blockchain. -We also offer the [API Kit](../sdk/api-kit), a TypeScript client for the Safe Transaction Service API in the Safe\{Core\} SDK. +Additionally, the Safe\{Core\} SDK provides the [API Kit](../sdk/api-kit), a TypeScript client for the Safe Transaction Service API. } title="Guides" href="./transaction-service-guides/transactions" /> @@ -15,4 +15,4 @@ We also offer the [API Kit](../sdk/api-kit), a TypeScript client for the Safe Tr ## Getting started -Are you new to our API and not sure where to get started? We recommend heading over to the guides on the [Safe Transaction Service API](../core-api/transaction-service-guides/transactions.mdx). +Are you new to our API and not sure where to get started? We recommend heading over to the [guides](../core-api/transaction-service-guides/transactions.mdx) on the Safe Transaction Service API. diff --git a/redirects.json b/redirects.json index e06a268e..c619c03e 100644 --- a/redirects.json +++ b/redirects.json @@ -391,47 +391,62 @@ }, { "source": "/safe-core-api", - "destination": "/advanced/api-service-architecture", + "destination": "/core-api/api-overview", "permanent": true }, { "source": "/api-service-architecture", - "destination": "/advanced/api-service-architecture", + "destination": "/core-api/api-overview", "permanent": true }, { "source": "/safe-core-api/service-architecture", - "destination": "/advanced/api-service-architecture", + "destination": "/core-api/api-overview", "permanent": true }, { "source": "/api-service-architecture", - "destination": "/advanced/api-service-architecture", + "destination": "/core-api/api-overview", + "permanent": true + }, + { + "source": "/advanced/api-service-architecture", + "destination": "/core-api/api-overview", "permanent": true }, { "source": "/safe-core-api/service-architecture/safe-transaction-service", - "destination": "/advanced/api-service-architecture/safe-transaction-service", + "destination": "/core-api/api-safe-transaction-service", "permanent": true }, { "source": "/api-service-architecture/safe-transaction-service", - "destination": "/advanced/api-service-architecture/safe-transaction-service", + "destination": "/core-api/api-safe-transaction-service", + "permanent": true + }, + { + "source": "/advanced/api-service-architecture/safe-transaction-service", + "destination": "/core-api/api-safe-transaction-service", "permanent": true }, { "source": "/safe-core-api/rpc-requirements", - "destination": "/advanced/api-safe-transaction-service/rpc-requirements", + "destination": "/core-api/api-safe-transaction-service/rpc-requirements", "permanent": true }, { "source": "/api-rpc-requirements", - "destination": "/advanced/api-safe-transaction-service/rpc-requirements", + "destination": "/core-api/api-safe-transaction-service/rpc-requirements", "permanent": true }, { "source": "/advanced/api-rpc-requirements", - "destination": "/advanced/api-safe-transaction-service/rpc-requirements", + "destination": "/core-api/api-safe-transaction-service/rpc-requirements", + "permanent": true + }, + { + "source": "/advanced/api-safe-transaction-service/rpc-requirements", + "destination": "/core-api/api-safe-transaction-service/rpc-requirements", "permanent": true }, { @@ -449,6 +464,16 @@ "destination": "/core-api/transaction-service-supported-networks", "permanent": true }, + { + "source": "/advanced/api-new-networks", + "destination": "/core-api/api-support-new-chains", + "permanent": true + }, + { + "source": "/core-api/api-new-networks", + "destination": "/core-api/api-support-new-chains", + "permanent": true + }, { "source": "/safe-core-aa-sdk/safe-apps", "destination": "https://github.com/safe-global/safe-apps-sdk",