If you’re encountering an “Execution failure: ONLY_OPERATOR” error while interacting with the Sepolia staking contract, this usually means that the contract only allows a specific operator to execute this transaction. From the image, it looks like you’ve used the Operator L2 Address as per the documentation; however, ensure that the contract recognizes this address as an authorized operator.
Check if this address is properly set up as an operator in the contract. If everything appears correct, consider contacting the contract owner or authorized operator to verify the address permissions. Reviewing the staking contract documentation once more may also help clarify the issue.
Did you mean to interact with the Operator contract instead?
Because I was able to sign the transaction.
Is the Validator registration already live, I was not able to find anything on that?
Furthermore, I tried to increase my stake, but I assume I have to wait until the transaction is confirmed on L1 as well, as I am getting the error, that the staker does not exist?
Yes, it sounds like interacting with the Operator contract might be the right step here, as it’s often responsible for processing these types of transactions. If you’ve been able to sign the transaction, it could indicate that you’re set up on that front.
Regarding Validator registration, it might still be in the process of going live if you haven’t found any related info. It could also be worth checking if there’s a registration announcement or documentation update for any recent steps.
For increasing your stake, you’re correct; you’ll typically need to wait for the transaction to confirm on L1. The “staker does not exist” error can show up if the transaction hasn’t fully propagated yet. Try monitoring it to see when it’s finalized on L1, then give the increase another shot.
The “ONLY_OPERATOR” error occurs because you’re trying to interact directly with the staking contract. You need to interact through the Operator contract instead.
For increasing your stake:
The initial stake must be confirmed on L1 first
“Staker does not exist” error appears because your stake isn’t confirmed yet
You can increase your stake after L1 confirmation
Validator registration isn’t live yet - continue monitoring official announcements.
Your 120 STRK approval was successful. Next step would be to execute the stake function through the Operator contract rather than directly calling the staking contract.
Would you like the specific Operator contract function details to proceed with staking?
Thank you both for helping, I managed to set up two validators and increases stakes, delegate stakes and claim rewards through the operator and pooling contracts as per the documentation.
Yes, you tried to interact with the three contract types you mentioned (smart contract, operator contract and delegator contract).
You are partly right and partly wrong about full node and validator procedures:
For full nodes: You are wrong in this part. Full nodes DO run on testnet. You can run a full node using Pathfinder or Juno.
For validator registration procedures: You are CORRECT about this. Validator registration procedures are not yet fully ready and active.
To summarize:
Full nodes: Available and working
Validator registration: Not ready yet
I did indeed run a sepolia testnet node, utilizing the juno client and it was fully synced up until recently.
The mainnet node is still operational and fully synced.
I might spin up another testnet instance for the validator registration process.
In amount, enter the number of STRK tokens you want to stake. Note: STRK has 18 decimals.
The part where it says “enter your address” had me stumped. In order to get the Stake call to work, I had to go back to approve and in spender instead of using my address I had to use 0x03745ab04a431fc02871a139be6b93d9260b0ff3e779ad9c8b377183b23109f1 as the spender in order for it to work?
Is this correct? Seemed to work after that. Wondering if that is a mistake in the docs. Thanks
Thanks for this explaination,
I’m running a Juno full-node currently, and expect to become a validator on November 26th
But there is still some part of the docs that I don’t completely understand:
As the operational_address will need to perform validations, … Could it be an address created through Braavos, then with private key exported and store on the node machine, like it would be done for using Starkli with an account? To use it on a headless machine from CLI?
Where is the relation between the full node hosting and the staking process? (How can it be detected that a staker do not host a full-node? Or if the host is offline? Should we expose some of the node ports (RPC port/P2P port/…) to the internet or to some IP addresses?)