Why B 1 medium-severity failure caps the grade at B: accepts P2PK locks with duplicated tags .
Failed 1
Malformed lock (duplicate tag) rejected NUT-11
Medium · caps at B
Accepted a P2PK secret with two locktime tags. NUT-11 says a duplicated tag makes the secret malformed and it MUST be rejected. Wallets and mints that read different copies of the tag disagree on when the refund key can spend, so a refund could open earlier than the receiver expects.
Known issue in the mint software. CDK keeps the first copy of a duplicated spending-condition tag instead of rejecting the proof as NUT-11 requires. The fix is in review upstream; mints pass once they run a CDK release that includes it.
CDK PR #2888 Request and response POST /v1/swap
{
"inputs": "[1 proofs, 2 sat]",
"outputs": "[1 outputs]"
}
200 (183 ms)
{
"signatures": "[1 signatures]"
} Passed 26 Keys 4 passed All public keys are valid curve points NUT-01 64 keys across 2 keysets Every amount has its own key NUT-01 No key is reused across amounts or keysets Keyset IDs match their keys NUT-02 2 keyset ID(s) re-derived and matched At least one active keyset NUT-02 sat: 017bc604aaa0… fee 100 ppk, usd: 010eca897fd3… fee 100 ppk
Forgery 1 passed Rejects forged ecash NUT-03 Forged proof refused (10001)
Info 3 passed Mint is served over HTTPS — HTTPS in use Info endpoint is well formed NUT-06 'Testnut mint' running cdk-mintd/0.18.1 Claimed NUT endpoints respond NUT-06 Every probed claim answered
DLEQ 3 passed DLEQ proofs valid on mint NUT-12 7 DLEQ proof(s) verified DLEQ proofs valid on swap NUT-12 5 DLEQ proof(s) verified DLEQ proofs valid on melt_change NUT-12 4 DLEQ proof(s) verified
Issuing 2 passed Paid quote issues the full amount NUT-04 Paid 64, received 64 in 7 signatures Quote cannot be minted twice NUT-04 Second mint on the same quote refused (20002)
Spending 5 passed Rejects outputs worth more than inputs NUT-03 Swap creating 1 sat out of nothing refused (11005) Swap at the advertised fee succeeds NUT-02 1 inputs, 100 ppk → 1 sat fee, accepted Rejects double spends NUT-03 Re-spending used proofs refused (11001) Rejects the same proof twice in one request NUT-03 Duplicated input refused (11007) Spent proofs are reported as spent NUT-07 All spent proofs report SPENT
Locks 6 passed P2PK lock enforced NUT-11 Refused: no signature, empty witness, signature from the wrong key; accepted: signature from the locking key P2PK 2-of-2 multisig enforced NUT-11 Refused: 1 of 2 signatures, the same key signing twice; accepted: 2 of 2 signatures Refund key blocked before locktime NUT-11 Refused: refund key before locktime; accepted: locking key Refund key works after locktime NUT-11 Refund key spent the expired lock HTLC hash lock enforced NUT-14 Refused: no preimage, wrong preimage; accepted: correct preimage HTLC receiver signature enforced NUT-14 Refused: preimage without the receiver's signature, preimage with the wrong signature; accepted: preimage and receiver signature
Payouts 2 passed Melt pays the invoice NUT-05 Melt state: PAID (fee_reserve 1) Overpaid fees are returned NUT-08 Overpaid by 15 sat (internal payment, no Lightning fee); 15 sat returned as change
Grade history Last 12 runs
13 Nov 2026, 10:59 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 13 Nov 2026, 14:19 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 13 Nov 2026, 14:24 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 13 Nov 2026, 15:16 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 13 Nov 2026, 15:30 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 14 Nov 2026, 00:13 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 14 Nov 2026, 00:44 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 14 Nov 2026, 01:32 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 14 Nov 2026, 03:11 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 14 Nov 2026, 17:11 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 14 Nov 2026, 21:32 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending) 15 Nov 2026, 02:24 UTC · B
Accepts P2PK locks with duplicated tags (known CDK issue, fix pending)
13 Nov 15 Nov
Reproduce this result nutcheck https://testnut.cashu.space
The funded checks spend a few sats; the rest of the budget comes back as a token.
What this grade can't tell you
Whether the mint holds the bitcoin behind its ecash
Whether it will still be online tomorrow How it treats users other than our test wallet