Yes. Unlike other transactions you don't need to wait for the confirmations.
From the code which selects which coins to use to fund a transaction in src/wallet.cpp
:
bool CWallet::SelectCoins(int64 nTargetValue, [...])
{
vector<COutput> vCoins;
AvailableCoins(vCoins);
return (SelectCoinsMinConf(nTargetValue, 1, 6, vCoins, setCoinsRet, nValueRet) ||
SelectCoinsMinConf(nTargetValue, 1, 1, vCoins, setCoinsRet, nValueRet) ||
SelectCoinsMinConf(nTargetValue, 0, 1, vCoins, setCoinsRet, nValueRet));
}
where SelectCoinsMinConf
's 2nd and 3rd arguments are "number of confirmations a coin needs if it's from me" and "number of confirmations a coin needs if it's from someone else" respectively:
bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfTheirs, [...])
{
[...]
}
So what's happening is the code first tries to fund the transaction using only coins you sent to yourself which have at least 1 confirmation and coins from others with at least 6 confirmations. If it can't find enough that way, it tries again but only requiring 1 confirmation on the coins no matter where they came from. And if that also fails, it relaxes the requirement for confirmations on coins you sent to yourself.