Reference
Errors
Every error code, what it means, and what to do.
LookupError (reading a platform)
| Code | Meaning | What to do |
|---|---|---|
bad_target | The input is not a GitHub, YouTube, Twitch or Kick account. | Use a link or platform:name. |
not_found | The platform says that account does not exist. | Check the spelling; for YouTube try the channel id. |
network | The request could not be made. | Check your connection. |
rate_limited | The platform refused (403 or 429). | Wait. GitHub allows 60 requests per hour per IP without a token. |
upstream | The platform answered with something unexpected. | Try again; if it persists the platform may have changed. |
cors | A browser cannot read this platform (YouTube without a key). | Add a key in config.js or use the CLI. |
VaultError (the vault)
| Code | Meaning |
|---|---|
bad_config | The vault setup is invalid: missing mint or target, shares not summing to 10000, streamer under 50 percent, launcher not an address, fewer trusted attesters than the threshold, unknown onExpiry. |
bad_amount | accrue needs a positive BigInt. |
bad_wallet | Not a valid Solana address. |
not_enough_proof | Fewer valid signatures than the threshold. The message lists why each rejected one failed. |
already_bound | A wallet is already bound. Use rotate. |
not_bound | Nothing to rotate yet. Use claim. |
rotation_pending | A rotation is already waiting. |
same_wallet | That wallet is already the bound one. |
no_rotation | There is nothing to cancel. |
bad_signature | The cancel signature is not from the current wallet. |
On-chain program errors
The program returns a custom error number, which web3.js shows as custom program error: 0x3 and programError() in src/chain/client.mjs turns back into the names above. The table is on the On-chain program page. The two layers agree on names: a refusal is not_enough_proof in JS and on chain.
Reasons inside not_enough_proof
When a bundle of signatures falls short, the message says exactly why, per attester (shortened key):
unknown attester: not in the trusted list.duplicate attester: the same key twice.signed a different mint / platform / id / wallet / epoch: it was made for something else.attestation is stale: older than 15 minutes.attestation is from the future: more than 60 seconds ahead.signed a different codeandbad signature.
You can reproduce each one in the release lab with the checkboxes.