${NAME}, expanded at start; an unset reference fails with its
file line. panofx-node policy validate --policy policy.yaml checks a file and names the line of any error.
Two shapes load. The single-chain shape puts rpc_url, chain_id, contracts and corridors at
the top; it still works and counts as one chain. The multi-chain shape lists networks under chains:.
See Several chains.
node
signer
The signer signs EVM offers and is the node’s identity with the relay, on every chain.
solana_signer
Required when any chain has kind: solana. { backend: keyfile, keyfile: ./solana-keyfile.json },
created with panofx-node init --solana and opened with the same passphrase.
chains[]
PANOFX_EXECUTOR (one EVM chain) or PANOFX_EXECUTOR_<chain id> replaces contracts.executor at start.
corridors[]
One entry quotes both directions.
rate
Complete examples
policy.example.yaml (single chain, Base Sepolia) and policy.multichain.example.yaml (Base Sepolia and
Solana devnet) in the panofx-node folder are complete, working policies for the hosted relay. The
runbook reproduces the first.
