Wallet Service improvements

We've improved our wallet service for in-app and ecosystem wallets with new quality of life features. Below are the highlights and detailed changes.
✨ Highlights
- Account deletion flag – allow end‑users to erase their wallet account entirely when unlinking the final auth profile.
- Improved partner attribution – new user records created via an ecosystem partner are now tagged, and filtering is supported via the API.
- Phone‑login sandboxing – deterministic phone/OTP pair for local development and App Store / Play Store review flows.
1 · Full Account Deletion When Unlinking the Last Profile
Apple and other platforms mandates an way to delete user accounts.
You can now fulfill this requirement by setting allowAccountDeletion: true
when unlinking the final profile tied to a wallet.
React Hook (useUnlinkProfile
)
import { useUnlinkProfile } from "thirdweb/react";
const { mutate: unlinkProfile } = useUnlinkProfile();
const handleUnlink = () => {
unlinkProfile({
client,
profileToUnlink: connectedProfiles[0],
allowAccountDeletion: true, // Deletes the account if it's the last profile
});
};
Direct Function (TypeScript SDK)
import { unlinkProfile } from "thirdweb/wallets/in-app";
await unlinkProfile({
client,
profileToUnlink: profiles[0],
allowAccountDeletion: true, // Deletes the account if it's the last profile
});
2 · Better Ecosystem‑Partner Attribution
- Automatic tagging – Any new wallet created through an ecosystem partner is now associated with that partner ID. (Existing users remain unchanged.)
- Filtering – Query only the users for a given partner by providing both headers:
x-ecosystem-id: <your‑ecosystem‑id>
x-ecosystem-partner-id: <partner‑id>
GET /v1/users
now returns only the wallets originated by that partner when both headers are present.
3 · Easier Local Testing for Phone‑Number Login
For staging or App Store submission, you may use the dedicated test credentials:
Field | Value |
---|---|
Phone | +11111111111 |
OTP | 0000 |
These bypass SMS delivery so you can validate the flow end‑to‑end without external dependencies.
Feedback
As always we appreciate your feedback – drop us a line or open an issue on GitHub.
© 2025 Thirdweb