Sign_with_schnorr: throughput limits?

Hello
We’re using sign_with_schnorr for some proofs in our canisters,
When running our testsuite with pocket-ic, I noticed these errors:

Panicked at 'called `Result::unwrap()` on an `Err` value: "unable to sign: sign_with_schnorr request failed: signature queue for key schnorr:Ed25519:key_1 is full."',

Is there a limit to how many signatures creation requests we can queue? If so what are these limits?
I don’t see them documented here: Signing t-Schnorr messages | Internet Computer

2 Likes

The current queue limit for production keys (key_1) is 20. You can view this by reading the subnet config via ic-admin, e.g., from the IC monorepo on github, the following should work (or you can just download a binary from the releases)

bazel run //rs/registry/admin:ic-admin -- --nns-url https://icp-api.io get-subnet pzp6e-ekpqk-3c5x7-2h6so-njoeq-mt45d-h3h6c-q3mxf-vpeq5-fk5o7-yae
1 Like

thank you,
what is the maximum throughput i can expect per round per subnet?

We currently observed the maximum throughput of slightly more than 1 sig/s for Schnorr with one algorithm, and slightly more than 2 sig/s in total if using all 3 currently available threshold signature schemes (ECDSA with secp256k1, Schnorr with Ed25519, Schnorr with BIP340).

Do you have any particular requirements for the throughput?

1 sig/s is fine for our usecases