Problem right now
Escrow only works with one token right now. But Stellar has a whole ecosystem of assets — USDC, EURC, NGNT (Nigerian Naira anchor), CNY, and tons more. If a buyer holds EURC they should still be able to create a deal without swapping first.
What I want
The escrow contract and backend should accept any Stellar asset as the deal currency. The seller gets paid in whatever asset the deal was created in. No forced conversions.
create_deal should accept an asset code + issuer, not just a hardcoded token
- Backend needs to validate that the asset is a real issued asset on Stellar
- The contract should store the asset info with the deal
- Release/dispute resolution should work with whatever asset was locked
Why this matters
Different regions use different stablecoins. Europeans use EURC, Nigerians use NGNT. If we only support USDC we're cutting out a huge chunk of potential users who'd rather pay in their local stablecoin.
Notes
- Stellar has
changeTrust operations — buyer needs to have a trustline to the asset before locking
- We should probably have a curated allowlist of accepted assets to avoid random scam tokens
Problem right now
Escrow only works with one token right now. But Stellar has a whole ecosystem of assets — USDC, EURC, NGNT (Nigerian Naira anchor), CNY, and tons more. If a buyer holds EURC they should still be able to create a deal without swapping first.
What I want
The escrow contract and backend should accept any Stellar asset as the deal currency. The seller gets paid in whatever asset the deal was created in. No forced conversions.
create_dealshould accept an asset code + issuer, not just a hardcoded tokenWhy this matters
Different regions use different stablecoins. Europeans use EURC, Nigerians use NGNT. If we only support USDC we're cutting out a huge chunk of potential users who'd rather pay in their local stablecoin.
Notes
changeTrustoperations — buyer needs to have a trustline to the asset before locking