# Effect redemption wire

The accepted redemption is a duplicate-free, integer-only JSON object with
exactly these members:

```text
profile
grant
mandate
boundary_decision
authzen_request
authzen_response
effect_arguments
receiver_nonce
evidence_bundle_root
```

The three receipts must be exact ActionReceipt v0.4 records. The fixed effect is
`sandbox.append` with arguments `{ "value": "alpha-mediated" }`. All hashes use
lowercase `sha256:` form. Times use millisecond UTC `Z` form. Unknown members,
floats, unsafe integers and packet-carried trust roots fail closed.

The runtime returns 400 for malformed/open outer or nested receipt wires, 403 for absent, invalid,
expired or unsatisfied grants, 409 when a consumed grant is presented with
different bytes, the original response bytes for an exact retry, and 500 for a
non-result verifier failure. A 500 changes no state unless the local transaction
already committed; in that case an exact retry recovers the persisted response.
