Skip to main content
Stellar is a decentralized payment network designed for fast, low-cost cross-border transactions. This guide covers Stellar-specific features when using Dfns wallets.

Account activation

On Stellar, a wallet address must be activated before it can receive assets or participate in the network. Activation requires funding the account with native XLM. When sending to a new Stellar address, use the Transfer Asset endpoint with createDestinationAccount: true to create the account if it doesn’t exist.
If you send to an unactivated account without createDestinationAccount: true, the transaction will fail.

Receiving non-native assets (Creating trustlines)

Before a Stellar wallet can receive a non-native asset (like USDC), it must establish a trustline to that asset. This is a Stellar network requirement - without a trustline, the wallet cannot hold or receive the asset.
Learn more about trustlines in the Stellar documentation.
Use the Broadcast API with a changeTrust operation. To remove a trustline and reclaim the reserve, set the limit to 0 (the asset balance must be 0 first). See the Stellar broadcast examples for complete implementation details.

Reserve requirements

Stellar accounts must maintain a minimum balance to stay active:
RequirementAmount
Base reserve0.5 XLM
Per trustline0.5 XLM
Per offer0.5 XLM
Per signer0.5 XLM
For example, an account with 3 trustlines must maintain at least 2 XLM (0.5 base + 3 × 0.5 trustlines).
You can reclaim trustline reserves by removing trustlines for assets you no longer hold.

Transfers

Use the Transfer Asset endpoint for all Stellar transfers:
  • Native XLM: Use kind: Native with amount in stroops (1 XLM = 10,000,000 stroops)
  • Stellar assets: Use kind: Sep41 with the assetCode iand issuer
  • Memo: Stellar supports an optional memo field, commonly used by exchanges for deposit identification

Fee sponsorship

Stellar supports fee payers, allowing a separate account to pay transaction fees. This is useful for onboarding users who don’t yet have XLM. A fee-sponsored transaction is wrapped in an envelope that includes:
  1. The inner transaction (signed by the source account)
  2. The fee payer’s signature
The fee payer receives the transaction, adds their signature and fee, then submits it to the network.
Fee sponsorship on Stellar requires building custom transaction envelopes using the Stellar SDK and the Broadcast API.

SDK integration

For full transaction control, use the Dfns SDK with stellar-sdk. See the Stellar integration example.