I offer 20 SOL to the first one who will be able to successfully advise on how to retrieve SOL coins that were mistakenly sent to a multisig pubkey address (which was created by the spl-token create-multisig command).
some more info:
I have sent some SOL to a multi-sign account created by the spl-token create-multisig command and I’m looking for ways to take it back.
Since I’ve sent it to the actual pubkey and not to its derived associated token accounts - closing it doesn’t work (i.e., you can’t close/destroy the multisig itself, while you can close its associated tokens accounts).
I’m also trying to wrap/unwrap these tokens to wSOL, but it doesn’t seem to work either
Hi @mesol and welcome to the forum!
After investigating, there is no way currently to pull your tokens out of the account, but there is still some hope.
The SPL Token program on the blockchain can be upgraded and it is possible to create a new program instruction that would allow transferring the SOL from the multisig account directly. This would require getting approval on a pull request for the SPL Token program, and it would require going through the feature proposal and acceptance workflow to get the program finally updated and functioning on the mainnet.
I’m not sure whether or not such a new instruction would be welcomed by the Solana developers or not, but it’s worth asking.
I can ask the Solana folks whether or not they’d be open to this sort of change, and I’m experimenting right now on implementing the changes necessary.
It should be a rather straight-forward change. I’ve already got the boilerplate for the new instruction in the program and the extra command in the
I think a reasonable strategy is to create an instruction such as
sync-multisig-native that would take all of the native SOL in the multisig account and move it to a SOL associated token account. You could then separately issue a
sync-native command that would convert that SOL in the associated token account to WSOL that can be transferred like any other SPL token would be from the multisig.
I’ve gotten a working proof of concept for the new instruction necessary to recover native SOL sent to a multisig address. Tomorrow I’ll open an issue on the Solana Program Library and find out whether or not this is something they’d be open to.
If it is, then I’ll put in the rest of the work necessary to make it production ready and it will have to go through the token program upgrade process before it is deployed to the mainnet.
Hi @zicklag , thanks!
Can you send the background of what you did?
We have a contact in Solana, once you’ll have a PR or opened issue can you send it to me so I’ll send it to them to increase the chance it’ll be excepted?
Hey @mesol ! I’ve opened an issue and an associated draft pull request:
The basic concept is simple: create an instruction that will allow you to transfer native SOL that is residing in the multisig address to a WSOL associated token account. This will make the SOL that was in the multisig register as WSOL where it can be transferred out of the account like normal.
The issue got some feedback and it looks like they’re not on board with the new instruction.
It seems that the multisig feature was hacked in in the first place and they’d rather leave it as-is than fix it to discourage use. For a general purpose multi-signature wallet it looks like the Serum Multisig or the upcomming Goki Smart Wallet are the best alternatives.
Unfortunately that means your SOL will be stuck inaccessible, sorry about that!
If they change their minds at all, I’d be glad to finish the implementation I started, but it looks like they’re pretty settled.
Thanks. I saw that there was an offer for new instruction to close a multisig account, which will free the SOL. It can be a valid solution for me, do you think there is a chance they will go for it?
Unfortunately, no. Like this comment mentioned, having a command to close a multisig would actually be even more dangerous than the current situation, and I agree that it would just make things worse.
Doesn’t look like it’s going to happen. Sorry about your lost tokens!
I have the same problem, made the same mistake…sent 0.24 (I know it’s not a lot …) from binance to my spl-token mint account.
Solana cli balance shows the SOL but no way to get them out.
Tried many things but still can’t transfer SOL from the spl-token account to my solana account, even if it’s the owner in SPL. (the transaction result a lack of signature…normal as the spl-token create-token doesn’t return any private key nor seed phrase so can’t to anything with the address.
Will wait (and hope) something should be done for that
I’ve been through this problem where I accidentally transferred SOL to associated token account. You can close that to get the SOL back with soltricks.io, dont forget to set the refund address to your SOL Address.