System
Health of the contracts, keys, database and jobs behind agent credit. About system checks
Warnings. No failures. 6 warnings, 0 unreadable.
Checked 2026-10-21T12:32:08.129Z, stored 66s ago.
57 ok6 warning0 failing0 unreadableAn unreadable check failed to load. It is not a pass.
Build
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Commit | Commit this deployment was built from. | a86eb981e7cb | |
| OK | Vercel environment | From VERCEL_ENV. | production | |
| OK | Region | Region serving this request. | iad1 | |
| OK | Node version | Runtime serving this request. | v24.21.0 | |
| OK | Checked at | Server clock when this report was made. | 2026-10-21T12:32:08.128Z |
Chain
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Network served by the RPC | The RPC serves the network CHAIN_ID names. | 8453 | 8453 |
| OK | Head block | Latest block the RPC reports. | 52898290 | |
| OK | RPC host | Host only. The full URL carries a key and is never shown. | api.developer.coinbase.com | |
| OK | Indexer position | Indexed to block 52898264, 16 blocks behind head after 10 confirmations (52 s behind head). Cursor last moved 31s ago. | at most 200 blocks behind | 16 blocks |
Contracts used
The KYA anchor and score oracle belong to Roundhouse and may not be deployed yet. Until a real score oracle is set, an agent can open its first line but not a second.
| Contract | Status | Address | Version | Implementation | Admin | Explorer |
|---|---|---|---|---|---|---|
| Credit vault Code is present. | OK | 0xfC0A...38230xfC0A683Fd0380037c62454605D8EaB53f4b23823 | 1 | 0x7051...8e02 | 0x0396...AA2A | Basescan |
| Credit ledger Code is present. | OK | 0x969a...92Cc0x969a28b00178704e225923dc794Fa94Ca93A92Cc | 1 | 0x7323...1215 | 0x0396...AA2A | Basescan |
| Bond vault Code is present. | OK | 0xfe9E...373d0xfe9EeE9365F3EB8F72cC10517286A9d83c80373d | 1 | 0xd20B...1773 | 0x0396...AA2A | Basescan |
| Registration sponsor Code is present. | OK | 0xED3d...060D0xED3d7A36B11138f9f545dED86C326220a4b6060D | 1 | 0x077B...6994 | 0x0396...AA2A | Basescan |
| KYA anchor Roundhouse half not deployed (placeholder) | Warning | 0x0000...dEaD0x000000000000000000000000000000000000dEaD | None | None | None | Basescan |
| Score oracle Roundhouse half not deployed (placeholder) | Warning | 0x0000...dEaD0x000000000000000000000000000000000000dEaD | None | None | None | Basescan |
| USDC Code is present. | OK | 0x8335...29130x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | Not read | Not read | Not read | Basescan |
| Identity registry Code is present. | OK | 0x8004...a4320x8004A169FB4a3325136EB29fA0ceB6D2e539a432 | Not read | Not read | Not read | Basescan |
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| Warning | Second credit cycle | Roundhouse half not deployed: the second credit cycle cannot open without a real score oracle. | ||
| OK | Ledger points at the vault | Matches the configured address. | 0xfC0A...3823 | 0xfC0A...3823 |
| OK | Vault points at the ledger | Matches the configured address. | 0x969a...92Cc | 0x969a...92Cc |
| OK | Bond vault points at the ledger | Matches the configured address. | 0x969a...92Cc | 0x969a...92Cc |
| OK | Sponsor points at the ledger | Matches the configured address. | 0x969a...92Cc | 0x969a...92Cc |
| OK | Ledger points at the KYA anchor | Matches the configured address. | 0x0000...dEaD | 0x0000...dEaD |
| OK | Ledger points at the score oracle | Matches the configured address. | 0x0000...dEaD | 0x0000...dEaD |
Vault settings
All figures are read from the chain when this page loads, in USDC.
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Reserve | USDC the vault keeps back and never spends on payments. | $0.00 (0 units) | |
| OK | Largest line | Most the vault will draw for one agent. | $4.00 (4000000 units) | |
| OK | Daily cap | Most the vault pays out in one UTC day. | $250.00 (250000000 units) | |
| OK | Operator cap | Most the vault has paid and not yet netted for one operator. | $10.00 (10000000 units) | |
| OK | Draws paused | Draws are open. | open | |
| OK | Vault USDC balance | USDC the vault holds now, read from the token. | $4.98269 (4982690 units) | |
| OK | Paid, not yet recorded | Payments the vault has approved that the ledger has not netted. | $0.00 (0 units) | |
| OK | Spendable float | Balance minus reserve. | at least $1.00 | $4.98269 |
| OK | Garnishing enabled | Whether the vault may take repayment from an agent's incoming payments. | off | |
| OK | Longest payment authorisation | A payment signed for longer than this is refused. | 3600 seconds |
Co-signer
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Co-signer address | Derived from COSIGNER_PRIVATE_KEY. Only the address is shown. | 0xF9eE...F780 | |
| OK | Vault grants the co-signer role | The vault accepts this address as co-signer. | role granted | granted |
Ledger settings
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| Warning | KYA required | KYA is off, anyone can open a line. | on once Roundhouse is deployed | off |
| OK | Line parameters | First line $1.00, ceiling $4.00, largest rollover $1.00, up to 2 rolls. Late after 86400 s, default after 604800 s. Stage 2 after 3 clean cycles; 14 day term after 3, 30 day after 6. APR 7/14/30 day: 2400/3000/3600 bps. | ||
| OK | KYA anchor the ledger uses | Read from the ledger. Compared with the configured address under Contracts used. | 0x0000...dEaD | |
| OK | Score oracle the ledger uses | Read from the ledger. Compared with the configured address under Contracts used. | 0x0000...dEaD |
USDC
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Name | Token name. | USD Coin | |
| OK | Version | Token version, used in the payment signature domain. | 2 | |
| OK | Signature domain | DOMAIN_SEPARATOR is present, so signed transfers can work. | ||
| OK | Decimals | Six decimals, as every figure here assumes. | 6 | 6 |
| OK | Symbol | Symbol matches. | USDC | USDC |
Keys and gas
Addresses are derived in memory from the configured keys. A key itself is never shown.
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Settler key | ETH for gas. This key pays for net. | at least 0.0005 ETH | 0.000597658547376991 ETH |
| OK | Keeper key | ETH for gas. This key pays for keeper. | at least 0.0005 ETH | 0.000590904094908296 ETH |
| OK | Manager key | ETH for gas. This key pays for manager actions. | at least 0.0005 ETH | 0.0006 ETH |
| OK | Registrar key | ETH for gas. This key pays for register. | at least 0.0005 ETH | 0.000584699042825482 ETH |
| OK | Co-signer key | ETH for gas. This key pays for credit payments. | at least 0.0005 ETH | 0.0006 ETH |
Database
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Database reachable | A query was answered. | ||
| OK | Migrations applied | All 6 migrations in the code are applied. | 6 applied | 6 applied |
| OK | Lines in the database | Counted in the database from indexed events. Not read from the chain. | 4 | |
| OK | Agents in the database | Counted in the database from indexed events. Not read from the chain. | 4 |
Jobs
Overdue means no successful run for over 3 times the interval in vercel.json. Over 10 times is a failure, the same limits the watchdog uses.
| Status | Check | Detail | Expected | Actual |
|---|---|---|---|---|
| OK | Job: index | last run succeeded 31s ago. | every minute (* * * * *) | last success 31s ago |
| OK | Job: record | last run succeeded 39s ago. | every minute (* * * * *) | last success 38s ago |
| OK | Job: net | last run succeeded 2m ago. | every 5 minutes (*/5 * * * *) | last success 2m ago |
| OK | Job: keeper | last run succeeded 2m ago. | every 10 minutes (*/10 * * * *) | last success 2m ago |
| OK | Job: watchdog | last run succeeded 2m ago. | every 5 minutes (*/5 * * * *) | last success 2m ago |
| OK | Job: register | last run succeeded 2m ago. | every 5 minutes (*/5 * * * *) | last success 2m ago |
| Warning | Job: profiles | last run failed 82s ago: 106425: Cannot read properties of null (reading 'data'); 108956: Cannot read properties of null (reading 'data'); 108762: Cannot read properties of null (reading 'data'); 111633: Cannot read properties of null (reading 'data'); it has no successful run on record. | every 5 minutes (*/5 * * * *) | no success |
| OK | Job: snapshot | last run succeeded 34s ago. | every minute (* * * * *) | last success 34s ago |
| Warning | Job: system-report | This job has never run. | schedule 2-59/5 * * * * |