# FAQ

> Credits, keys and verdicts — the questions that come up first.

## Credits

### What is one credit?

One oracle call. Some oracles cost more than one, and every answer tells you
what it actually cost in its `credits` field.

Oracles differ in how much work a verdict takes, so they can be priced
differently; charging per request would make the cheap ones subsidise the
expensive ones. Today `chart`, `vector-graphics` and `coverage-policy` each cost one credit.

### Why was I charged for an answer I could not use?

Because deciding that something does not hold is the work, and the verdict is
what you are buying. `valid` and `invalid` both bill.

What does **not** bill is a failure on our side. That call is refunded
automatically and still appears in your usage — a refund never leaves a gap in
the record.

### Do credits expire?

No. They are prepaid and nothing resets them at the end of a month. What you buy
is added to what you hold.

### Do more API keys mean more credits?

No. Credits belong to the organisation, not to a key. A second key is for
separating environments and revoking one thing without disturbing another — see
[Authentication](https://docs.formalogic.io/authentication).

## API keys

### How does key rotation work?

Create the new key first, deploy it, then revoke the old one. Both work at the
same time in between, so nothing is down while you change over.

The console shows **Last used** for every key, which is how you confirm the old
one has actually stopped being called before you revoke it.

### What happens when a key expires?

It stops authenticating. Calls presenting it answer `401`, exactly as a revoked
key does. A key's expiry date is set when it is created and is shown on the
[API keys](https://app.formalogic.io/keys) page.

### I lost a key. Can you show it to me again?

No — it is shown once, when it is created, and never stored anywhere we can read
it back from. Create a new one and revoke the old one.

### What does revoking do to my usage history?

Nothing. Usage already recorded against a key stays attributed to it. Revoking
stops the key working; it does not erase what it did, which is the question
revoking usually gets asked in order to answer.

## Verdicts

### What does `verified_by` mean?

It identifies the version of the rules your answer was checked against — not the build that produced
it. Store it next to the artifact, and a year from now you can still say which version of the rules accepted that artifact.

### Will the same request always give the same answer?

No, and it is not meant to. What is guaranteed is that whatever comes back has
been checked before you see it. See [Citations](https://docs.formalogic.io/citations).
