Skip to content

Conversation

@janewang
Copy link
Contributor

@janewang janewang commented Jan 7, 2026

No description provided.

@stellar-jenkins
Copy link

6 similar comments
@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

1 similar comment
@stellar-jenkins
Copy link

@janewang janewang requested a review from tomerweller January 12, 2026 19:43
@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

Copy link
Member

@leighmcculloch leighmcculloch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some thoughts inline, the main one being I think we are introducing the "classic" term here unnecessarily. This change looks like both a refactor and new information about SEP-57.

Copilot AI review requested due to automatic review settings January 23, 2026 19:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR rewrites the Stellar tokenization documentation page to present a broader comparison of tokenization models on Stellar: Classic Assets (with SAC), SEP-41 contract tokens, and regulated SEP-57 / ERC-3643 tokens. It adds a structured decision guide and comparison table to help issuers choose the appropriate model.

Changes:

  • Retitles and restructures the page around “Tokenization Model Comparison on Stellar”, replacing the previous binary “assets vs contract tokens” framing.
  • Adds detailed sections describing Classic Stellar Assets with SAC, SEP-41 contract tokens, and ERC-3643 / SEP-57 (T-REX) tokens, including strengths, tradeoffs, and recommended use cases.
  • Introduces a comparison table, decision guide, expanded SAC explanation, and additional reference links to SEPs and example implementations.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

1 similar comment
@stellar-jenkins
Copy link

@janewang janewang requested a review from a team January 23, 2026 22:05
@stellar-jenkins
Copy link

2 similar comments
@stellar-jenkins
Copy link

@stellar-jenkins
Copy link

Copy link
Contributor

@ElliotFriend ElliotFriend left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple tiny nitpicks, and a more significant question about the note at the bottom of the table.

great additions!!

