code: def transfer(self, to, amount, asset, memo="", account=None, **kwargs):
          
          from .memo import Memo
  
          if not account:
              if "default_account" in self.config:
                  account = self.config["default_account"]
          if not account:
              raise ValueError("You need to provide an account")
  
          account = Account(account, blockchain_instance=self)
          amount = Amount(amount, asset, blockchain_instance=self)
          to = Account(to, blockchain_instance=self)
  
          memoObj = Memo(from_account=account, to_account=to, blockchain_instance=self)
  
          op = operations.Transfer(
              **{
                  "fee": {"amount": 0, "asset_id": "1.3.0"},
                  "from": account["id"],
                  "to": to["id"],
                  "amount": {"amount": int(amount), "asset_id": amount.asset["id"]},
                  "memo": memoObj.encrypt(memo),
                  "prefix": self.prefix,
              }
          )
          return self.finalizeOp(op, account, "active", **kwargs)
docs: Transfer an asset to another account.
  
              :param str to: Recipient
              :param float amount: Amount to transfer
              :param str asset: Asset to transfer
              :param str memo: (optional) Memo, may begin with `#` for encrypted
                  messaging
              :param str account: (optional) the source account for the transfer
                  if not ``default_account``