Heya, folks.
I've tried doing some searching, but my search-fu is weak today, for I have turned up nothing.
I'm looking for software that can be configured to monitor a Bitcoin receiving address, and when any BTC are sent to that address, it automatically divides that amount up according to preset rules and forwards it on to other addresses. Does anyone know of existing software that does this?
Here's the scenario I'm running through my head. I'm seeing lots of new mining hardware come out that has the potential to create a lot of bitcoins -- hardware in the hundreds of Gh/s, even Th/s if you get multiples. I'm considering doing a small group investment opportunity for friends and family, not a public deal. We'd all pitch in to buy some of the mining hardware, then share in the revenues. What I'm looking for is software to automate and manage this process.
Here's my first pass at writing the requirements for this idea. I don't necessarily expect existing software to do all of this, but something pretty close would be awesome.
- Receive bitcoins at one or more receiving addresses.
- When funds are received at a monitored address, apply the associated ruleset(s).
- A ruleset is a set of instructions for distributing the received BTC. Ruleset actions can include one or more of the following:
- Hold funds until a threshold is reached.
- Hold funds for a set amount of time after it is received.
- Hold funds until a set amount of confirmations are received.
- Hold funds for a relative date (e.g., first Monday of the month, or last day of each month).
- Hold funds for an absolute date (e.g, specifically on August 13).
- Distribute a fixed amount of funds to one or more target addresses. Each target address can be configured with its fixed amount.
- Distribute a percentage of funds to one or more target addresses. Each target address can be configured with its own percentage.
- Send an email message to one or more fixed email addresses.
- Send an email message to an email address associated with a target bitcoin address.
- Stop processing instructions in this ruleset, but continue with the next ruleset (if any).
- Stop processing instructions in all rulesets for this address. (Stop processing this ruleset, and skip any rulesets that have not yet run.)
- Each address can have zero or more rulesets associated with it. An address with no rulesets just holds coins, like a normal bitcoin address.
- Each ruleset can apply to zero or more receiving addresses. A ruleset can be created at any time and just be stored in the system until the administrator associates it with an address.
- The order in which rulesets are applied to a particular address must be configurable. If multiple rulesets are associated with an address, all are applied sequentially, in the order specified.
- Ruleset actions are applied sequentially within a ruleset, in the order specified.
- If a ruleset contains a percent-based distribution instruction, it applies to the entire balance held at that receiving address at the time the instruction is applied.
- Addresses must have human-readable and editable labels, so the user can tell what each address is for.
- Rulesets must have human-readable and editable labels, so the user can describe what it does.
- The program must have a user-friendly interface, either a GUI or Web-based front end.
So, here's how this might play out. I collect funds from friends and family and buy some hardware. We agree that the proceeds will be distributed proportionally to each person's investment. I set up the hardware to mine, either solo or with a particular pool. Either way, payouts are received at a particular address. When a payout is received, it is held until both a threshold is reached and the first of the month comes around. At that point, a fixed amount is deducted to cover overhead and sent to me, and the remainder is distributed to the target addresses of the friends and family, as per the agreed proportions, along with a notice email. If there aren't enough funds to distribute, send an email to the recipients and let them know. Funds not distributed (including leftover amounts due to rounding) are held until the next batch of bitcoins is received.
The reason I call this "reverse pool" software is that traditional pools are designed to combine multiple miners, with payouts back to the individual miners. What I need is a single miner, with payouts to many people who are not miners. Come to think of it, a sufficiently flexible pool management program might be able to handle this scenario.
Does anyone know if software like this already exists?