Summary
The Token ACL (sRFC-37) guide states that wallets like Phantom automatically detect the token_acl metadata field and append a permissionless thaw instruction when creating token accounts. Based on direct confirmation from Phantom's team, this is not currently the case for Phantom, so the guide may mislead developers relying on this behavior.
Location
apps/docs/content/guides/advanced/acl.mdx — section "Token Metadata for Auto-Detection".
The guide currently states (paraphrased): adding the token_acl metadata field is crucial for wallet integration, and when wallets like Phantom (or SDKs like @solana/token-helpers) see this field, they automatically include thaw instructions when creating token accounts.
Rendered page: https://solana.com/developers/guides/advanced/acl#token-metadata-for-auto-detection
What I observed
I created a Token-2022 mint with DefaultAccountState = Frozen, a Token ACL config, and an ABL Gate Program allow list (ListConfig, mode Allow) with the recipient wallet added. The mint's metadata includes the token_acl field pointing to the Gate Program.
When sending this token from Phantom (Extension v26.20.0) to an allow-listed wallet that has no ATA yet, Phantom created the ATA but did not append a ThawPermissionless instruction. The ATA stayed frozen and the transfer failed with Error 0x11 (AccountFrozen) from Token-2022 — consistent with the ATA never being thawed.
Confirmation from Phantom
I raised this with Phantom's developer support. Their team (Phantom DevRel) confirmed that Phantom does not currently support this flow, that the observed behavior is expected, and that it is not a misconfiguration on my side. They suggested submitting a feature request to get it on their roadmap.
Questions / suggested fix
- Since Phantom is named explicitly in the guide but does not currently support auto-detection + permissionless thaw, could this section be updated to reflect the current state?
- Which wallets, if any, actually support this today? It would be very helpful for the guide to list wallets with verified support, rather than naming Phantom as an example if support isn't live yet.
- If no wallet currently ships this automatically, could the guide clarify that automatic
token_acl detection is aspirational / SDK-side only (e.g. via @solana/token-helpers when the integrating app builds the transaction), and that wallets do not append the thaw instruction on their own yet?
Summary
The Token ACL (sRFC-37) guide states that wallets like Phantom automatically detect the
token_aclmetadata field and append a permissionless thaw instruction when creating token accounts. Based on direct confirmation from Phantom's team, this is not currently the case for Phantom, so the guide may mislead developers relying on this behavior.Location
apps/docs/content/guides/advanced/acl.mdx— section "Token Metadata for Auto-Detection".The guide currently states (paraphrased): adding the
token_aclmetadata field is crucial for wallet integration, and when wallets like Phantom (or SDKs like@solana/token-helpers) see this field, they automatically include thaw instructions when creating token accounts.Rendered page: https://solana.com/developers/guides/advanced/acl#token-metadata-for-auto-detection
What I observed
I created a Token-2022 mint with
DefaultAccountState = Frozen, a Token ACL config, and an ABL Gate Program allow list (ListConfig, modeAllow) with the recipient wallet added. The mint's metadata includes thetoken_aclfield pointing to the Gate Program.When sending this token from Phantom (Extension v26.20.0) to an allow-listed wallet that has no ATA yet, Phantom created the ATA but did not append a
ThawPermissionlessinstruction. The ATA stayed frozen and the transfer failed with Error0x11(AccountFrozen) from Token-2022 — consistent with the ATA never being thawed.Confirmation from Phantom
I raised this with Phantom's developer support. Their team (Phantom DevRel) confirmed that Phantom does not currently support this flow, that the observed behavior is expected, and that it is not a misconfiguration on my side. They suggested submitting a feature request to get it on their roadmap.
Questions / suggested fix
token_acldetection is aspirational / SDK-side only (e.g. via@solana/token-helperswhen the integrating app builds the transaction), and that wallets do not append the thaw instruction on their own yet?