04/25/2005 If you want to get creative, you could make a peer-to-peer negotiation system where limit orders get kept on the traders' individual machines rather then being sent into your server. Each time someone enters a new order, it sort of makes the rounds and gets sent to all the other traders' machines looking for a match - kinda like a big, specialized instant messenger system. You'd have to be very carefull to make sure that at every step the message is treated as a message rather than an order to avoid triggering ATS. If you wanted to be *really* cool, you'd actually build it on top of an existing instant messengering system like AOL or YAHOO so that no one could ever alledge that it was an ATS - it would just be a very fancy IM client. Very straight forward. First you make a little text-based protocol with messages like... "OFFER #71723 - I WANT TO SELL 1000 IBM 41 TIMEOUT 45" "ACCEPT #2342- I WANT TO BUY 1000 IBM 41" "ACCEPTED #44354- DONE - I WILL FORWARD TO BROKER FOR CONSUMATION" "TRADE REQUEST #44354 - I SELL 1000 IBM 41 TO BIGJOSH" "TRADE REQUEST #44354 - I BUY 1000 IBM 41 FROM BIGJOE" "TRADE CONFIRMED #44354 - YOU SOLD 1000 IBM 41 TO BIGJOSH" "TRADE CONFIRMED #44354 - YOU BOT 1000 IBM 41 FROM BIGJOE" ...then make a very simple IM front end that makes it easy for people to generate and view these messages. It would have something that looked like an order entry screen that would send out the "OFFER" messages. You would definately not call it an order entry screen. It would also listen for all the incoming "OFFER" messages and keep them in a database so you could display something that looked like a quote for a given stock. You would definately not call it a quote. You would make it so that clicking on one of the displayed "OFFER" messages would automatically send an "ACCEPT" message back to the person who sent the "OFFER". Finally, you'd have to make the very simple IM client on your end that would listen for pairs of incoming "TRADE REQUEST" messages, create a trade report and ticket, and then send back "TRADE CONFIRMED" messages to the participants. You have to handle some edge cases. When more then one person responds to an "OFFER", you need to generate a "TOO LATE" message to the loosers. Same if the offer is withdrawn. You'd also have to handle cases where you only get one "TRADE REQUEST" message. Finally, you'd have to put a lot of thought into your policies. You'd probably want to change usernames very frequently so that people get anonymitity.You'd want to keep track of people who put in "OFFER"s and then prematurely cancel them in hopes of seeing how many "ACCEPT"s come in. Not hard stuff, but stuff that you have to get right or people will game the system. You could use PGP hashes to sign the messages and ignore messages that fail the signature check. This prevents fake people from crashing the party, and prevents real people from saying "that wasn't my message!" when things don't go thier way. You could even have clearing firms double sign orders showing that they will stand behind the trade. Now you don't even have to trust your counter party, the trade is not done until it is effectively also (almost instantly) cleared. Should be very easy to write since you don't have to do any of the messaging yourself. No networks to build either. Use any or all of the existing systems. If you can send a text message over it, you can trade over it. You could even postpone writing the part that lives at your office and just do it by hand in the begining. You should publish the text protocol so that other people can build custom software to enter and display messages.You should charge nothing for participating in the system and using the software. You should make your charge for doing the reporting and clearing be *very* low. You should be very receptive to people who don't want to use you as thier broker and offer them an easy pass-though mechanism. If you do these things, and the software works well, and you get critical mass, and you make sure it can't be gamed, you will quickly own the world. So, you are going to build it? Send me a link next week when it is done so I can try it out! -josh