public async Task <string> GiveTemporaryCapital([FromBody][NotNull] GiveTemporaryCapitalRequest request)
        {
            request.RequiredNotNull(nameof(request));
            var account = await _accountManagementService.EnsureAccountValidAsync(request.AccountId
                                                                                  .RequiredNotNullOrWhiteSpace(nameof(request.AccountId)));

            var amount = await _accuracyService.ToAccountAccuracy(
                request.Amount.RequiredGreaterThan(0, nameof(request.Amount)),
                account.BaseAssetId, nameof(GiveTemporaryCapital));

            return(await _accountManagementService.StartGiveTemporaryCapital(
                       request.EventSourceId.RequiredNotNullOrWhiteSpace(nameof(request.EventSourceId)),
                       account.Id,
                       amount,
                       request.Reason.RequiredNotNullOrWhiteSpace(nameof(request.Reason)),
                       request.Comment,
                       request.AdditionalInfo
                       ));
        }