This is going to be a brief article as i am limited on time at the moment but feel this issue should be addressed, even if just briefly.
While many of us look to save money by taking rocks from our yards, local lakes/rivers/ocean side to use in our fiddler crab or aquarium tanks, it may not be such a wise idea. Rocks generally contain minerals and some metals and those minerals and metals can be dangerous to the aquarium environment. A lot of rocks contain calcium and/or magnesium, which can pollute a tank by raising ph and water hardness. Some rocks contain copper, zinc, and iron. Copper is incredibly dangerous to aquatic invertebrates and iron should be kept out of the aquarium as should zinc because both can poison aquatic animals. Some minerals can raise or lower the ph of water. When the ph of the tank gets lower, some metals in certain stones that were once "inactive" can become "activated" and leach into the water to cause havoc for the animals in the aquairum.
Calcium is fairly easy to test for in rocks. You can put white vinegar on a rock to see if the rock will give off a bit of fizz/bubbling. If it does, calcium is present and that rock should not be put in a tank with animals. Iron is somewhat easy to spot in some rocks exposed to rain and the elements, it takes on a rusty orange appearance.
As a general rule, avoid rocks that you can scratch easily with your nail, that can break easily (like sandstone, shale, limestone), that get muddy after being wet, and those that feel chalky.
Slate (fairly cheap and easy to find at home centers and pet stores)
Granite (rather abundant in a lot of areas, fairly cheap at home centers and pet stores)
Pumice (technically a glass, it usually floats and should not be heated to sterilize it since it can blow up)
Obsidian (technically a glass, often sharp, use with great caution due to the sharpness)
Lava rock (refer to pumice).
Sandstone (some animals can tolerate it in the tank but it's better to be safe than sorry, avoid it as it can raise ph and water hardness and sometimes can contain "fool's gold" and other trace minerals, if you don't know the composition of the sandstone, don't use it)
Limestone (raises ph and water hardness, may contain iron pyrite)
Fool's Gold aka Iron Pyrite (lowers ph making conditions acidic and can also contain lead, copper, and zinc)
Amethyst (a type of quartz but what gives it its purple color, iron and manganese, is what can harm your fish/invertebrates)
Gypsum/Alabaster (is pretty much entirely calcium sulphate)
Marble (made of calcite)
For mineral/rock reference: