>>> It would be cool to do it in such a way that you ship the crypto "fund" as a binary that users run on their own server, kind of like a smart wallet. The program would make automatic trades to rebalance some BTC you initially deposit. You could "withdraw" BTC with a sale (implementation detail) whenever you wanted.

I like the concept, a lot. In fact, I like it so much so that I'm going to toss out a bunch of unsolicited advice for you -- or whoever starts down the path to build a tool like this -- to consider.

My immediate concern would be ensuring the fund was large enough to support the counter party risk that everyone would take on as their tokens cycled between BTC and whatever else was in the index. If it's not large enough and you have a significant enough event that triggers a higher-than-normal BTC pull out you may end up in a situation where some number of the users are stuck with tokens that they can't do anything with.

The second concern I have is how you'd manage to avoid a situation of a eventual "death by a thousand cuts", wrt all of the token-specific fees that are automatically deducted for each transaction. Every trade the tool makes -- if conducted on-blockchain versus through a centralized service/layer -- will gradually erode the user's capital.

If you tried to aggregate the trades off-blockchain to avoid the individual transaction fees for every trade you introduce a whole new set of risks and challenges.

Finally, if you're doing everything on-blockchain, you need to consider that the "settlement time" for each transaction won't be consistent. The different tokens will take different amounts of time, and even within the same token there's going to be wild variability. For example, within the last two months I've had different BTC transactions take anywhere from 1 hour to 2 days to reach six network confirmations. I always include a (nominally) higher than the minimum required transaction fee to ensure I'm not actively dropped by miners, and it's as much a function of luck as it is lots of other variables that would be outside of your direct control. You could pay a larger fee per transaction in the hopes of getting the miners to prioritize your trades, but that leads you back to my early point about "death by a thousand cuts".

>> I wouldn't think there would be legal requirements there.

For you, the developer, maybe not if you give it away.

For the person running the software there are almost certainly going to be tax implications at a bare minimum (and all sorts of other local regulatory and legal "land mines") that they would need to consider.

If you'd like to charge money for the binary in the form of a perpetual license fee, you may be ok. I expect that you would eventually run in to regulatory issues if you set it up to charge a trading fee or subscription fee (ostensibly for "financial services" such as assisting with the matching of traders). It all depends on how quickly your tool reached a point where it was successful enough to draw the attention of some regulator, somewhere.

---

IANAL / IANAA, but I spent a number of years working full-time in the cryptocurrency space, so I've seen a bunch of great ideas up-ended by even the perceived threat of legal action.

I enjoy discussing these topics, so if you or anyone else would like to chat about it off HN, my contact info is in my profile.