Portland Cement type 2, Sand Topping Mix, Fibers, Concrete Bonder, Styrofoam for skeleton.
2 Layers of Glass Fiber Reinforced Concrete and 1 layer without fibers. If you use fibers that look like cotton, you can use GFRC for the last coat as well. Its best to use fibers that consist of single tiny strands and not strand clumps. We use fibers that I don't like but still, after 1/2" on GFRC is cured, you can stand on it.
YOu need to use a bonding agent so that the concrete can bond with the single strand fibers. The GFRC mix will be weaker without any bonder. You can get Concrete Bonder at your local hardware store usually. The more you use, the better.
After which, you can use Acid Stains to color the create. We use white and black paint for a granite look.
You will have to seal the create for it to be Aquarium Safe. I HIGHLY recommend Trojan Masonry Sealer form Ecosafe Manufacturing. The best clear sealer to use for areas around aquatic life. I only question the use of the Bonding agent. I don't believe the Bonding agent is toxic but I will do more research on that. Sealing the create with TMS will stop any leaching of anything.