See the Injective Chain API Docs for examples of generating, signing, and broadcasting transactions using the Python, Go, and TS SDKs.
For Ledger support, transactions should be created and signed with the TS SDK. See here for transactions in TS and here for signing with Ledger.
Transactions can also be generated, signed, and broadcasted through the
injectived CLI. See Using Injectived for an overview of the process, or Commands for documentation on possible transactions types.