SYNOPSIS

     use Finance::BTCIndo;
    
     # API key and secret are required unless you only want to access the public
     # API. They can be retrieved by logging into your VIP account and
    
     my $btcindo = Finance::BTCIndo->new(
         key    => 'Your API key',
         secret => 'Your API secret',
     );
    
     ## public API methods, these do not require API key & secret
    
     my $ticker = $btcindo->get_ticker();
     # sample result:
     {
       ticker => {
         buy => 34381600,
         high => 34890000,
         last => 34381600,
         low => 34200000,
         sell => 34431800,
         server_time => 1496219814,
         vol_btc => 506.37837851,
         vol_idr => 17409110187,
       },
     }
    
     my $trades = $btcindo->get_trades();
     # sample result:
     [
       {
         date => 1496220665,
         price => 34395100,
         amount => 0.00090000,
         tid => 2222043,
         type => "sell",
       },
       {
         date => 1496220574,
         price => 34422400,
         amount => 0.00879473,
         tid => 2222042,
         type => "buy",
       },
       ... # about 148 more
     ]
    
     my $depths = $btcindo->get_depth();
     # sample result:
     {
       buy => [
         [34397100,"0.07656322"],
         [34397000,"0.21483687"],
         # ... about 148 more
       ],
       sell => [
         [034499900, "0.00150273"],
         [034500000, "0.94493067"],
         # ... about 148 more
       ],
     }
    
     ## all the methods below requires API key & secret
    
     $btcinfo->get_info();
    
     $btcinfo->get_tx_history();
    
     $btcinfo->get_trade_history(pair => "btc_idr");
    
     # create buy order of Rp 2,000,000 worth of bitcoins at price Rp 38,400,000/BTC
     $btcinfo->create_order(pair => "btc_idr", type => "buy" , price => "38400000", idr => "2000000");
    
     # create sell order of 0.01 BTC at price Rp 38,700,000/BTC
     $btcinfo->create_order(pair => "btc_idr", type => "sell", price => "38700000", btc => 0.01);
    
     $btcinfo->cancel_order(type => "sell", order_id => 9038293);

DESCRIPTION

    https://bitcoin.co.id is an Indonesian Bitcoin exchange. This module
    provides a Perl wrapper for bitcoin.co.id's Trade API.

METHODS

 new

    Constructor.

 get_ticker

    Public API.

    Arguments:

      * pair => str

      Optional, e.g. eth_btc. Default: btc_idr.

 get_trades

    Public API.

    Arguments:

      * pair => str

      Optional, e.g. eth_btc. Default: btc_idr.

 get_depth

    Public API.

    Arguments:

      * pair => str

      Optional, e.g. eth_btc. Default: btc_idr.

 tapi

    General method to call API methods. Syntax:

     $btcinfo->tapi($method, %args)

    For example:

     $btcinfo->tapi("getInfo")

    is equivalent to:

     $btcinfo->get_info()

 get_info

    This method give information about balance and server's timestamp. The
    API method name is getInfo.

    Arguments:

 get_tx_history

    This method give information about history of deposit and withdraw. The
    API method name is transHistory.

    Arguments:

 get_trade_history

    This method give information about bitcoin transaction in buying and
    selling history. The API method name is tradeHistory.

    Arguments:

      * count => int

      * from_id => int

      * to_id => int

      * order => "asc" | "desc"

      * since => epoch

      * end => epoch

      * pair => str (required)

      Currently only "btc_idr".

 get_open_orders

    This method give information about existing open order. The API method
    name is openOrders.

    Arguments:

      * pair => str (required)

      Currently only "btc_idr".

 create_order

    This method use to make a new order. The API method name is trade.

    Arguments:

      * pair => str (required)

      Currently only "btc_idr".

      * type => str (required)

      Either "buy" or "sell".

      * price => num (required)

      Price (in Rp) per bitcoin.

      * idr => num (required when type=buy)

      Amount of IDR you want to buy.

      * btc => num (required when type=sell)

      Amount of BTC you want to sell.

 cancel_order

    This method cancel existing open order. The API method name is
    cancelOrder.

    Arguments:

      * type => str (required)

      Either "buy" or "sell".

      * order_id => num (required)

SEE ALSO

    API documentation,
    https://blog.bitcoin.co.id/wp-content/uploads/2014/03/API-Documentation-Bitcoin.co_.id_.pdf

    CLI that uses this module, for more convenience daily usage on the
    command-line: btcindo (from App::btcindo distribution).

