OfflineSigner is the interface CosmJS uses to abstract over any source of
signatures. It doesn’t matter whether the private key lives in memory, in a
browser extension, or on a hardware device — as long as it implements
OfflineSigner, it works with SigningStargateClient.
OfflineDirectSigner (Protobuf / Direct)
The modern default. Signs raw Protobuf-encoded bytes. Preferred for new applications.OfflineAminoSigner (Amino JSON)
The legacy format. Signs a deterministic JSON representation. Required for Ledger hardware wallets and some older chains.Signer Summary
All of these produce an
OfflineSigner. All of them work with
SigningStargateClient.connectWithSigner. The signing client doesn’t know or
care where the signature comes from — it just needs something that implements
the interface.