It's easy to turn an ordinary flame into a rainbow-colored flame. This flame was produced by burning ordinary gel fuel, which is sold for decorative clay fire pots. You can find the pots at just about any home store (e.g., Target, Home Depot, Wal-mart, Lowes). The gel burns at a fairly cool temperature, slowly enough that a small cup maintains a flame for hours.
All you need to do to duplicate this effect is sprinkle boric acid onto the gel. You can find boric acid as a roach killer or disinfectant powder. Only a pinch of boric acid is needed. Eventually, the gel fuel will be consumed, leaving the boric acid behind. You don't need to add more chemical to the pot to maintain the color, but if you ever want to return to an ordinary flame you'll need to rinse the boric acid away with water before the next use.
How the Rainbow Effect Works
Boric acid doesn't actually burn in the flame. Instead, the heat of combustion ionizes the salt, producing a characteristic green emission. The alcohol of the gel fuel burns blue, edging toward yellow and orange where the flame is cooler. When you put the alcohol-based flame together with the boric acid emission spectrum you get most of the colors of the rainbow.
Boric acid isn't the only salt that colors flames. You could experiment with copper salts (blue to green), strontium (red) or potassium salts (violet). It's best to use a single salt because mixing them together more often produces a yellow flame than a multicolored flame. This is because the brightest emission comes from sodium, which burns yellow and is an extremely common contaminant of many household chemicals.