Overview
OP_VRFVERIFY enables verifiable randomness in Arkade Scripts by validating VRF (Verifiable Random Function) proofs. The opcode ensures that a random value was correctly derived from a seed by the introspector's VRF key.
VRF = keyed hash function. only the onwer of vrf_secret_key can compute the hash. preventing grinding of the random value.
Opcode
| Field |
Value |
| Opcode |
OP_VRFVERIFY |
| Hex |
? |
Stack Behavior
Input Stack (bottom to top)
<seed> // 32 bytes — input to VRF
<vrf_output> // 32 bytes — the random value (gamma point, hashed)
<vrf_proof> // 80 bytes — VRF proof (Gamma || c || s)
<vrf_pubkey> // 33 bytes — compressed pubkey of VRF signer
Output Stack
Success: <vrf_output> (32 bytes) — the verified random value remains on stack
Failure: Script fails immediately (like OP_CHECKSIGVERIFY on bad sig)
Overview
OP_VRFVERIFYenables verifiable randomness in Arkade Scripts by validating VRF (Verifiable Random Function) proofs. The opcode ensures that a random value was correctly derived from a seed by the introspector's VRF key.VRF = keyed hash function. only the onwer of vrf_secret_key can compute the hash. preventing grinding of the random value.
Opcode
OP_VRFVERIFYStack Behavior
Input Stack (bottom to top)
Output Stack
Success:
<vrf_output>(32 bytes) — the verified random value remains on stackFailure: Script fails immediately (like
OP_CHECKSIGVERIFYon bad sig)