Deposit
1
Fee top-up
In
deposit_address mode, Pesa’s relayer sends the quoted LayerZero fee plus 20%, in the chain’s native coin, to the user’s smart wallet. It sends only to an address with an open transfer, and never more than the quote plus the buffer.2
Trustlines
The user’s Stellar account needs USDT0 and USDC trustlines before the send. If one is missing, the next action is
stellar_trustline, and Pesa’s onboarding sponsors it.3
OFT send
The wallet calls the USDT0 OFT
send with dstEid = 30600, to = the user’s Stellar ed25519 public key, amountLD = minAmountLD = the amount, and the quoted native fee as value. On Ethereum an approve of the adapter comes first.4
Delivery
LayerZero delivers USDT0 to the user’s Stellar account. Pesa tracks the message by its GUID on LayerZero Scan and confirms the arrival on Stellar.
5
Swap to USDC
The user signs a strict-send path payment from USDT0 to USDC, with
destMin from a fresh DEX quote. The transfer is CREDITED when the USDC arrives.SWAP_REQUOTE at a lower output. Signing the new swap is the user’s approval. Until then the USDT0 stays in the user’s wallet and the app shows it as USDT0.
Withdraw
- Pesa tops up the XLM the LayerZero fee needs inside the contract call, at most 2 XLM.
- Prompt 1: the user signs the USDC to USDT0 swap.
- Prompt 2: the user signs the Stellar OFT
sendto the destination chain’s endpoint ID, with the recipient padded to 32 bytes and a fresh native fee. - LayerZero delivers. The transfer is
DELIVEREDwhen the destination chain’sOFTReceivedlog is observed.