{"ok":true,"rewardFinalityVerifier":{"schema":"odei.daorg.reward-finality-verifier.v1","version":"2026-05-16","self":"/api/daorg/rewards/verifier","scope":"global-criteria-verifier","state":"staged","criteriaReady":false,"resultSchema":"odei.daorg.reward-finality-verification.v1","readyToFinalizeReward":false,"specificReceiptRequired":true,"specificReceiptFinalityField":"rewardReceipt.finality.readyToFinalizeReward","specificReceiptFinalityTemplate":"https://daorg.odei.ai/api/daorg/rewards/receipts/{tid}/finality","finalityMode":"fail-closed-public-receipt-check","summary":"DAOrg-native reward finality is staged until contribution proof, agent review, human or holder confirmation, public receipt, and settlement evidence all pass.","sourceContract":{"schema":"odei.daorg.reward-decision.v1","route":"https://daorg.odei.ai/api/daorg/rewards/contract","status":"staged","operationalReady":false,"receiptSchema":"odei.daorg.reward-receipt.v1","receiptFinalitySchema":"odei.daorg.reward-receipt-finality.v1","receiptFinalityTemplate":"https://daorg.odei.ai/api/daorg/rewards/receipts/{tid}/finality"},"currentPaidFact":{"state":"live-operational","totalUsd":2447,"totalUsdLabel":"$2,447","totalEth":"0.55193194 ETH","paidFact":"https://daorg.odei.ai/api/daorg/rewards/paid","appRewardsLedger":"https://app.odei.ai/profile?intent=builder&launchPath=%2Flaunch-builder&tab=rewards#rewards"},"checkProgress":{"ready":0,"blocked":0,"staged":5,"total":5,"label":"0/5 reward finality checks pass"},"checks":[{"id":"contribution-proof-public","label":"Contribution proof is public-safe","publicUrl":"https://daorg.odei.ai/api/daorg/proofs","command":"curl -fsS https://daorg.odei.ai/api/daorg/proofs","requiredFields":["schema","proofHash","publicSafe","summary","evidence"],"closeRule":"The rewarded contribution must be represented by a public-safe proof artifact, not a private claim.","state":"staged","method":"GET","failClosed":true,"summary":"Verifier condition is staged and cannot be used to claim DAOrg-native reward finality yet."},{"id":"agent-review-batch","label":"Agent review batch exists","publicUrl":"https://daorg.odei.ai/api/daorg/rewards/contract","command":"curl -fsS https://daorg.odei.ai/api/daorg/rewards/contract","requiredFields":["schema","requiredProof","targetMode","eligibilityMatrix","stateMachine"],"closeRule":"Agents may recommend reward batches only when the batch references contribution proof and the reward contract.","state":"staged","method":"GET","failClosed":true,"summary":"Verifier condition is staged and cannot be used to claim DAOrg-native reward finality yet."},{"id":"human-holder-confirmation","label":"Human or holder confirmation is attached","publicUrl":"https://daorg.odei.ai/daorg/rewards","command":"curl -fsS https://daorg.odei.ai/daorg/rewards","requiredFields":["motionId","confirmingActor","decision","timestamp"],"closeRule":"Material reward decisions require explicit human or holder confirmation before finality.","state":"staged","method":"GET","failClosed":true,"summary":"Verifier condition is staged and cannot be used to claim DAOrg-native reward finality yet."},{"id":"reward-receipt-public","label":"Reward receipt is public","publicUrl":"https://daorg.odei.ai/api/daorg/rewards/receipts","command":"curl -fsS https://daorg.odei.ai/api/daorg/rewards/receipts","requiredFields":["schema","receiptHash","motionProofHash","state","settlement","finality"],"closeRule":"The DAOrg reward result must leave a public receipt hash that can be inspected later.","state":"staged","method":"GET","failClosed":true,"summary":"Verifier condition is staged and cannot be used to claim DAOrg-native reward finality yet."},{"id":"settlement-evidence","label":"Settlement evidence is linked","publicUrl":"https://app.odei.ai/profile?intent=builder&launchPath=%2Flaunch-builder&tab=rewards#rewards","command":"curl -fsS https://daorg.odei.ai/api/daorg/rewards/paid","requiredFields":["settlementNetwork","settlementAsset","amount","transactionOrBatchReference"],"closeRule":"Finality requires either settlement evidence or an explicit no-reward outcome in the receipt.","state":"staged","method":"GET","failClosed":true,"summary":"Verifier condition is staged and cannot be used to claim DAOrg-native reward finality yet."}],"verdicts":{"pass":"reward_finality_ready","fail":"blocked_by_reward_finality_verifier","review":"needs_reward_scope_review"},"resultTemplate":{"schema":"odei.daorg.reward-finality-verification.v1","verifies":"odei.daorg.reward-receipt-finality.v1","verdict":"reward_finality_ready | blocked_by_reward_finality_verifier | needs_reward_scope_review","readyToFinalizeReward":false,"submittedVerifierHash":"","passedChecks":[],"failedChecks":[],"checkResults":[],"verifierHashField":"verifierHash","verificationHashField":"verificationHash"},"closeRule":"A DAOrg-native reward is finalized only when this verifier is criteria-ready and the specific reward receipt finality packet binds contribution proof, review, confirmation, and settlement or explicit no-reward outcome.","nextAction":"Close the first contribution-to-reward receipt cycle before claiming DAOrg-native reward finality.","routes":{"rewardFinalityVerifier":"/api/daorg/rewards/verifier","rewardsLane":"/daorg/rewards","rewardsContract":"https://daorg.odei.ai/api/daorg/rewards/contract","rewardsPaid":"https://daorg.odei.ai/api/daorg/rewards/paid","rewardReceiptIndex":"/api/daorg/rewards/receipts","rewardReceiptPattern":"/api/daorg/rewards/receipts/:tid","rewardReceiptFinalityPattern":"/api/daorg/rewards/receipts/:tid/finality","rewardReceiptFinalityTemplate":"https://daorg.odei.ai/api/daorg/rewards/receipts/{tid}/finality","proofIndex":"/api/daorg/proofs","motionStudio":"/daorg/studio","publicResponseKit":"/api/daorg/runtime/public-response-kit"},"invariants":["Already paid ODEI rewards are live operational facts, but DAOrg-native finality requires the verifier checks.","Holding alone is not a reward finality condition.","A reward claim without contribution proof, review, confirmation, receipt, and settlement evidence must stay staged.","The global verifier never finalizes a specific reward by itself; receipt.finality.readyToFinalizeReward is the per-reward source of truth."],"verifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","requestTemplate":{"verifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","packet":{"schema":"odei.daorg.reward-receipt-finality.v1","rewardReceipt":{"receiptHash":"sha256:<reward-receipt-hash>","motionProofHash":"sha256:<motion-proof-hash>","finality":{"readyToFinalizeReward":true},"confirmation":{"actor":"human-or-holder","decision":"confirm","timestamp":"<iso8601>"},"settlement":{"settlementNetwork":"<network>","settlementAsset":"<asset-or-no-reward>","transactionOrBatchReference":"<public-reference-or-no-reward>"}}},"expectedOutput":{"schema":"odei.daorg.reward-finality-verification.v1","verifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","submittedVerifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","verdict":"reward_finality_ready | blocked_by_reward_finality_verifier | needs_reward_scope_review","passedChecks":[],"failedChecks":[],"nextAction":""}},"specificReceiptPrerequisite":{"schema":"odei.daorg.reward-receipt-prerequisite.v1","required":true,"state":"staged","publicSafeOnly":true,"failClosed":true,"humanOrHolderConfirmationRequired":true,"verifier":{"method":"POST","route":"/api/daorg/rewards/verifier","publicUrl":"https://daorg.odei.ai/api/daorg/rewards/verifier","verifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","expectedPassField":"rewardFinalityVerification.readyToFinalizeReward","retryEnvelopeField":"rewardFinalityVerification.recovery.finalityRepairRequest.submissionEnvelope.body"},"sourceContracts":{"rewardsContract":{"route":"https://daorg.odei.ai/api/daorg/rewards/contract","contractHash":"sha256:d8e341118e5d8ca56d15437474f0054472556055e52d00a1345cbe97d930cffe"},"rewardReceiptIndex":{"route":"/api/daorg/rewards/receipts","publicUrl":"https://daorg.odei.ai/api/daorg/rewards/receipts"},"rewardReceiptFinalityTemplate":{"route":"/api/daorg/rewards/receipts/:tid/finality","publicTemplate":"https://daorg.odei.ai/api/daorg/rewards/receipts/{tid}/finality"},"proofIndex":{"route":"/api/daorg/proofs","publicUrl":"https://daorg.odei.ai/api/daorg/proofs"}},"path":"contribution -> proof -> agent review -> human/holder confirmation -> public receipt -> reward","requiredFields":["packet.schema","packet.rewardReceipt.receiptHash","packet.rewardReceipt.motionProofHash","packet.rewardReceipt.finality.readyToFinalizeReward","packet.rewardReceipt.confirmation.actor","packet.rewardReceipt.confirmation.decision","packet.rewardReceipt.confirmation.timestamp","packet.rewardReceipt.settlement.transactionOrBatchReference or packet.rewardReceipt.noReward=true"],"requiredProof":[{"id":"contribution-proof","label":"Contribution proof","publicSafe":true,"requiredForFinality":false},{"id":"agent-review","label":"Agent review batch","publicSafe":true,"requiredForFinality":false},{"id":"human-holder-confirmation","label":"Human or holder confirmation","publicSafe":true,"requiredForFinality":false},{"id":"reward-receipt","label":"Public reward receipt","publicSafe":true,"requiredForFinality":false},{"id":"settlement-evidence","label":"Settlement evidence","publicSafe":true,"requiredForFinality":true}],"candidatePacketTemplate":{"schema":"odei.daorg.reward-receipt-finality.v1","rewardReceipt":{"receiptHash":"sha256:<reward-receipt-hash>","motionProofHash":"sha256:<motion-proof-hash>","finality":{"readyToFinalizeReward":true},"confirmation":{"actor":"human-or-holder","decision":"confirm","timestamp":"<iso8601>"},"settlement":{"settlementNetwork":"<network>","settlementAsset":"<asset-or-no-reward>","transactionOrBatchReference":"<public-reference-or-no-reward>"}}},"receiptSchema":"odei.daorg.reward-receipt.v1","receiptFinalitySchema":"odei.daorg.reward-receipt-finality.v1","sourceOfTruth":"Every DAOrg-native reward receipt is derived from a reward motion, its motion proof hash, holder/human confirmation, and public receipt fields.","finalitySourceOfTruth":"The per-reward finality packet is the source of truth for a specific reward finality claim.","noRewardOutcomeAllowed":true,"settlementOrNoRewardRequired":true,"nextAction":"Build a public-safe reward receipt finality packet with contribution proof, agent review, human or holder confirmation, and settlement or explicit no-reward outcome before claiming reward finality.","prerequisiteHash":"sha256:213353b53c58f04c66bf95d546c0d61504c541e8379713b79b299ac0b5baf306"},"finalityRepairRequest":{"available":true,"route":"/api/daorg/rewards/receipts/:tid/finality","publicTemplate":"https://daorg.odei.ai/api/daorg/rewards/receipts/{tid}/finality","verifierRoute":"/api/daorg/rewards/verifier","verifierUrl":"https://daorg.odei.ai/api/daorg/rewards/verifier","verifierMethod":"POST","verifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","requiredReadBeforeSubmit":["/api/daorg/rewards/verifier","/api/daorg/rewards/receipts","/api/daorg/proofs","https://daorg.odei.ai/api/daorg/rewards/contract"],"specificReceiptPrerequisite":{"schema":"odei.daorg.reward-receipt-prerequisite.v1","required":true,"state":"staged","publicSafeOnly":true,"failClosed":true,"humanOrHolderConfirmationRequired":true,"verifier":{"method":"POST","route":"/api/daorg/rewards/verifier","publicUrl":"https://daorg.odei.ai/api/daorg/rewards/verifier","verifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","expectedPassField":"rewardFinalityVerification.readyToFinalizeReward","retryEnvelopeField":"rewardFinalityVerification.recovery.finalityRepairRequest.submissionEnvelope.body"},"sourceContracts":{"rewardsContract":{"route":"https://daorg.odei.ai/api/daorg/rewards/contract","contractHash":"sha256:d8e341118e5d8ca56d15437474f0054472556055e52d00a1345cbe97d930cffe"},"rewardReceiptIndex":{"route":"/api/daorg/rewards/receipts","publicUrl":"https://daorg.odei.ai/api/daorg/rewards/receipts"},"rewardReceiptFinalityTemplate":{"route":"/api/daorg/rewards/receipts/:tid/finality","publicTemplate":"https://daorg.odei.ai/api/daorg/rewards/receipts/{tid}/finality"},"proofIndex":{"route":"/api/daorg/proofs","publicUrl":"https://daorg.odei.ai/api/daorg/proofs"}},"path":"contribution -> proof -> agent review -> human/holder confirmation -> public receipt -> reward","requiredFields":["packet.schema","packet.rewardReceipt.receiptHash","packet.rewardReceipt.motionProofHash","packet.rewardReceipt.finality.readyToFinalizeReward","packet.rewardReceipt.confirmation.actor","packet.rewardReceipt.confirmation.decision","packet.rewardReceipt.confirmation.timestamp","packet.rewardReceipt.settlement.transactionOrBatchReference or packet.rewardReceipt.noReward=true"],"requiredProof":[{"id":"contribution-proof","label":"Contribution proof","publicSafe":true,"requiredForFinality":false},{"id":"agent-review","label":"Agent review batch","publicSafe":true,"requiredForFinality":false},{"id":"human-holder-confirmation","label":"Human or holder confirmation","publicSafe":true,"requiredForFinality":false},{"id":"reward-receipt","label":"Public reward receipt","publicSafe":true,"requiredForFinality":false},{"id":"settlement-evidence","label":"Settlement evidence","publicSafe":true,"requiredForFinality":true}],"candidatePacketTemplate":{"schema":"odei.daorg.reward-receipt-finality.v1","rewardReceipt":{"receiptHash":"sha256:<reward-receipt-hash>","motionProofHash":"sha256:<motion-proof-hash>","finality":{"readyToFinalizeReward":true},"confirmation":{"actor":"human-or-holder","decision":"confirm","timestamp":"<iso8601>"},"settlement":{"settlementNetwork":"<network>","settlementAsset":"<asset-or-no-reward>","transactionOrBatchReference":"<public-reference-or-no-reward>"}}},"receiptSchema":"odei.daorg.reward-receipt.v1","receiptFinalitySchema":"odei.daorg.reward-receipt-finality.v1","sourceOfTruth":"Every DAOrg-native reward receipt is derived from a reward motion, its motion proof hash, holder/human confirmation, and public receipt fields.","finalitySourceOfTruth":"The per-reward finality packet is the source of truth for a specific reward finality claim.","noRewardOutcomeAllowed":true,"settlementOrNoRewardRequired":true,"nextAction":"Build a public-safe reward receipt finality packet with contribution proof, agent review, human or holder confirmation, and settlement or explicit no-reward outcome before claiming reward finality.","prerequisiteHash":"sha256:213353b53c58f04c66bf95d546c0d61504c541e8379713b79b299ac0b5baf306"},"submissionEnvelope":{"method":"POST","route":"/api/daorg/rewards/verifier","body":{"verifierHash":"sha256:62530fad85f46b9ef5e2410ea10f13261572454e79a4b5e60998fd7671962d5c","packet":{"schema":"odei.daorg.reward-receipt-finality.v1","rewardReceipt":{"receiptHash":"sha256:<reward-receipt-hash>","motionProofHash":"sha256:<motion-proof-hash>","finality":{"readyToFinalizeReward":true},"confirmation":{"actor":"human-or-holder","decision":"confirm","timestamp":"<iso8601>"},"settlement":{"settlementNetwork":"<network>","settlementAsset":"<asset-or-no-reward>","transactionOrBatchReference":"<public-reference-or-no-reward>"}}}}},"nextAction":"Replace placeholder hashes and settlement fields, then POST submissionEnvelope.body to the reward finality verifier.","repairRequestHash":"sha256:9ec3427064b0cac2ea40cdb409549dd6b8a09c1b551a590155552d6354458fd2"}}}