Is there any service/api for deriving HD wallet addresses from a master public key? I need this for a tool i'm writing that generates a transaction history report.   think:  accounting, auditing, etc.   The tool does not and should not have access to the private keys.

Ideally, the API would:


not require creating a wallet first.  I only need it to derive keys.
return only addresses that have been used (received funds), up to the gap defined in bip44.


Alternatively, are there any command-line tools that can do this?
I ended up writing my own command-line tool to perform wallet discovery and print out a report.

It supports single xpub derivation as well as multisig m-of-n wallets, specifically CoPay wallets.

It determines if each address has been used or not by querying blockchain.info or also toshi or insight servers (the latter two can be run locally.)

Anyone interested can check it out at:
https://github.com/dan-da/hd-wallet-addrs

I plan to add a web frontend soon.  Update: Web frontend is here.

Also, blockonomics is pretty good and very fast.  They don't seem to support CoPay/multisig yet though.