The SPL token program has support for a freeze/thaw authority where the authority can block any transaction involving a given account.
How can I lock only some tokens in an account? E.g. a token account with 100 tokens would be frozen for only 30 tokens, while free to send the other 70.
One way to do this would be to create separate token accounts for the same token, e.g. 70 in one account and 30 in another (frozen), though this is not the best in terms of UX.
Any other suggestions?