Even with a library, there are several ways to incorrectly handle Stellar deposits. We’ve compiled the 6 most common mistakes.Documentation Index
Fetch the complete documentation index at: https://stellaraddresskit.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
1. The C-Address StrKey Trap
1. The C-Address StrKey Trap
The Mistake: Assuming any valid StrKey is a routable destination.
The Right Way: C-addresses (Contracts) do not support memos. If you detect a C-address, flag it as
INVALID_DESTINATION and do not attempt to credit a user account.2. JavaScript Number Precision
2. JavaScript Number Precision
The Mistake: Converting the
routingId string to a number in JS/TS.
The Right Way: IDs can be up to uint64 max. JS numbers lose precision above 9007199254740991. Always keep the ID as a string.3. Numeric MEMO_TEXT Routing
3. Numeric MEMO_TEXT Routing
The Mistake: Ignoring
MEMO_TEXT when it contains numbers.
The Right Way: Users often accidentally send their ID as text. The library will extract it but issue a MEMO_TYPE_MISMATCH warning. You should still credit the user but log a warning.4. Ignoring Warning Severity
4. Ignoring Warning Severity
The Mistake: Treating all warnings as fatal or ignoring all warnings.
The Right Way: Check the
severity. ERROR warnings (like precision loss) should block the transaction, while INFO warnings are safe to ignore.5. Non-Standard memoType Strings
5. Non-Standard memoType Strings
The Mistake: Passing custom strings like “id” or “text” instead of the standard “ID” or “TEXT”.
The Right Way: Use the standard uppercase strings defined in the API Reference.
6. MEMO_ID Validity
6. MEMO_ID Validity
The Mistake: Assuming any number is a valid ID.
The Right Way: The library verifies that IDs are within the 64-bit range. Any value above
18,446,744,073,709,551,615 will trigger a MAX_UINT64_EXCEEDED error.