| **Source Code** | [Built-in Stellar Asset Contract](https://github.com/stellar/rs-soroban-env/tree/main/soroban-env-host/src/builtin_contracts) | [OpenZeppelin Fungible Token reference](https://github.com/OpenZeppelin/stellar-contracts/tree/main/packages/tokens/src/fungible) | [OpenZeppelin T-REX (RWA token) reference](https://github.com/OpenZeppelin/stellar-contracts/tree/main/packages/tokens/src/rwa) |
| **Relevant SEPs** | [SEP-0001 (Stellar Info File)][sep-1] <br /><br /> [SEP-0014 (Dynamic Asset Metadata)][sep-14] <br /><br />[SEP-41 (Soroban Token Interface)][sep-41] | [SEP-41 (Soroban Token Interface)][sep-41] | [SEP-41 (Soroban Token Interface)][sep-41] <br /><br /> [SEP-0057 (T-REX / Token for Regulated EXchanges)][sep-57] |

_\* By assigning a smart contract (`C...` address) as the owner of a Stellar Asset Contract, balances and transfer rules can be fully managed within the contract. This removes the need for trustlines, as balances are hold in the contract storage._
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is true, as written. At least, it the way it reads to me feels inaccurate. This sounds like a G... account holding an asset wouldn't need a trustline if the asset's SAC has a C... address admin.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what @leighmcculloch had suggested

Copy link
Member

@leighmcculloch leighmcculloch Feb 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The admin can manage minting. In protocol 26 G accounts in contract land can also manage their own trust lines.

- Regulatory requirements for Real World Assets (RWAs)
- Interoperability with Ethereum ERC-3643

::::note Summary: TLDR
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
::::note Summary: TLDR
:::note[Summary: TLDR]

docusaurus admonitions titles use [] nowadays (source)

- SEP-41 Contract Tokens are ideal for DeFi and advanced tokenomics requiring full programmability.
- SEP-57 ERC-3643 Tokens are designed for regulated Real World Assets, offering on-chain compliance and identity with institutional-grade controls.

::::
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
::::
:::

three colons for these adomintions

Copy link
Member

@leighmcculloch leighmcculloch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some feedback inline.


- Stellar Assets (with built-in Stellar Asset Contract),
- [SEP-41][sep-41] Contract Tokens, and
- Regulated [SEP-57][sep-57] Tokens (Tokens for Regulated EXchanges / T-REX)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Regulated [SEP-57][sep-57] Tokens (Tokens for Regulated EXchanges / T-REX)
- [SEP-57][sep-57] T-REX Tokens for Regulated EXchanges


| Dimension | Stellar Asset (with SAC) | SEP-41 Contract Token | ERC-3643 (T-REX) |
| --- | --- | --- | --- |
| **Platform** | Stellar Ledger + Soroban | Soroban on Stellar | Soroban on Stellar |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wdyt?

Suggested change
| **Platform** | Stellar Ledger + Soroban | Soroban on Stellar | Soroban on Stellar |
| **Platform** | Stellar Operations + Soroban | Soroban on Stellar | Soroban on Stellar |

| Dimension | Stellar Asset (with SAC) | SEP-41 Contract Token | ERC-3643 (T-REX) |
| --- | --- | --- | --- |
| **Platform** | Stellar Ledger + Soroban | Soroban on Stellar | Soroban on Stellar |
| **Token Model** | Trustlines + native ops + SEP-41 via SAC | SEP-41 interface implemented by a smart contract, fully extensible | SEP-41 with extensible compliance logic |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| **Token Model** | Trustlines + native ops + SEP-41 via SAC | SEP-41 interface implemented by a smart contract, fully extensible | SEP-41 with extensible compliance logic |
| **Token Model** | Trustlines + Operations + SEP-41 via SAC | SEP-41 interface implemented by a smart contract, fully extensible | SEP-41 with extensible compliance logic |

| --- | --- | --- | --- |
| **Platform** | Stellar Ledger + Soroban | Soroban on Stellar | Soroban on Stellar |
| **Token Model** | Trustlines + native ops + SEP-41 via SAC | SEP-41 interface implemented by a smart contract, fully extensible | SEP-41 with extensible compliance logic |
| **Programmability** | ❌ Protocol-defined / SAC interface not updatable | ✅ Fully customizable | ✅ Fully customizable + compliance rules |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can shorten this to:

Suggested change
| **Programmability** | ❌ Protocol-defined / SAC interface not updatable | ✅ Fully customizable | ✅ Fully customizable + compliance rules |
| **Programmability** | ❌ Protocol-defined | ✅ Fully customizable | ✅ Fully customizable + compliance rules |

| **Token Model** | Trustlines + native ops + SEP-41 via SAC | SEP-41 interface implemented by a smart contract, fully extensible | SEP-41 with extensible compliance logic |
| **Programmability** | ❌ Protocol-defined / SAC interface not updatable | ✅ Fully customizable | ✅ Fully customizable + compliance rules |
| **Interaction Method** | Native ops (accounts) and contract calls (via SAC) | Contract calls | Contract calls |
| **Admin Control** | Protocol flags + optional admin via SAC | Custom contract logic | Built-in compliance and rule enforcement |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| **Admin Control** | Protocol flags + optional admin via SAC | Custom contract logic | Built-in compliance and rule enforcement |
| **Admin Control** | Issuer flags + optional admin via SAC | Custom contract logic | Built-in compliance and rule enforcement |

| **Programmability** | ❌ Protocol-defined / SAC interface not updatable | ✅ Fully customizable | ✅ Fully customizable + compliance rules |
| **Interaction Method** | Native ops (accounts) and contract calls (via SAC) | Contract calls | Contract calls |
| **Admin Control** | Protocol flags + optional admin via SAC | Custom contract logic | Built-in compliance and rule enforcement |
| **Identity Model** | Off-chain identity + optional contract logic | Programmable identity | Programmable identity with on-chain enforcement |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The off-chain identity piece isn't required if the admin is changed to a contract. So this is less true I think and not really a differentiator. In all cases the identity model can be programmable after initial setup.

| **Cost & Speed** | Very low (native ops) / Moderate (via SAC) | Moderate | Higher |
| **Ecosystem** | Stellar payments, DEX, and Soroban | Stellar DeFi & dApps / Interop with other L1s | Institutional DeFi / Interop with other L1s |
| **Trustline Required** | ✅ Yes\* | ❌ No | ❌ No |
| **Ledger Storage** | Blockchain ledger (trustlines)\* | Smart contract storage | Smart contract storage |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ledger storage is the same, I think the differentiator isn't ledger vs contract storage, because they are essentially the same both are on the same ledger, but instead the costs for the storage. And for rent and archives we should link to docs about them.

Suggested change
| **Ledger Storage** | Blockchain ledger (trustlines)\* | Smart contract storage | Smart contract storage |
| **Ledger Storage Fees/Expiry** | 0.5xlm per trustline, no expiry\* | Rent and Archives | Rent and Archives |


- **Stellar Asset** Held in trustlines and transferred via payment operations.

- **Built-in Smart Contract (Stellar Asset Contract)** A [Stellar Asset Contract (SAC)][sac] can optionally be deployed to a contract address for the asset, implementing the SEP-41 token interface so the asset can be used in smart contracts.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Built-in Smart Contract (Stellar Asset Contract)** A [Stellar Asset Contract (SAC)][sac] can optionally be deployed to a contract address for the asset, implementing the SEP-41 token interface so the asset can be used in smart contracts.
- **Built-in Smart Contract (Stellar Asset Contract)** A [Stellar Asset Contract (SAC)][sac] can be deployed to a contract address for the asset, implementing the SEP-41 token interface so the asset can be used in smart contracts. Anyone can deploy this contract to enable interacting with the asset in smart contracts.


### Tradeoffs

- Accounts must have an active trustline to receive, hold, and transact.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should also be listed under strengths as 'accounts can choose which assets they receive'

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.

8 participants