After doing extensive research I have found many problems with people using Peat Moss. Peat Moss has to be replaced very often due to how fast it decays. If not replaced, it will prevent root growth. I've learned a soil that has a higher concentration of fine clay particles over organic matter I've learned is best suited for plant growth. A substrate that is capable of changing the water chemistry is also something to avoid.

Quote Originally Posted by aquaticcommunity.com
"Ideally, you should select a substrate that is inert and that will not alter your water chemistry. The perfect substrate will also have a high Cation Exchange Capacity. The Cation Exchange Capacity refers to the ability of the medium to absorb nutrient ions. Simply put, this means that your substrate will hold on to the nutrients and make them available to plant roots."
Sand and gravel are bad at providing nutrients to plants. The best one I've found is to use flourite. Very nice looking and nutrient rich. Heres a list of bad (no nutrients) and good (plants will thrive) substrate


Bad: sand, gravel, peat moss, potting soil, compost


Good: flourite, laterite, Eco-Complete, ADA Aqua Soil

I believe it is also a good idea to cap your substrate meaning putting small layer of regular gravel on top of your desired bottom layer. This will prevent cloudiness of your water and protect the animals inside from scraping against sharp substrate such as flourite. Top layer can't be too thick though roots need to be able to reach the bottom.