# Ruby wrapper for the Mt. Gox Trade API
Mt. Gox allows you to trade US Dollars (USD) for Bitcoins (BTC) or Bitcoins for
US Dollars.
Installation
------------
gem install mtgox
Alias
-----
After installing the gem, you can get the current price for 1 BTC in USD by
typing `btc` in your bash shell simply by setting the following alias:
alias btc='ruby -r rubygems -r mtgox -e "puts MtGox.ticker.last"'
Documentation
-------------
[http://rdoc.info/gems/mtgox](http://rdoc.info/gems/mtgox)
Donate
------
If you find this library useful, please consider sending a donation to the
author, which you can do using the following script:
require 'rubygems'
require 'mtgox'
# Certain methods require authentication
MtGox.configure do |config|
config.name = YOUR_MTGOX_USERNAME
config.pass = YOUR_MTGOX_PASSWORD
end
MtGox.withdraw 1.0, "1KxSo9bGBfPVFEtWNLpnUK1bfLNNT4q31L"
Continuous Integration
----------------------
[](http://travis-ci.org/sferik/mtgox)
Usage Examples
--------------
require 'rubygems'
require 'mtgox'
# Fetch the latest price for 1 BTC in USD
puts MtGox.ticker.last
# Fetch open asks
puts MtGox.asks
# Fetch open bids
puts MtGox.bids
# Fetch the last 48 hours worth of trades (takes a minute)
puts MtGox.trades
# Certain methods require authentication
MtGox.configure do |config|
config.name = YOUR_MTGOX_USERNAME
config.pass = YOUR_MTGOX_PASSWORD
end
# Get your current balance
puts MtGox.balance
# Place a limit order to buy one bitcoin for $0.011
MtGox.buy! 1.0, 0.011
# Place a limit order to sell one bitcoin for $100
MtGox.sell! 1.0, 100.0
# Cancel order #1234567890
MtGox.cancel 1234567890
# Withdraw 1 BTC from your account
MtGox.withdraw! 1.0, "1KxSo9bGBfPVFEtWNLpnUK1bfLNNT4q31L"
Contributing
------------
In the spirit of [free
software](http://www.fsf.org/licensing/essays/free-sw.html), **everyone** is
encouraged to help improve this project.
Here are some ways *you* can contribute:
* by using alpha, beta, and prerelease versions
* by reporting bugs
* by suggesting new features
* by writing or editing documentation
* by writing specifications
* by writing code (**no patch is too small**: fix typos, add comments, clean up
inconsistent whitespace)
* by refactoring code
* by closing [issues](https://github.com/sferik/mtgox/issues)
* by reviewing patches
* by financially (please send bitcoin donations to
1KxSo9bGBfPVFEtWNLpnUK1bfLNNT4q31L)
Submitting an Issue
-------------------
We use the [GitHub issue tracker](https://github.com/sferik/mtgox/issues) to
track bugs and features. Before submitting a bug report or feature request,
check to make sure it hasn't already been submitted. You can indicate support
for an existing issuse by voting it up. When submitting a bug report, please
include a [Gist](https://gist.github.com/) that includes a stack trace and any
details that may be necessary to reproduce the bug, including your gem version,
Ruby version, and operating system. Ideally, a bug report should include a pull
request with failing specs.
Submitting a Pull Request
-------------------------
1. Fork the project.
2. Create a topic branch.
3. Implement your feature or bug fix.
4. Add documentation for your feature or bug fix.
5. Run bundle exec rake doc:yard. If your changes are not 100%
documented, go back to step 4.
6. Add specs for your feature or bug fix.
7. Run bundle exec rake spec. If your changes are not 100% covered, go
back to step 6.
8. Commit and push your changes.
9. Submit a pull request. Please do not include changes to the gemspec,
version, or history file. (If you want to create your own version for some
reason, please do so in a separate commit.)
Copyright
---------
Copyright (c) 2011 Erik Michaels-Ober.
See [LICENSE](https://github.com/sferik/mtgox/blob/master/LICENSE.md) for details.