Seahorses are very messy eaters who produce a lot of waste. The smaller the aquarium, the harder it will be to manage this, and the less room you have for error when it comes to your water parameters. 29 gallons is very, very small for a seahorse tank and probably only good for one at the most, just because of the limited water volume. If you want to avoid expense then I would not do seahorses. The plants that seahorses do well with need a good coral light and a plant light. Also, you will need an efficient skimmer with your seahorse to make keeping water quality possible. This can be helped by planting macro algae. While snails are okay, crabs can injure sea horses and will eat your macro algae. Starfish need to remain small, usually micro brittle stars are ok, but anything bigger could also become a predator. As for a heater, a standard in tank heater is usually enough, and seahorses need to be kept at a lower temp than what you would keep most fish to lower risk of bacterial infection. As for the substrate you use, that will be determined by what type, if any, plants you put into the tank.
Most importantly, you want to make sure you get captive bred seahorses. These seahorses are taught to eat frozen foods rather than having to keep the tank stocked with live ghost shrimp of the appropriate size so they can eat.