This sounds like the bug is not in the derivation path then.
You should paste your code otherwise it is hard to find people who can help you.
The API is described here: Threshold ECDSA: technology overview | Internet Computer
There it says for the function ecdsa_public_key:
- The
derivation_pathis a vector of variable length byte strings. - each byte string (blob) in the
derivation_pathmust be a 4-byte big-endian encoding of an unsigned integer less than 2^31
So I would start by calling that function directly by hand with arguments of type [Blob] and debug from there. Then call the function that you were using that wraps around ecdsa_public_key and that takes arguments of type [[Nat8]]. Then try by hand with value [[0,1,2,3]]. See if that gives you valid addresses. Etc.
I have never used the API myself, so can only guess. But I’m sure if you post code then there will be people who can help you.