This question is broadly answered elsewhere, but without emphasis on the amount of BTC at the address that’s being “swept”.
The simple answer is:
- You can fund the address that’s being swept with some BTC sufficient to pay for transaction(s). Then you can send the assets from the address to new destination, or sweep the address from a new destination address (the second approach may result in lower BTC transaction fees if you sweep everything from the source, as opposed to sending assets one by one)
- You can pay for the sweep from the destination address. This approach creates a transaction for which the fees are paid by the address doing the sweeping.
Because the first approach is obvious, here we’ll show some details about the second.
Scenario: we want to sweep all
BUYSELL tokens from address
msbYHkRLFVEV5s5oHdUMAETJ5UtPNtNGpk. That address doesn’t have more than 5430 satoshi at it, so it can’t send them on its own without additional BTC funding to pay bitcoin transaction fee.
NOTE: these are testnet addresses, so don’t bother with the private keys.
1. Enter private key the source address (the address you’re sweeping)
2. Because your wallet may have several addresses, you may need to select one of them
3. Pick one or more “things” you want to sweep from the source.
You may see a dust amount of BTC, some XCP and various Counterparty assets. You can sweep everything or just the asset you need (the latter would be the equivalent of sending the entire quantity of that one asset from the source, if the source address had enough BTC to pay for it).
4. Provide the private key of the destination (the address you picked in (2) above.
5. Counterwallet calculates the funds required for the sweep, sends them to the source address
6. Although the previous send action hasn’t been confirmed, Counterwallet can now use unconfirmed inputs from (5) to create a transaction that sends
BUYSELL from the source to the destination.