In a multi signature transaction, we can define the Signer Type as SHA256 through the Set Options operation


Since Stellar uses Ed25519, why not use Ed25519 only?


2 Answers 2


SHA-256 hash signer type is used for Hash(x) alternate signature type. Here is how it works:

  • You pick a secret x - there are no restrictions on the value of x but for security reasons it should be a random 256 bit value.
  • You calculate the SHA-256 hash of x and add it (the hash of x) as a signer to the account using set_options operation.

Let's say that master key weight is equal 1, SHA-256 hash signer weight is also 1 but thresholds on the account are set to 2. Normally (with a single ed25519 signer) you only need to attach a signature generated using the private key of the account. But with SHA-256 signer you also need to know the preimage of the hash (so basically you need to know x that when hashed: SHA-256(x) gives a signer on that account).

This allows you to implement interesting concepts on Stellar, including lighting network.


The SHA256 signature is one of the alternate signature types. You can safely use a public key of any Stellar account as a signer with a Set Options operation.

Once you add the additional signer account you will be able to use the corresponding private key to sign the transactions on behalf of the source account.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.