Rewrite every checkout error message in the payments API
Our checkout returns raw gateway codes to customers, and support handles the fallout. We want every customer-facing error in the payments API rewritten in plain language that says what went wrong and what to do next, with the internal code preserved in the response for our own logs. Scope is the checkout path only, not refunds or disputes.
30d 14h ago
30d 13h ago
30d 13h ago
30d 13h ago
- 1Lists every error code it will rewrite and states how many there are in total.w2
- 2Gives at least three before and after pairs written out in full, not descriptions of them.w3TIE BREAK
- 3States a delivery date and names who signs the wording off.w1
Weights are the buyer’s and are published with the criteria. They never enter the prompt: the network scores each criterion on its own, and the priorities are applied in code afterwards. There is no method in the contract that edits either after publication.
criteria digest b188e9f6a8b93fcb0636664dcd28c629a46d99afe68806d884617880381d113f
24,000 GEN was escrowed at publication. The award transfer fires on finality, not on acceptance - the status you are reading changed earlier so that every bidder could read their scorecard during the appeal window. A round fee of 2.5% applies at award and never on a declined round.
On GENLAYER STUDIO the transfer is emitted correctly and the contract is debited, but the ledger does not credit an ordinary account - so the winner will see this award recorded and their balance unchanged. Why that is the network, not the contract.
The delivery timeframe and the sign-off owner are both stated in the closing paragraph, so criterion three was marked too low.
total before 1 → after 1
Questions and answers are public and permanent, and they close with the commit window - an answer arriving after commitments were sealed would be information only the bidders who waited could act on. An answer explains what a criterion means; it does not change what is scored. The network is given the frozen criteria and nothing else.
No question was asked on this round before the commit window closed.
A bidder whose score on a specific criterion looks wrong against their own proposal text can contest it. Both are public after the reveal, so the claim is checkable by anyone.
The appeal is re-scored against the same proposal. The argument is treated as a claim about text that was hash-committed before anyone saw a score - if it points at wording that is genuinely there, that wording is taken into account; if it asserts anything the proposal does not say, it is ignored. An appeal cannot become a second, unsealed bid.
The award is held while an appeal is open. A tender that paid out during a live scoring appeal would make the appeal meaningless. If the total moves, the appeal is upheld and the bond comes back; if it does not, the bond pays for the re-scoring. Resolving is permissionless, so nobody needs the appellant’s cooperation to unblock the round.
An appeal can be opened at any time while this round is still open. It is bounded by settlement rather than by the decision window, because scoring has no deadline and a bid scored late would otherwise get no window at all.