How To Use Interactive JWTs?
As part of the flow, once a user makes an interactive withdrawal/deposit request, it will be processed by the Anchor Platform and forwarded to your service. The Anchor Platform will make a
GET call to
<configured interactive url>?token=<jwt token>.
This JWT token will contain:
expis the expiration time of the token. You should check that the provided token has not expired.
subis the account associated with this transaction. It can be used to identify the user account. Note that this value may be different from the account that will be used to receive/send funds.
jtiis the hash of the transaction.
datais the extra payload that has been set by the user. It will always contain the Stellar
assetwants to deposit or withdraw. If provided by the client, it will also contain the
amountthe user wants to transact, the
client_domainof the wallet verified during SEP-10 authentication, and the
lang(language) preference of the user.
How To Provide Fees?
Currently, it's recommended to provide fees/exchange rates in the iFrame/web view of your application.
SEP-24 standard provides a
/fee endpoint to allow businesses to set static fees for their transactions. However, it's not currently supported by the Anchor Platform.
/fee endpoint will be deprecated in the future.
How to identify the user account?
You should use the
sub field of the JWT token. For custodial wallets, this value will be in the format
account:memo. Use the memo to identity the user. For noncustodial wallets, simply use the
sub value itself, which will be equal to the user account.
How to identify the wallet?
You should use a combination of
data.client_domain fields of the JWT token. For custodial wallets, the
sub value will be in the format
account:memo. Use the account to identify the wallet. For noncustodial wallets, use the
data.client_domain field. Note that the wallet must provide the
client_domain beforehand as a part of SEP-10 authentication.