BSD-3-Clause licensed by John David Reaver
Maintained by [email protected]
This version can be pinned in stack with:oanda-rest-api-,2885


Build Status

This library implements Haskell client to the OANDA REST API.


There are still parts of the API that are not yet implemented. Here is the status of each part of the API:

  • Rates: Mostly done, just need to refactor so the parameters are cleaner.
  • Accounts: Done.
  • Orders: Can only get a list of open orders. Can’t yet create or modify orders.
  • Trades: Almost done, just need to add closing a trade.
  • Positions: Done.
  • Transaction History: Almost done. Could probably refactor the types to be more specific, instead of putting Maybe everywhere.



  • Prefer Text instead of String for arguments. We still use String in endpoints since that is what wreq uses.
  • Use http-conduit instead of wreq

  • Use thyme instead of time. Thyme uses a much more efficient representation of time stamps. Note that thyme has a module called Data.Thyme.Time that provides wrappers and conversion functions to and from time types.
  • Added a convenient granularityToDiffTime to convert from Granularity to NominalDiffTime.
  • Fixed not being able to use a start/end time in conjunction with a count for the candlestick endpoints.
  • Use true optional arguments using Maybe. This fixes some endpoints breaking when empty lists were passed, and also makes it so we don’t have to hard-code defaults.

Initial release. The API is not yet complete, but there is enough to be useful.