Below is the answer by Stuart in discord:
The specs for parsing transactions are here:
https://github.com/radixdlt/radixdlt/blob/develop/docs/transaction-specs/specs/parsing.md.
I implemented the spec to create my own parser but there is a Rust example here:
https://github.com/radixdlt/radixdlt/tree/develop/docs/transaction-specs/test/parser