I'm trying to make chromatic abberation metal, commonly know as "holographic" metal which looks like the attached image. With glass this is achieved by changing the IOR values for a red, green, and blue glass node and mixing them. I figure this can be similarly achieved with Glossy texture nodes reflecting each color at slightly different angles, but I'm not good at playing with normals yet so i dont know how to define a slightly different normal angle for each color.
It's up to you to play with the values and other options to get something you like, but here is one way to play with the normals of red, green, and blue glossy shaders:
Mapping nodes are used to adjust the "Rotation" values of the "Normal" output from the "Geometry" node. I added some displacement to the cube to highlight the effect. It's not all that close to your example, but maybe it's a good starting point for you to experiment.
I after trying out the first answer i sort of went down a rabbit hole, but i figured it out another method for creating holographic metal/rainbow chrome.
spread is the spread distance of the colors, amount is the initial amount of displacement between white and purple, roughness.c is the color roughness and roughness.w is the white roughness
This is the first group of groups where each of the 8 different rainbow ray angles is defined by modifying each group's individual x/y/z angles to be either positive or negative. it also routes the roughness and spread distances.
This is the second group where each color's normal is defined and mixed. all the colors are mixed and finally mixed with a white glossy node at the end. The "amount" goes into add nodes that continually stack the spread value higher and higher on itself for each color, and that output is multiplied by the group's x/y/z modifiers that make it positive or negative. Those x/y/z values are then plugged into another group's x/y/z to do the rotation calculations for each.
this is the x/y/x rotation group.
this is the inside of the x rotation node group, i learned how to do this from this thread: