Live#…
Reading the chain…
Network now · GullyChain Testnet
Block
—
Txs · 30 blocks
—
Gas, gwei
—
Launches
—

Run a Sentry

On this page

Live

Live on testnet. sentry.gullychain.xyz mints free testnet Sentry Keys. Testnet keys have no monetary value, cannot be bought or sold for money, and never convert into mainnet keys or tokens. There is no paid sale.

A Sentry Key is a licence to run the Gully Sentry watcher: a small program that reads every assertion GullyChain's validator posts to the rollup on Arbitrum Sepolia, compares it with GullyChain itself, and signs a heartbeat for each key every 10 minutes. A wrong block hash or send root is a mismatch: the watcher alerts (webhook or Telegram) and reports it.

#1. Claim a free key

  1. Open sentry.gullychain.xyz and Sign in with Gully (Gully ID, optional but recommended).
  2. Connect the wallet that will hold the key.
  3. Check the eligibility list and press Claim free key. You sign one message; Gully Labs pays the mint gas.
Rule Why
One free key per Gully ID account Enforced on-chain: the mint order id is bound to your Gully ID
One free key per wallet Enforced on-chain (maxTotal = 1)
The wallet needs history: at least one transaction on GullyChain or Arbitrum Sepolia, or it is your Gully wallet Same rule as the faucet; stops throwaway-address farming
Not offered in sanctioned regions Compliance

Direct calls to the sale contract are refused (NotEligible): free keys only come through the site.

#2. Run the watcher

The watcher is one JavaScript file, served from the Sentry site with its SHA-256. You need Node.js 20+ or Docker.

Shell
curl -fsSLO https://sentry.gullychain.xyz/downloads/gully-sentry.mjs
curl -fsSL https://sentry.gullychain.xyz/downloads/gully-sentry.mjs.sha256 | sha256sum -c -
node gully-sentry.mjs init          # creates the operator hot key, prints its address

Delegate your key to the operator address on the Run a sentry page (one transaction from the wallet that holds the key), then start it:

Shell
SENTRY_KEY_CONTRACT=0xa24bF9f0eA1AE5F5226d8F7e714cEa3537aa30Ac SENTRY_TOKEN_IDS=<your key> node gully-sentry.mjs run

Docker, in the folder that holds the file:

Shell
docker run -d --restart unless-stopped --name gully-sentry -v gully-sentry:/data \
  -v "$PWD/gully-sentry.mjs:/app/gully-sentry.mjs:ro" \
  -e SENTRY_KEY_FILE=/data/operator.key -e SENTRY_CONFIG=/data/gully-sentry.json \
  -e SENTRY_KEY_CONTRACT=0xa24bF9f0eA1AE5F5226d8F7e714cEa3537aa30Ac -e SENTRY_TOKEN_IDS=<your key> \
  node:22-alpine node /app/gully-sentry.mjs run

Use your own RPC for the strongest check: SENTRY_L3_RPC=https://rpc.gullyrpc.xyz/<project>/evm/485590 (Gully RPC (opens in a new tab)) or your own Nitro node. Within 10 minutes your key shows its last heartbeat on the Run page and on the network view.

#Contracts (GullyChain Testnet, 485590)

Contract Address
Gully Sentry Key, tGSK (ERC-721, soulbound until unlock) 0xa24bF9f0eA1AE5F5226d8F7e714cEa3537aa30Ac
SentrySale (free tier only, KYC gate on for direct buys) 0x8eef397b2A8cb66e71D5C931a102c8Be29b36595
SentryRewards (epoch Merkle distributor, no reward model live yet) 0x2911b6A19350b72A158Af338729adDb5FeE29A21

All three are verified on verify.gullychain.xyz. Rewards are not promised; see the risk disclosure.