Nonceworks

Check a Monitor or Relayer config

Static checks of the kind the control plane runs before a stack starts: files parse, references resolve, secret sources are spelled the way each program expects, and the configuration patterns behind the open upstream bugs get flagged. Your file is sent to the Nonceworks server, checked there and not stored; nothing in it is executed.

The ZIP Defender exported, a folder with monitors/, triggers/, networks/ zipped, or a single config.json for the Relayer. ZIP or JSON, 2 MB at most.

This uploads the file to our server, where it is checked and not stored. The checks only need secret references, so you can strip secret values first.

no file chosen

The sample is a Base USDC transfer monitor with a webhook trigger. Download it to see what goes in.

What a report looks like

This is the checker's own output for the sample export with two mistakes put in on purpose: the webhook secret's source spelled env, the Relayer's spelling, and a status condition without gas_used.

Filesmonitors/base_usdc_large_transfer.json networks/base_mainnet.json triggers/webhooks.json
MonitorsBase USDC transfers over 10k
Triggersusdc_webhook (webhook)
Networksbase_mainnet
Secrets to provideWEBHOOK_SECRET WEBHOOK_URL
Errors
  • error triggers/webhooks.json secret source type 'env' for WEBHOOK_SECRET: the Monitor accepts plain, environment or hashicorpcloudvault; env is the Relayer's spelling and the Monitor exits with 'Failed to load triggers' note
Warnings
  • warning monitors/base_usdc_large_transfer.json transaction condition with status Failure and no gas_used in the expression: on busy chains it will not classify correctly on 1.6.0 note

Checks

AreaCheck
FilesEvery .json parses; the error names the file, line and column.
MonitorRequired keys on monitors, triggers and networks. Monitors reference networks and triggers that exist. Trigger types are valid. Signatures are Solidity-style with no spaces. Secret sources are environment, not env. Status conditions without gas_used (issue #498). Cron fields and max_past_blocks on networks.
RelayerRelayers reference signers, notifications and networks that exist. Signer types, plain-text secrets, short signing keys. gas_price_cap (issue #808), single RPC endpoints (issues #843 and #817), missing whitelist_receivers.
SecretsLists every environment reference so you know what to provide. Values are never requested.

Static checks only. The Monitor's own --check runs in the control plane before a stack starts, judged by its output, since 1.6.0 exits 0 even when validation fails (monitor #501).