1"use strict";(globalThis.webpackChunksentinel_docs=globalThis.webpackChunksentinel_docs||[]).push([[6267],{29833(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"commands/transactions/staking","title":"Staking","description":"With Sentinel Hub, you can execute various operations to engage with staking.","source":"@site/docs/sentinel-hub/commands/transactions/staking.md","sourceDirName":"commands/transactions","slug":"/commands/transactions/staking","permalink":"/sentinel-hub/commands/transactions/staking","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"title":"Staking","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Send","permalink":"/sentinel-hub/commands/transactions/send"},"next":{"title":"VPN","permalink":"/sentinel-hub/commands/transactions/subplan"}}');var i=a(74848),s=a(28453);const r={title:"Staking",sidebar_position:3},d="Staking",o={},l=[{value:"Delegate",id:"delegate",level:2},{value:"Redelegate",id:"redelegate",level:2},{value:"Unbond",id:"unbond",level:2},{value:"Withdraw Staking Rewards",id:"withdraw-staking-rewards",level:2},{value:"Set Withdrawal Address",id:"set-withdrawal-address",level:2},{value:"Create Validator",id:"create-validator",level:2},{value:"Edit Validator",id:"edit-validator",level:2},{value:"Unjail Validator",id:"unjail-validator",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"staking",children:"Staking"})}),"\n",(0,i.jsx)(n.p,{children:"With Sentinel Hub, you can execute various operations to engage with staking."}),"\n",(0,i.jsx)(n.h2,{id:"delegate",children:"Delegate"}),"\n",(0,i.jsx)(n.p,{children:"To delegate to another validator address type the following command in your terminal:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sentinelhub tx staking delegate <sentvaloper_validator_address> \\\n <amount>udvpn \\\n --from=<your_keyname> \\\n --chain-id=sentinelhub-2 \\\n --node https://rpc.sentinel.co:443 \\\n --gas-prices=0.5udvpn \\\n --gas=300000\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Make sure to replace ",(0,i.jsx)(n.code,{children:"<sentvaloper_validator_address>"}),", ",(0,i.jsx)(n.code,{children:"<amount>"}),", and ",(0,i.jsx)(n.code,{children:"<your_keyname>"})," with the appropriate values for your delegation."]}),"\n",(0,i.jsx)(n.h2,{id:"redelegate",children:"Redelegate"}),"\n",(0,i.jsx)(n.p,{children:"To redelegate to another validator address type the following command in your terminal:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sentinelhub tx staking redelegate \\\n <source_validator_address> \\\n <destination_validator_address> \\\n <amount>udvpn \\\n --from=<your_keyname> \\\n --chain-id=sentinelhub-2 \\\n --node https://rpc.sentinel.co:443 \\\n --gas-prices=0.5udvpn \\\n --gas=300000\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Make sure to replace ",(0,i.jsx)(n.code,{children:"<source_validator_address>"}),", ",(0,i.jsx)(n.code,{children:"<destination_validator_address>"}),", ",(0,i.jsx)(n.code,{children:"<amount>"}),", and ",(0,i.jsx)(n.code,{children:"<your_keyname>"})," with the appropriate values for your delegation."]}),"\n",(0,i.jsx)(n.h2,{id:"unbond",children:"Unbond"}),"\n",(0,i.jsx)(n.p,{children:"To unbond your staked amount from a validator type on your terminal"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sentinelhub tx staking unbond <sentvaloper_validator_address> \\\n <amount>udvpn \\\n --from=<delegator_address> \\\n --chain-id=sentinelhub-2 \\\n --node https://rpc.sentinel.co:443 \\\n --gas-prices=0.5udvpn \\\n --gas=300000\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This command will unbond the specified ",(0,i.jsx)(n.code,{children:"<amount>"})," of udvpn tokens from the validator identified by ",(0,i.jsx)(n.code,{children:"<sentvaloper_validator_address>"}),". Ensure that you replace ",(0,i.jsx)(n.code,{children:"<your_keyname>"})," with the actual name of your key."]}),"\n",(0,i.jsx)(n.h2,{id:"withdraw-staking-rewards",children:"Withdraw Staking Rewards"}),"\n",(0,i.jsx)(n.p,{children:"To claim both your staking rewards and commissions, execute the following command in your terminal:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sentinelhub tx distribution withdraw-rewards <sentvaloper_validator_address> \\\n --from=<your_keyname> \\\n --commission \\\n --chain-id=sentinelhub-2 \\\n --node https://rpc.sentinel.co:443 \\\n --gas-prices=0.5udvpn \\\n --gas=300000\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Replace ",(0,i.jsx)(n.code,{children:"<sentvaloper_validator_address>"})," with the actual validator address you staked with, and ",(0,i.jsx)(n.code,{children:"<your_keyname>"})," with the name of your key. Adjust the gas prices and limit according to your preference and network conditions."]}),"\n",(0,i.jsx)(n.h2,{id:"set-withdrawal-address",children:"Set Withdrawal Address"}),"\n",(0,i.jsx)(n.p,{children:"To set an alternative address for withdrawing your rewards, use the following command:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"sentinelhub tx distribution set-withdraw-addr <withdrawal_address> \\\n --from=<your_keyname> \\\n --chain-id=sentinelhub-2 \\\n --node https://rpc.sentinel.co:443 \\\n --gas-prices=0.5udvpn \\\n --gas=300000\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Make sure to replace ",(0,i.jsx)(n.code,{children:"<withdrawal_address>"})," with the actual address you want to set as your withdrawal destination and ",(0,i.jsx)(n.code,{children:"<your_keyname>"})," with your specific key name. Adjust other parameters as needed."]}),"\n",(0,i.jsx)(n.h2,{id:"create-validator",children:"Create Validator"}),"\n",(0,i.jsx)(n.p,{children:"Create a new validator and initialize it with a self-delegation."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'sentinelhub tx staking create-validator \\\n --broadcast-mode=block \\\n --min-self-delegation=1 \\\n --amount=<self_delegation_amount>udvpn \\\n --commission-max-change-rate=0.01 \\\n --commission-max-rate=0.2 \\\n --commission-rate=0.07 \\\n --moniker="<validator_name>" \\\n --pubkey="<full_node_public_key>" \\\n --from="<validator_key_name>" \\\n --chain-id=sentinelhub-2 \\\n --gas=300000 \\\n --gas-prices=0.5udvpn\n'})}),"\n",(0,i.jsxs)(n.p,{children:["If you're currently in the validator creation process, refer to ",(0,i.jsx)(n.a,{href:"/full-node-setup/validate/become-validator",children:"this page"})," in the full node guide for further assistance."]}),"\n",(0,i.jsx)(n.h2,{id:"edit-validator",children:"Edit Validator"}),"\n",(0,i.jsx)(n.p,{children:"The Edit-Validator transaction lets you update different aspects of your validator, like the description, website, security contact, commissions, PGP identity, and moniker."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'sentinelhub tx staking edit-validator \\\n --identity=<your_pgp_key_with_no_spaces> \\\n --website="<https://your_new_website.com>" \\\n --security-contact="<email_address>" \\\n --details="<new_validator_description>"\n --moniker="<new_validator_moniker>" \\\n --commission-rate=<new_commission_rate> \\\n --from="<validator_key_name>" \\\n --chain-id=sentinelhub-2 \\\n --gas-prices=0.5udvpn \\\n --gas=300000\n'})}),"\n",(0,i.jsxs)(n.p,{children:["If you want to update your validator's ",(0,i.jsx)(n.code,{children:"commission-rate"}),", ensure the new value falls within the limits set by the ",(0,i.jsx)(n.code,{children:"commission-max-change-rate"})," and ",(0,i.jsx)(n.code,{children:"commission-max-rate"})," parameters defined when the validator was created."]}),"\n",(0,i.jsxs)(n.p,{children:["Please note that in this scenario, the flag ",(0,i.jsx)(n.code,{children:"--node"})," is not utilized, assuming you are executing this command directly from your validator machine."]}),"\n",(0,i.jsx)(n.h2,{id:"unjail-validator",children:"Unjail Validator"}),"\n",(0,i.jsx)(n.p,{children:"The Unjail Validator transaction allows you to release your validator from a jailed state and restore it to its usual operational status."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'sentinelhub tx slashing unjail \\\n --from="<validator_key_name>" \\\n --chain-id=sentinelhub-2\n'})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},28453(e,n,a){a.d(n,{R:()=>r,x:()=>d});var t=a(96540);const i={},s=t.createContext(i);function r(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.