I saw some answers suggesting contracts cannot be published in advance, in contrast to the Ethereum model.

Just to clarify: does this mean you do not ever deploy onto the chain itself? So, you always host an application yourself---somewhere---using the SDK that powers logic and execution, and the chain itself is not a compute environment, too, the way Ethereum is?

1 Answer 1


Correct. Stellar is not a "global computer" like Ethereum, it's a ledger that has building blocks that let you provide guarantees about when a transaction will be valid in the future. "Executing" a smart contract involves submitting these transactions to the network when appropriate.

For instance, an "escrow contract" may involve pre-signed transactions that allow the funder to reclaim their funds after 6 months. To redeem it, they would have to submit that pre-signed transaction 6 months later.

A developer at Interstellar published a great explanation of the consensus protocol that powers Stellar, it may help.

From the docs on smart contracts:

A Stellar Smart Contract is expressed as compositions of transactions that are connected and executed using various constraints.

It's also worth noting that, per the docs,

The Stellar network’s core protocol is still being actively developed, and currently has no guarantee regarding the backwards and forwards compatibility regarding long lived smart contracts at this time.

Extremely long-lived smart contracts right now are not recommended.

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.