<p>Make sure the transaction has the correct required witness.</p>
<blockquote>
<p>It worked on playground until today</p>
</blockquote>
<p>It sounds like you had this working at some point but now you don't, what's changed? There have been no changes to that repo for a few days now. Try finding the exact commit that supposedly broke this.</p>
<blockquote>
<p>when I tried to check the signer on-chain
Blockquote</p>
</blockquote>
<p>If you're using a real blockchain network then perhaps you're using cardano-cli? You need to build a transaction with <code>required-signer</code> flag.</p>

CC BY-SA 4.0
2022-04-19T14:18:02.803Z
Maybe there was some change in some days ago, I have to check . because now in the playground, when the script has a validation with error, the transaction appears between the wallet in the same way, and in the other version the transaction does not happen because it is not validated. I don't understand... it does not make sense to change a lot of things.
pprs
CC BY-SA 4.0
2022-04-19T13:36:40.717Z
2022-04-19T13:36:40.717Z
james
<p>I'm trying to implement lock and withdraw of an NFT, but when I tried to check the signer on-chain with the function:</p>
<pre><code>signer :: PubKeyHash 
signer = case txInfoSignatories (scriptContextTxInfo ctx) of 
            [pkh] -&gt; pkh 
            _ -&gt; traceError &quot;Signer could not be found.&quot;
</code></pre>
<p>It gets always signer could not be found. Why it is not found? It worked on playground until today, but I don't know if there were some updates on plutus.</p>

<plutus><plutus-pioneer-program><plutus-playground>
Error signer not found - txInfoSignatories
# Error signer not found - txInfoSignatories

(Asked by: username_0 on 2022-04-19)

I'm trying to implement lock and withdraw of an NFT, but when I tried to check the signer on-chain with the function:
signer :: PubKeyHash 
signer = case txInfoSignatories (scriptContextTxInfo ctx) of 
            [pkh] -> pkh 
            _ -> traceError "Signer could not be found."

It gets always signer could not be found. Why it is not found? It worked on playground until today, but I don't know if there were some updates on plutus.

**Tags:** plutus, plutus-pioneer-program, plutus-playground

---

## 1 answers

### Answer by username_1 on 2022-04-19. Score: 0 | Accepted answer

Make sure the transaction has the correct required witness.

> It worked on playground until today

It sounds like you had this working at some point but now you don't, what's changed? There have been no changes to that repo for a few days now. Try finding the exact commit that supposedly broke this.

> when I tried to check the signer on-chain
> Blockquote

If you're using a real blockchain network then perhaps you're using cardano-cli? You need to build a transaction with `required-signer` flag.

> **Comments:**
> **username_0**: Maybe there was some change in some days ago, I have to check . because now in the playground, when the script has a validation with error, the transaction appears between the wallet in the same way, and in the other version the transaction does not happen because it is not validated. I don't understand... it does not make sense to change a lot of things.  

---

