Skip to main content

Architecture

Architecture Overview

Before starting with the Anchor Platform, let's get familiar with the overall architecture. This section will describe the components involved and how they interact.

anchor platform architecture

Components

Client

The client is an application, such as a wallet or remittance sender, that acts on behalf of a user and makes requests to the system. Clients make requests to the SEP server component of the Anchor Platform using sets of standards called SEPs (Stellar Ecosystem Proposals).

SEP Server

The SEP server is a client-facing server and therefore needs to be accessible from an external network. The SEP server processes user requests and manages the state of transactions they initiate. When the SEP server needs to provide information it doesn't have to the client, such as the exchange rate for an asset pair, it makes synchronous callback requests to the Business Server.

Some SEP requests are designed for a client to fetch business-related data, such as quotes or fees. Because it's business-driven, the SEP server will create a request to your server, passing information back to the client. It will also transform the response into a SEP-compliant format. Note that your server only needs to implement endpoints required by the particular SEP you would like to support.

note

The SEP server will never store any sensitive information, such as KYC (PII), in the database.

Database

The Anchor Platform uses a PostgreSQL database to store Stellar events and entities. Its primary use is to store SEP (24 & 31) transactions.

Platform Server

The platform server is an internal component. It should be hosted in a private network and should not be accessible from the Internet. This server enables the business to fetch and update the state of transactions using its API.

Stellar Observer

tip

This component is optional and may be replaced by your own implementation.

The Stellar observer monitors the Stellar blockchain, automatically detects user payments sent to the business, and updates corresponding SEP transaction statuses.

Business Server

Finally, the business server is a server that you (the business) must implement to fully support most of the SEPs offered by the Anchor Platform. The business server responds to callback requests sent by the Anchor Platform (such as requesting a quote for SEP-38) and provides updates to the Anchor Platform when off-chain events occur (like completing a bank transfer).

Future architecture

caution

This diagram is only meant to show the planned architecture. Changes in future versions may be different from the diagrams provided.

future anchor platform architecture

New Components

Event Service

The event service is a new component that will push events to both the client and business via HTTP webhooks.

Custody Server

The custody server is a new component that allows businesses to connect to a custodial service (such as Fireblocks) to send and receive payments on the Stellar network. When used in self-custodial mode, this service is a next generation of the existing Stellar Observer.