NAME

WebService::Coinbase - Coinbase (http://coinbase.com) API bindings

VERSION

version 0.0100

SYNOPSIS

my $coin = WebService::Coinbase->new(
    api_key    => 'API_KEY',
    api_secret => 'API_SECRET',
    logger     => Log::Tiny->new('/tmp/coin.log'), # optional
);
my $accounts = $coin->get_accounts();

METHODS

get_accounts

get_accounts()

Returns the user's active accounts.

get_account

get_account($account_id)

Returns one of the user's active accounts.

get_primary_account

get_primary_account()

Returns the user's primary account.

set_primary_account

set_primary_account($account_id)

Sets the primary account.

create_account

create_account($data)

Creates a new account for the user.

Example:

my $account = $coin->create_account({ name => "Bling Bling" });

get_account_balance

get_account_balance($account_id)

Returns the user's current account balance in BTC.

get_account_address

get_account_address($account_id)

Returns the user's current bitcoin receive address.

create_account_address

create_account_address($account_id, $data)

Generates a new bitcoin receive address for the user.

Example:

$coin->create_account_address($account_id, {
    label        => 'college fund',
    callback_url => 'http://foo.com/bar',
});

modify_account

modify_account($account_id, $data)

Modifies an account.

Example:

$coin->modify_account($acct_id, { name => "Kanye's Account" });

delete_account

delete_account($account_id)

Deletes an account. Only non-primary accounts with zero balance can be deleted.

get_addresses

get_addresses()

Returns the bitcoin addresses a user has associated with their account.

get_address

get_address($id_or_address)

Returns the bitcoin address object for the given id or address.

get_contacts

get_contacts()

Returns contacts the user has previously sent to or received from.

get_transactions

get_transactions()

Returns the user's transactions sorted by created_at in descending order.

get_transaction

get_transaction($transaction_id)

Returns the transaction for the given id.

send_money

send_money($data)

Send money to an email or bitcoin address.

Example:

$coin->send_money({
    to       => $email_or_bitcoin_address,
    amount   => '1.23',
    notes    => 'Here is your money',
});

transfer_money

transfer_money($data)

Transfer bitcoin between accounts.

request_money

request_money($data)

Request money from an email.

resend_request

resend_request($transaction_id)

Resend a money request.

complete_request

complete_request($transaction_id)

Lets the recipient of a money request complete the request by sending money to the user who requested the money. This can only be completed by the user to whom the request was made, not the user who sent the request.

cancel_request

cancel_request($transaction_id)

Cancel a money request.

AUTHOR

Naveed Massjouni <naveed@vt.edu>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Naveed Massjouni.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.