Pages:
Author

Topic: Use Google Spreadsheets to automatically keep track of your wallet balance (Read 11209 times)

hero member
Activity: 767
Merit: 500
I just create a new wallet on blockchain and pull the public keys of the addresses I wish to monitor into that wallet, then get the balance using

=importData("https://blockchain.info/merchant/WALLET-GIUD/balance?password=PASSWORD")

then just regextract to pull the balance in satoshis

=regexextract(A1,"\d+")

and divide by 10,000,000

=A2/100000000

Since only the public keys are on there, I don't worry about putting a password in my Google doc.

Will
legendary
Activity: 4592
Merit: 1276
You can use http://blockchain.info/q/addressbalance/1blahblah or http://blockchain.info/q/getreceivedbyaddress/1blahblah
But be careful as that returns a number in satoshis, so you have to divide it by 100000000

Thanks coblee.  I think that blockexplorer is probably rate-limiting some of Google's address space.  Manual queries I do work OK.  I saw some reference to Cloudflare in the output on the spreadsheet.  Dunno if blockexplorer has been using them forever or what (but I kind of doubt it, and was surprised to see it actually.)

donator
Activity: 1653
Merit: 1286
Creator of Litecoin. Cryptocurrency enthusiast.
You can use http://blockchain.info/q/addressbalance/1blahblah or http://blockchain.info/q/getreceivedbyaddress/1blahblah
But be careful as that returns a number in satoshis, so you have to divide it by 100000000
legendary
Activity: 4592
Merit: 1276

I feel OK about necro-ing this thread because I've been using it off and on for the last several years and it's been pretty reliable.

The other day, my permutation gave me a start when it switched to Yuan from BTCChina.  Fixed that.

Now it barely works at all, though it seems to probably be an issue with blockexplorer producing odd results.

Anyone got a more modernized form and/or ideas about a more suitable data source than
'http://blockexplorer.com/q/getreceivedbyaddress/1blahblahblah...'

Also, I sort of ran out of capacity for Google docs to make remote queries at about the same time as I ran out of addresses that I wanted to query so I never bothered to look for other options.  A single source for balance on an address rather than several and some math would eek things out a bit longer.

legendary
Activity: 966
Merit: 1000
Hello coblee,

nice work... thanks for the inspiration!

greetings
pazor
legendary
Activity: 1031
Merit: 1000

That is pretty cool. Anyone figured out how to get Tradehill's API to echo a balance?
legendary
Activity: 1031
Merit: 1000
It appears blockexplorer with a TradeHill deposit address does not yield an accurate balance.
Got an example?

I am using Tradehill like an online wallet and not trading in the account. If I use the Deposit Address to search the block explorer it does not return the available balance in Tradehill.

I would like to have an =importHTML() function for Google Docs which brings in the Available balance from Tradehill.

It would be nice to pull it directly from Tradehill via the API. But if needed I could pull from the API, create a webpage on my server that displays it and then reference that webpage with the function.

Problem is I do not understand the API or PHP well enough to either pull it directly into the Google Doc or create the HTML/PHP for a webpage that displays the Available balance.

legendary
Activity: 1680
Merit: 1035
Very nice. I'll have to set one up for my savings, too.
Btw, I decrypt my savings wallet file about once a month, because I don't trust data integrity of backups. So, I decrypt it, test it, and encrypt it, making another copy of the file with the file name including the date of the time it was tested. This way i have a rolling backup with multiple copies of the wallet file in my backup locations. If there is some corruption and I can't open the newest file, I'll at least have some older backups to fall back on. I'm paranoid like that.
legendary
Activity: 2618
Merit: 1006
It appears blockexplorer with a TradeHill deposit address does not yield an accurate balance.
Got an example?

As far as I understand it, deposit adresses do not show higher amounts if you just do trades.
e.g.:
You deposit 10 BTC --> Balance on TH: 10 BTC; Balance on the address: 10 BTC
You trade the 10 BTC for 100 USD --> Balance on TH: 0 BTC; Balance on the address: maybe still 10 BTC (as it is on an adress owned by tradehill and another adress might get "billed" on payouts)
BTC crashes and you buy 100 BTC for 100 USD --> Balance on TH: 100 BTC; Balance on the address: maybe still 10 BTC, maybe less.

