Skip to content

Specifications for Stellar Account ​

Overview ​

This document outlines the technical specifications for setting up websites on xlm.sh using Stellar account Data Entries.

Record Types ​

xlm.sh supports two types of records that can be set using ManageDataOperation:

1. IPFS Records ​

  • Uses the key app.xlm_sh.ipfs
  • Value must be a valid IPFS CID
  • Examples:
    • bafybeifq2rzpqnqrsdupncmkmhs3ckxxjhuvdcbvydkgvch3ms24k5lo7q
    • QmPK1s3pNYLi9ERiq3BDxKa4XosgWwFRQUydHUtz4YgpqB

2. IPNS Records ​

  • Uses the key app.xlm_sh.ipns
  • Supports two formats:
    1. IPNS Public Keys
      • Example: k51qzi5uqu5dlvj2baxnqndepeb86cbk3ng7n3i46uzyxzyqj2xjonzllnv0v8
    2. DNSLink
      • Format: domain name with valid DNSLink TXT record
      • Example: ipfs.web.example.com

Implementation ​

Using ManageDataOperation ​

  1. IPFS Record Setup:
Operation: ManageDataOperation
Key: `app.xlm_sh.ipfs`
Value: [Your IPFS CID]
  1. IPNS Record Setup:
Operation: ManageDataOperation
Key: `app.xlm_sh.ipns`
Value: [Your IPNS key or DNSLink domain]

Verifying Your Configuration ​

After setting up your records, you can verify them using the Horizon API:

  1. For IPFS records:
GET https://horizon.stellar.org/accounts/{your_account_id}/data/app.xlm_sh.ipfs

The response will contain a base64-encoded value that you can decode to verify your record. For example:

json
{
  "value": "YmFmeWJlaWZxMnJ6cHFucXJzZHVwbmNta21oczNja3h4amh1dmRjYnZ5ZGtndmNoM21zMjRrNWxvN3E="
}

Decoding this base64 value will give you the actual record value.

  1. For IPNS records:
GET https://horizon.stellar.org/accounts/{your_account_id}/data/app.xlm_sh.ipfs

For DNSLink usage:

  1. Create a TXT record with name _dnslink.{your-domain}
  2. Set value to: dnslink=/ipfs/{your-CID}

Access Rules ​

  1. Website Access:

    • Format: {soroban_domain}.xlm.sh
  2. Record Precedence:

    • When both IPFS and IPNS records exist, IPFS takes priority

Domain Integration ​

To use a Soroban domain:

  1. Register a domain on Soroban Domains
  2. Set the domain's Address record to point to your Stellar Account ID
  3. Website will be accessible via {your_domain}.xlm.sh

Notes ​

  • All keys follow SEP-0018 namespace standards
  • Ensure proper formatting of CIDs and IPNS keys
  • Keep your Stellar account's Data Entries updated for website changes
  • Use ManageDataOperation to add, modify, or remove records