Closed
Description
Currently, sending an airdrop or funding a new Stellar account with a non-XLM token is a messy, multistep process for both sender and receiver. Issuer and user experience can be improved by adding some mechanism for a sending account to add a trustline on a receiving account.
Deposit & Sending Requirements
Deposit with asset issuer (mandatory)
An issuer should be able to completely process a user’s deposit of an external asset without needing to wait on the user to take an intermediate step, such as adding a trustline.
An illustrative SEP-6 deposit flow (crypto asset example):
- User wants to deposit an external crypto asset with an Issuer and receive the Issuer’s anchored asset on the Stellar network.
- User makes a SEP-6 deposit request to the Issuer via the user’s Stellar wallet, communicating their Stellar account id (A) to the Issuer.
- Issuer asks for any information they need (KYC info, bank acct, etc…).
- User provides needed information.
- Issuer sends deposit address to user.
- The user sends their external crypto asset to the deposit address to initiate the deposit.
- When the Issuer receives the external asset, they send a Stellar payment of the same amount (minus fees) to the user’s Stellar account, completing the deposit.
The Requirements
- When initiating a deposit, the user must not need to sign any transactions.
- The Issuer must not need to wait on any user action to complete the deposit, once the user has sent the external crypto asset to the Issuer. The single exception to this is if the user does not need any XLM to take the action and the information that the transaction has completed (on the issuer side) is present on the chain.
- The deposit must arrive at the user’s original account id A. Only at this point is the deposit complete.
- The user must not have to add extra XLM from some external source to their account to complete the deposit.
- The deposit process must complete successfully even in the case where the user spends XLM for some other purpose as soon as it hits their account.
- The deposit process must complete successfully even if the user’s account is not yet created, or if the user has no trustline for the deposit asset.