Skip to content

sozo execute

execute is used to execute a World's system.

Performing a system execution requires sending a transaction, therefore, execute expects an account address as well as its respective private key in order to sign the transaction before sending it.

As sozo has access to the manifests generated at compile time, you can provide either the name of the contract or its address to execute a system.


# you can use the name or address of the contract
sozo execute <CONTRACT> <ENTRYPOINT>

CONTRACT     The fully qualified name of the contract or it's address.

ENTRYPOINT     The name of the system to be executed.


General Options

--calldata [-c] CALLDATA
    The calldata to be passed to the system that you want to execute.
    Comma separated values e.g., 0x12345,0x69420.

World Options

    The address of the World contract.

Starknet Options

--rpc-url URL
    The Starknet RPC endpoint. [default: http://localhost:5050]

Account Options

--account-address ACCOUNT_ADDRESS
    The Starknet account address.

Signer Options - Raw

--private-key PRIVATE_KEY
    The raw private key associated with the account contract.

Signer Options - Keystore

--keystore PATH
    Use the keystore in the given folder or file.

--password PASSWORD
    The keystore password. Used with --keystore.

Transaction Options

--fee-estimate-multiplier MULTIPLIER
    The multiplier to use for the fee estimate. This value will be used on the estimated fee which will be used as the max fee for the transaction (max_fee = estimated_fee * multiplier).

--wait [-w]
    Wait until the transaction is accepted by the sequencer, returning the status and the hash. This will poll the transaction status until it gets accepted or rejected by the sequencer.

--receipt [-r]
    If --wait is set, returns the full transaction receipt. Otherwise, it does nothing.


  1. Executing the position system which takes two values (x: 0x77 and y: 0x44)
sozo execute moving_contract position --calldata 0x77,0x44