Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Since you're initing an account at with a keypair, it will need to sign for the transaction, as well as the payer, in order to create the account. If you leave signers blank, the provider wallet will sign if the IDL detects that it's in the instruction as a signer. You can explicitly pass the keypair in as a signer using (provider.wallet as anchor.Wallet).payer or just provider.wallet.payer.