Usdt0Manager
USDT0 from Stellar to EVM networks: client.usdt0. USDT0 is Tether's omnichain USDT.
USDT0 from Stellar to EVM networks: client.usdt0. USDT0 is Tether's omnichain USDT. From Stellar it travels through LayerZero's OFT: Ethereum receives native USDT, every other network receives USDT0, and every route takes an EVM recipient. Signing works like a swap: the API builds the transaction, the holder signs it, and {@link submit} relays the signed XDR. The holder pays LayerZero's fee and the network fee in XLM. Mainnet only: a dev key gets available: false from {@link routes}, and 400 network_unsupported from {@link quote} and {@link create}.
Methods
routes()
The networks USDT0 can be sent to from Stellar, with the token and OFT a transfer uses.
routes(): Promise<Usdt0RoutesData>Returns Promise<Usdt0RoutesData>
quote()
Price a transfer: what is sent and arrives, the dust, LayerZero's fee and the OFT's limits. Persists nothing.
quote(options: QuoteUsdt0Options): Promise<Usdt0QuoteData>Parameters
options:QuoteUsdt0Options
Returns Promise<Usdt0QuoteData>
create()
Build a transfer: the one unsigned Soroban transaction the holder signs (XDR and SEP-7 link).
create(options: CreateUsdt0TransferOptions): Promise<Usdt0Transfer>Parameters
options:CreateUsdt0TransferOptions
Returns Promise<Usdt0Transfer>
list()
List your transfers, newest first, as last refreshed (fetch one to refresh it).
list(options?: ListUsdt0TransfersOptions): Promise<Usdt0TransferPage>Parameters
options(optional):ListUsdt0TransfersOptions
Returns Promise<Usdt0TransferPage>
fetch()
Get one transfer. While PENDING or SUBMITTED the API refreshes it from the Stellar ledger and LayerZero Scan (at most every 15 seconds).
fetch(id: string, options?: Usdt0RecordTokenOptions): Promise<Usdt0Transfer>Parameters
id:stringoptions(optional):Usdt0RecordTokenOptions
Returns Promise<Usdt0Transfer>
submit()
Relay the signed transaction to Stellar mainnet. It must be the transaction the API built for this transfer, signed. A refusal by the network leaves it PENDING (submitted: false, reason) to submit again until it expires.
submit(id: string, options: SubmitUsdt0TransferOptions & Usdt0RecordTokenOptions): Promise<Usdt0SubmitOutcome>Parameters
id:stringoptions:SubmitUsdt0TransferOptions & Usdt0RecordTokenOptions
Returns Promise<Usdt0SubmitOutcome>