The commercial edition of edtFTPnet, edtFTPnet/PRO, has a property, SecureFTPConnection.MaxTransferRate, that does this. If you're using the free version then you can implement it by placing a Thread.Sleep call in a ByteTransferred event-handler.