The transferFluid() function for the transposer component does not offer any way to specify which tank number on a given side to source from and which tank number to drain into.
There are already several functions to gather information about the number of tanks and their contents from a fluid handling block, yet there is no way to use this information and properly interact with multi-tank tiles like EnderIO Ender Fluid Conduits or similar.
When handling items with transferItem() this is no issue as there is a way to specify which slot to take from and which to drop into.
This means that while it is possible to do item routing with a Transposer, it is not possible to do the same for fluids. Adding two more parameters sourceTank:number and sinkTank:number to transferFluid() and dealing with them accordingly would fix that and make the fluid function work in the same way as the item one.
unfortunately, this is a limitation of forge. we can query metadata from tanks, but not control them. that's an internal behavior on multitanks
I found out that refined storage (1.12.2) can use Tinker's Construct Tank as external fluid storage via External Storage. And can access each sub fluid in Tank without any problem. I guess we can see how they achieved it.


The IFluidHandler API has three methods for fluid interaction:
Many mods like enderIO and OpenComputers use the first method, as that's the easiest option and is all that is needed for most situations.
However while the API does not offer a method to drain the fluid in a specified slot, it is possible to get the tank info array from the third method, use the slot number as index and aquire the Fluid object for that slot. This Fluid object can then be used to drain the correct fluid using method two.
Most helpful comment
cf. https://github.com/GTNewHorizons/OpenComputers/pull/8