'Arbitrage Trading of ETH/BTC using ccxt crypto API throws error while creating buy order

I am working on an app that does ETH/BTC arbitrage trading of crypto-currency using ccxt crypto API for PHP, and i keep receiving this Network Error exception thrown from the API call usually while trying to place a limit buy order.

{"status":-124,"error_message":"Enter the size in units of 0.0000001 ETH.","data":null}

This above exception is thrown from Bitflyer exchange.

My code is as follows:

$name = '\\ccxt\\'.$exchangeId;
$exchange = new $name(array (
    'apiKey'          => $api_key, // ←------------ replace with your keys
    'secret'          => $secret_key,
    'enableRateLimit' => true,
));

try{
   $symbol = 'ETH/BTC'; 
   $type = 'limit'; // # or 'market', or 'Stop' or 'StopLimit'
   $side = 'buy'; // 'sell' or 'buy'
   $amount = $data['trade_base_amount'];    //0.0515996
   $price  = $data['exchange_rate']; // 0.01938
   // extra params and overrides
   $params = array();

   $response = $exchange->create_order($symbol, $type, $side, $amount, $price, $params);
    print_r($response);
}catch (\ccxt\NetworkError $e) {
    echo $exchange->id . ' fetch_trades failed due to a network error: '.$e->getMessage () . "\n";
}catch (\ccxt\ExchangeError $e) {
    echo $exchange->id . ' fetch_trades failed due to exchange error: ' .$e->getMessage () . "\n";
}catch (\Exception $e) {
    echo $exchange->id . ' fetch_trades failed with: ' . $e->getMessage () . "\n";
}

Can anyone please explain why am I getting this error?

Thanks in advance.



Solution 1:[1]

Try using amountToPrecision for me worked get the documentation on CCXT

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 walter hoxha