I don't really get what you want to achieve... you can track how much you paid to TH over time accurately though.
legendary
Activity: 1031
Merit: 1000
Nice sheet.  You will need to export all your public keys including the hidden ones if you want the balance to be accurate.  And as theymos says, you really need to be using the mytransactions API to avoid hammering his server, I am querying 50 addresses at a time so only perform 3 GET requests for my entire wallet.

My android wallet balance viewer (link in my sig) does the same thing on Android. Shameless plug. Smiley

Will

It appears blockexplorer with a TradeHill deposit address does not yield an accurate balance.

Anyone have the code for getting your TradeHill balance via their API imported to Google Docs?

If it cannot be directly imported via formula line in Google Docs then the HTML code for a POST request on my own server would sure be a handy work around that I could scrap with the ImportHTML function.

Pretty please. Thanks.
donator
Activity: 1653
Merit: 1286
Creator of Litecoin. Cryptocurrency enthusiast.
BTW, this system will only work if you are careful when you take money out of this "savings" account. Since if you create a transaction that has change, the change will go to a random wallet address. You will need to add that wallet address to this spreadsheet in order for it to stay accurate.

So the way I plan to use it is for each address I have in this account, I plan to put the same number of bitcoins in them. So for example, if I have 10 BTC in each of the 12 addresses, I will have 120 BTC total. If I need to transfer money out, I do it in a multiple of 10s. That way, there won't be any change. For anything less than 10 BTC, I just keep in my checking account.

I hope in the future, the client will let me choose which account I want the change in.
donator
Activity: 1653
Merit: 1286
Creator of Litecoin. Cryptocurrency enthusiast.
Thanks! I didn't realize theymos added it. I made the change to the spreadsheet. Should be much better now... no more html scraping.
newbie
Activity: 26
Merit: 0

But I need both getreceivedbyaddress and getsendbyaddress. Do you plan to implement the latter? Or better yet, how about getbalancebyaddress?
Not sure if it was put up in response to your request, but there is a getsentbyaddress value accessible on blockexplorer right now. Note the past tense: getsentbyaddress, not getsendbyaddress as you asked for. (Though this does conform to the usage of getreceivedbyaddress.)

I was able to import the same data you got by scraping HTML with the lines:
Code:
=ImportData("http://blockexplorer.com/q/getreceivedbyaddress/"&B3)
=ImportData("http://blockexplorer.com/q/getsentbyaddress/"&B3)

And thanks for the Doc. It's great. Once I see my balance going up some more I'll send you a donation.  Smiley
donator
Activity: 1653
Merit: 1286
Creator of Litecoin. Cryptocurrency enthusiast.
Feel free to copy (or steal!) my spreadsheet formulas. Yeah, Google docs is pretty powerful.
k
sr. member
Activity: 451
Merit: 250
thanks ChocoboLee,

learned a lot from this. Never knew Google docs were so powerful.
I copied (stole Wink) many of your ideas and made this live arbitrage chart with USD/BTC prices of the largest exchanges.

https://spreadsheets.google.com/spreadsheet/pub?key=0Arbegqx_2nKadElRaFlBYWljTURCMGl0R3prTkZsU2c&single=true&gid=1&output=html

@Sukrim - must check out the OpenSource Alternative Block Explorer, haven't come across it yet.

legendary
Activity: 2618
Merit: 1006
Instead of depending on blockexplorer.com you could also try to have these functions in the OpenSource Alternative Block Explorer and host a small instance yourself (on DynDNS for example).
hero member
Activity: 767
Merit: 500
Nice sheet.  You will need to export all your public keys including the hidden ones if you want the balance to be accurate.  And as theymos says, you really need to be using the mytransactions API to avoid hammering his server, I am querying 50 addresses at a time so only perform 3 GET requests for my entire wallet.

My android wallet balance viewer (link in my sig) does the same thing on Android. Shameless plug. Smiley

Will
donator
Activity: 1653
Merit: 1286
Creator of Litecoin. Cryptocurrency enthusiast.
The balance is totally useless for anything like this, as you've seen.

This is useful to me since for my savings account, I will rarely send money out. And when I do and there is a new return address, I will just add that address to my spreadsheet. I wish the client will let me specify a return address and not just create a new one, but that's another topic.

If you would provide the getsentbyaddress or getbalancebyaddress, I can make the spreadsheet use those APIs. Otherwise, html scraping is the best way.
foo
sr. member
Activity: 409
Merit: 250
Very nice. Smiley Posting to follow this thread...
Pages:
Jump to: