Skip to main content

Anchors

Overview

An anchor is a Stellar-specific term for the on and off-ramps that connect the Stellar network to traditional financial rails, such as financial institutions or fintech companies. Anchors accept deposits of fiat currencies (such as the US dollar, Argentine peso, or Nigerian naira) via existing rails (such as bank deposits or cash-in points), then sends the user the equivalent digital tokens on the Stellar network. The equivalent digital tokens can either represent that same fiat currency or another digital token altogether. Alternatively, anchors allow token holders to redeem their tokens for the real-world assets they represent.

Stellar has anchor services operating worldwide. View the Anchor Directory for more information on existing Stellar anchors.

Anchors can issue their own assets on the Stellar network, or they can honor assets that already exist.

You can set up an anchor by using the SDF-maintained Anchor Platform, which is the easiest way to deploy an anchor service compatible with Stellar Ecosystem Proposals (SEPs).

Learn how to integrate anchor services into your blockchain-based application by viewing the Build Apps section. If you’re looking specifically for MoneyGram Access, see the Integrate with MoneyGram Access tutorial.

Stellar Ecosystem Proposals (SEPs)

Stellar is an open-source network that is designed to interoperate with traditional financial institutions, various types of assets, and other networks. Network participants implement Stellar Ecosystem Proposals (SEPs) to ensure they can interoperate with other products and services on the network. SEPs are publicly created, open-source documents that live in a GitHub repository and they define how anchors, asset issuers, applications, exchanges, and other service providers should interact and interoperate.

Read more about SEPs in the SEPs section.

For anchors, the most important SEPs are SEP-6: Programmatic Deposit and Withdrawal, SEP-24: Hosted Deposit and Withdrawal, and SEP-31: Cross Border Payments API. You’ll also work with SEP-10: Stellar Authentication, SEP-12: KYC API, and SEP-38: Anchor RFQ API.

Using SEP-6: Programmatic Deposit and Withdrawal versus SEP-24: Hosted Deposit and Withdrawal

A user typically must decide whether they want to set up an anchor using SEP-6: Programmatic Deposit and Withdrawal or SEP-24: Hosted Deposit and Withdrawal. Here are the differences and what to consider when choosing one or the other.

SEP-6: Programmatic Deposit and Withdrawal

Defines the standard way for anchors and wallets to interact on behalf of users. With this SEP’s guidance, wallets and other clients can interact with anchors directly without the user needing to leave the wallet to go to the anchor’s site. With SEP-6, the client collects KYC information from the user.

Wallets (clients) must take into consideration when using SEP-6:

  • Clients must collect KYC information they may not need
  • Clients must know what information to collect per-anchor
  • Clients must send the information in a standardized format (SEP-12: KYC API)
  • Anchors must receive the information via SEP-12’s API

SEP-24: Hosted Deposit and Withdrawal

Defines the standard way for anchors and wallets to interact on behalf of users interactively. This means that the user’s application must open a webview hosted by a third-party anchor for the user to provide the information necessary to complete the transaction. With SEP-24, the anchor collects KYC information from the user.

Wallets (clients) must take into consideration when using SEP-24:

  • Clients don’t have to collect the anchor’s required KYC information
  • Clients & anchors don’t have to implement SEP-12: KYC API
  • Anchors must create a UI to be rendered by many clients
  • Clients must allow anchors to temporarily control UX