Skip to content

feat: add Ethena assets - #111

Merged
yripper merged 3 commits into
soroswap:mainfrom
lucas-ethena:ethena-assets
Oct 15, 2026
Merged

yripper merged 3 commits into
soroswap:mainfrom
lucas-ethena:ethena-assets

Conversation

@lucas-ethena

@lucas-ethena lucas-ethena commented Oct 14, 2026 •

Copy link
Copy Markdown

Token submission

Token: USDE, SUSDE and ENA by Ethena
Contract:
usde: CCNOV6XVI2O5BSTA3232GIRUQULDEBV7IWGKM6QKI6II5OIIQTU24JJN
susde: CACSKWC753QVGC4J6YPDBIR2BEHFVWIAE7CBSS3HOVYMN623OAIQYE2M
ena: CDAJNVEB7AC5DOSXEGRYY65D2HKVUKZYGY4ZXB2T4RTVL4BWBOAOLYIA
Issuer: GDJ5BNU5NN6NQ54D7OX6NQTUYNBZ42CAT33QGM5BIQ2QIYADAC5ICH47

Checklist

  • This PR adds or edits exactly one file, assets/<CONTRACT_ADDRESS>.json, named after the token's Soroban contract address.
  • It does not touch tokenList.json (CI regenerates it after merge) or any other file.
  • name and org are filled in, and code, issuer, contract, domain, icon and decimals match the asset's stellar.toml.
  • domain is the bare domain (no https://) and is the same as the issuer account's on-chain home_domain.
  • icon is a public URL that returns an image, or an IPFS CID.
  • yarn && yarn verify passes locally.
  • I represent the organization issuing this token, or I have linked below where they asked for this listing.

Asset type

  • Stellar classic asset: contract is the Stellar Asset Contract derived from code and issuer.
  • Custom Soroban token (no issuer): link the contract source code and any audit below.

Notes for reviewers


Maintainer change

@yripper

yripper commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Hi @lucas-ethena, thanks for the submission! We confirmed that the three contract addresses are the correct Stellar Asset Contracts for USDE, SUSDE and ENA issued by GDJ5BNU5NN6NQ54D7OX6NQTUYNBZ42CAT33QGM5BIQ2QIYADAC5ICH47.

CI is failing for two reasons, and both need a change on your side:

1. The issuer has no home_domain set (USDE, SUSDE, ENA)

Our verifier ties a listing to its organization by comparing the issuer account's on-chain home_domain with the domain in the asset file. Right now the issuer has no home domain, so the check fails with expected undefined, got ethena.fi.

Please set it with a set_options operation on the issuer. Because of the account's current thresholds, it needs 4 of the 7 signers:

set_options: home_domain = "ethena.fi"

2. Publish a stellar.toml at https://ethena.fi/.well-known/stellar.toml

That URL currently returns 404. Wallets and explorers read token metadata from this file, and our listing checklist requires the asset files to match it. Per SEP-1, serve it with Access-Control-Allow-Origin: *. A minimal version:

ACCOUNTS = ["GDJ5BNU5NN6NQ54D7OX6NQTUYNBZ42CAT33QGM5BIQ2QIYADAC5ICH47"]

[DOCUMENTATION]
ORG_NAME = "Ethena"
ORG_URL = "https://ethena.fi"

[[CURRENCIES]]
code = "USDE"
issuer = "GDJ5BNU5NN6NQ54D7OX6NQTUYNBZ42CAT33QGM5BIQ2QIYADAC5ICH47"
name = "USDe"
display_decimals = 7
image = "https://gateway.pinata.cloud/ipfs/QmR1aVRkbXUBQoXDeQvQcM52EG4DuC63crziQpaBVmjGfR"

[[CURRENCIES]]
code = "SUSDE"
issuer = "GDJ5BNU5NN6NQ54D7OX6NQTUYNBZ42CAT33QGM5BIQ2QIYADAC5ICH47"
name = "Staked USDe"
display_decimals = 7
image = "https://gateway.pinata.cloud/ipfs/QmTQsoQenmJoc7ArBzkeAtoFCEV4W3ghPjTBcEqc7Ftn3m"

[[CURRENCIES]]
code = "ENA"
issuer = "GDJ5BNU5NN6NQ54D7OX6NQTUYNBZ42CAT33QGM5BIQ2QIYADAC5ICH47"
name = "Ethena"
display_decimals = 7
image = "https://gateway.pinata.cloud/ipfs/QmeAUc2SpxYXkMZPTrNtLabktChsMRqoj9PGQdeiCyXyrC"

3. ENA: update name in the JSON file

In our list, name is a display label, separate from the asset code, and it must be 4–30 characters. The code ENA itself is fine and stays as is. Please change "name": "ENA" to something like "Ethena" in assets/CDAJNVEB7AC5DOSXEGRYY65D2HKVUKZYGY4ZXB2T4RTVL4BWBOAOLYIA.json.

When the home domain is set, push any commit (or re-run the workflow) and CI will re-verify. Thanks!

@lucas-ethena

Copy link
Copy Markdown
Author

@yripper thank you for the review.

As there are additional operations and steps we must go through on our side for the domain, I removed it for the time being as it seems optional, I see USDT0 doesn't define one for example.

Regarding the comment 3. Is min 4 character a hard requirement? The ENA ERC20 token name is actually ENA so I believe it would be a better fit.

@yripper
yripper merged commit 5e53c9c into soroswap:main Oct 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants