A chain_extension is one way to call into the runtime from a smart contract on the contracts pallet.

What other methods exist, and why might you use them instead of the extension pattern?

1 Answer 1


With an ink! smart contract, you are interacting with the runtime via the contracts-pallet and it's default defined API. If you want to extend the contracts-pallet API, the recommended ink! way of doing so is to use the chain extension feature - it's built into the contracts-pallet and ink!.

Of course you are not limited to this, imagine contracts-pallet with evm-pallet and cross-contract interaction or even cross-chain contract interaction.

Your Answer

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

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