Good to see my pro-active attempt gained some interest (Sorry if it was spammy!)
OK, how about something like this:
(We'll leave workers and previous blocks for later versions.)
block =
{
"duration" = <seconds>,
"shares_total" = <total shares submitted so far for round>,
"shares_submitted" = <shares submitted by user (all workers)>,
"reward" = <estimated reward for current round or actual reward for previous rounds in Satoshis>
}
user =
{
"API" = 1.0.0
"current_round" = {<active block (as defined above)>},
"hash_rate" = <current hash rate in MH/s for all workers - implementation pool dependent>,
"last_activity" = <last submitted share time in unix time>,
"confirmed_reward" = <confirmed reward (>=120 valid blocks) in Satoshis>,
"unconfirmed_reward" = <unconfirmed reward (<120 valid blocks) in Satoshis>,
"total_payout" = <total amount of BTC payed out to user (could be reset by user? - up to pool)>,
"last_payout_value" = <value of last payout in Satoshis>,
"last_payout_time" = <time of last payout in unix time>,
"send_threshold" = <min confirmed reward before auto payout in Satoshis. 0 for no auto payment>,
"workers" = {<TBC>}
}
Some elements take from Slush here.
So to retrieve BTC info, the URL would be something like:
http://<pool>/api.php?key=<API key>¤cy=btc
or
http://<pool>/json/btc/<API key>
Then namecoin stats would be retrieved separately.
No real need (that I can think of) for URLs to be common/deterministic, down to the pool operator I should say.
At my end, I'd just use the entire URL in Anubis and deal with the data, not try and form the url.