{"attestation_signer":"0xfA066f9701b75A4c134893E6c44D4fe87D2C9453","attestation_signer_valid_from":"2026-11-12T00:00:00Z","chain":{"block_hash":"0x6279eeceba1a315f86d82f584e1e494a956cd2c2783aaa924d458dcdeb95463b","block_number":57511899,"block_timestamp":1794692755,"chain_id":8453,"rpc_host":"base-rpc.publicnode.com"},"generated_at":"2026-11-14T21:45:55.580Z","hedge":{"account":"0x09a2780ac8Be6D5d2d1F85A8D92b09D40C9CA37e","available":true,"counted_as_backing":false,"flat":true,"open_positions":0,"perp_account_value_usd":"0.0","perp_total_notional_usd":"0.0","read_error":null,"spot_usdc":"20.492979","venue":"hyperliquid","venue_time_ms":1794692755372},"is_solvent":true,"kusd_address":"0x5C2EfdF0D8D286959b42308966bc2B97f5680AA3","kusd_total_supply":"1135.263248","kusd_total_supply_raw":"1135263248000000000000","methodology":"All balances are read from Base mainnet (chain 8453) with eth_call pinned to one block (chain.block_number / chain.block_hash). outstanding_kusd = kUSD.totalSupply() minus the kUSD held by the three PSM contracts (redeemed kUSD is held, not burned). psm_usdc_reserve = the sum of USDC.balanceOf over the three PSM contracts. psm_solvency_ratio = psm_usdc_reserve / outstanding_kusd, truncated to 6 decimals. Balances under other_usdc_not_counted and the hedge block are disclosed but never counted as backing. Every quantity is an exact decimal string; *_raw fields are the integer base units. attestation_hash = sha256 over the exact bytes of signed_payload_canonical (JSON, keys sorted, no whitespace). signature = EIP-191 personal_sign over the 32 raw bytes of attestation_hash by attestation_signer.","other_usdc_not_counted":[{"address":"0xE8799FCF327C6D2f78103a3c9308C93592A30403","label":"insurance fund","usdc":"0"},{"address":"0x7c07517ABcc4BD674CC74B76D2Ab0d95A41560d5","label":"treasury","usdc":"0"},{"address":"0x52d3E450bA6c299B1B07298F1E87DD74732D4877","label":"protocol Safe","usdc":"333.43"}],"outstanding_kusd":"110.263248","outstanding_kusd_raw":"110263248000000000000","previous_attestation_hash":"0x9642e45fa5225826485e6988e825338b880008cc7d2d02d3c6a531668436372f","producer":"Cloudflare Worker cron (kerne-por), public RPC + Hyperliquid info API, no venue credentials","psm_kusd_held":"1025","psm_reserves":[{"address":"0xaBDE1138aa1Ce88d1dF06422C0c3b05D70569803","kusd_held":"0","kusd_held_raw":"0","role":"live mint PSM (sole kUSD minter)","usdc":"20.56661","usdc_raw":"20566610"},{"address":"0x07eBb486e11BD217e6085eb5ab663e4517595993","kusd_held":"993","kusd_held_raw":"993000000000000000000","role":"retired mint PSM, reserve retained","usdc":"5.993","usdc_raw":"5993000"},{"address":"0xFf3025ec18e301855aB0f36Ec6ECa115a29A5Fbc","kusd_held":"32","kusd_held_raw":"32000000000000000000","role":"original redeem reserve PSM","usdc":"85.885006","usdc_raw":"85885006"}],"psm_solvency_ratio":"1.019783","psm_solvent":true,"psm_usdc_reserve":"112.444616","psm_usdc_reserve_raw":"112444616","reads_available":true,"schema_name":"kerne-por-core","schema_version":10,"sequence":203,"signer_is_venue_key":false,"skusd":{"address":"0x96F5102C15b839757f811A98CEc3725Ac21DfA14","at_par":false,"kusd_per_share":"1.000098667771066974","share_decimals":24,"share_unit_raw":"1000000000000000000000000","total_assets_kusd":"22.118263134048985696","total_supply":"22.116080989633001929173537"},"status":"SOLVENT_DELTA_NOT_ASSERTED","status_explanation":"Outstanding kUSD is fully covered by USDC held in the PSM contracts, read on chain at the pinned block. No hedge-tracking verdict is asserted: the hedge account holds no open perp position, so there is no hedge book to measure. Solvency is measured independently of the hedge.","unix_timestamp":1794692755,"venue_account":"0x09a2780ac8Be6D5d2d1F85A8D92b09D40C9CA37e","attestation_hash":"0xf6a8100922d9361058684a5dc762d1a698134985d267ea8eff4fb20306135713","signature":"0x4bba97bdcbf317abe769c6f8769f84f9d46bac6ec10b680b694dda86ca9e3b6f6b6cbeafe6ba2ebba2a28ad38c55095610c9b1cc83f792d40f3d3f5e6b6130251b","signer":"0xfA066f9701b75A4c134893E6c44D4fe87D2C9453","signed_payload_canonical":"{\"attestation_signer\":\"0xfA066f9701b75A4c134893E6c44D4fe87D2C9453\",\"attestation_signer_valid_from\":\"2026-11-12T00:00:00Z\",\"chain\":{\"block_hash\":\"0x6279eeceba1a315f86d82f584e1e494a956cd2c2783aaa924d458dcdeb95463b\",\"block_number\":57511899,\"block_timestamp\":1794692755,\"chain_id\":8453,\"rpc_host\":\"base-rpc.publicnode.com\"},\"generated_at\":\"2026-11-14T21:45:55.580Z\",\"hedge\":{\"account\":\"0x09a2780ac8Be6D5d2d1F85A8D92b09D40C9CA37e\",\"available\":true,\"counted_as_backing\":false,\"flat\":true,\"open_positions\":0,\"perp_account_value_usd\":\"0.0\",\"perp_total_notional_usd\":\"0.0\",\"read_error\":null,\"spot_usdc\":\"20.492979\",\"venue\":\"hyperliquid\",\"venue_time_ms\":1794692755372},\"is_solvent\":true,\"kusd_address\":\"0x5C2EfdF0D8D286959b42308966bc2B97f5680AA3\",\"kusd_total_supply\":\"1135.263248\",\"kusd_total_supply_raw\":\"1135263248000000000000\",\"methodology\":\"All balances are read from Base mainnet (chain 8453) with eth_call pinned to one block (chain.block_number / chain.block_hash). outstanding_kusd = kUSD.totalSupply() minus the kUSD held by the three PSM contracts (redeemed kUSD is held, not burned). psm_usdc_reserve = the sum of USDC.balanceOf over the three PSM contracts. psm_solvency_ratio = psm_usdc_reserve / outstanding_kusd, truncated to 6 decimals. Balances under other_usdc_not_counted and the hedge block are disclosed but never counted as backing. Every quantity is an exact decimal string; *_raw fields are the integer base units. attestation_hash = sha256 over the exact bytes of signed_payload_canonical (JSON, keys sorted, no whitespace). signature = EIP-191 personal_sign over the 32 raw bytes of attestation_hash by attestation_signer.\",\"other_usdc_not_counted\":[{\"address\":\"0xE8799FCF327C6D2f78103a3c9308C93592A30403\",\"label\":\"insurance fund\",\"usdc\":\"0\"},{\"address\":\"0x7c07517ABcc4BD674CC74B76D2Ab0d95A41560d5\",\"label\":\"treasury\",\"usdc\":\"0\"},{\"address\":\"0x52d3E450bA6c299B1B07298F1E87DD74732D4877\",\"label\":\"protocol Safe\",\"usdc\":\"333.43\"}],\"outstanding_kusd\":\"110.263248\",\"outstanding_kusd_raw\":\"110263248000000000000\",\"previous_attestation_hash\":\"0x9642e45fa5225826485e6988e825338b880008cc7d2d02d3c6a531668436372f\",\"producer\":\"Cloudflare Worker cron (kerne-por), public RPC + Hyperliquid info API, no venue credentials\",\"psm_kusd_held\":\"1025\",\"psm_reserves\":[{\"address\":\"0xaBDE1138aa1Ce88d1dF06422C0c3b05D70569803\",\"kusd_held\":\"0\",\"kusd_held_raw\":\"0\",\"role\":\"live mint PSM (sole kUSD minter)\",\"usdc\":\"20.56661\",\"usdc_raw\":\"20566610\"},{\"address\":\"0x07eBb486e11BD217e6085eb5ab663e4517595993\",\"kusd_held\":\"993\",\"kusd_held_raw\":\"993000000000000000000\",\"role\":\"retired mint PSM, reserve retained\",\"usdc\":\"5.993\",\"usdc_raw\":\"5993000\"},{\"address\":\"0xFf3025ec18e301855aB0f36Ec6ECa115a29A5Fbc\",\"kusd_held\":\"32\",\"kusd_held_raw\":\"32000000000000000000\",\"role\":\"original redeem reserve PSM\",\"usdc\":\"85.885006\",\"usdc_raw\":\"85885006\"}],\"psm_solvency_ratio\":\"1.019783\",\"psm_solvent\":true,\"psm_usdc_reserve\":\"112.444616\",\"psm_usdc_reserve_raw\":\"112444616\",\"reads_available\":true,\"schema_name\":\"kerne-por-core\",\"schema_version\":10,\"sequence\":203,\"signer_is_venue_key\":false,\"skusd\":{\"address\":\"0x96F5102C15b839757f811A98CEc3725Ac21DfA14\",\"at_par\":false,\"kusd_per_share\":\"1.000098667771066974\",\"share_decimals\":24,\"share_unit_raw\":\"1000000000000000000000000\",\"total_assets_kusd\":\"22.118263134048985696\",\"total_supply\":\"22.116080989633001929173537\"},\"status\":\"SOLVENT_DELTA_NOT_ASSERTED\",\"status_explanation\":\"Outstanding kUSD is fully covered by USDC held in the PSM contracts, read on chain at the pinned block. No hedge-tracking verdict is asserted: the hedge account holds no open perp position, so there is no hedge book to measure. Solvency is measured independently of the hedge.\",\"unix_timestamp\":1794692755,\"venue_account\":\"0x09a2780ac8Be6D5d2d1F85A8D92b09D40C9CA37e\"}","_meta":{"note":"Fields outside _meta are the signed payload. _meta is unsigned relay metadata computed at read time.","expected_signer":"0xfA066f9701b75A4c134893E6c44D4fe87D2C9453","signer_matches_expected":true,"hash_matches":true,"recovered_signer":"0xfA066f9701b75A4c134893E6c44D4fe87D2C9453","verified":true,"age_seconds":412,"is_fresh":true,"stale":false,"stale_note":null,"cadence":"every 15 minutes (Cloudflare cron */15)","trust_root":"/api/por/signer","verify_yourself":{"step_1":"sha256(utf8 bytes of signed_payload_canonical) must equal attestation_hash","step_2_cast":"cast wallet verify --address 0xfA066f9701b75A4c134893E6c44D4fe87D2C9453 0xf6a8100922d9361058684a5dc762d1a698134985d267ea8eff4fb20306135713 0x4bba97bdcbf317abe769c6f8769f84f9d46bac6ec10b680b694dda86ca9e3b6f6b6cbeafe6ba2ebba2a28ad38c55095610c9b1cc83f792d40f3d3f5e6b6130251b","step_2_ethers":"ethers.verifyMessage(ethers.getBytes(\"0xf6a8100922d9361058684a5dc762d1a698134985d267ea8eff4fb20306135713\"), \"<signature>\") === \"0xfA066f9701b75A4c134893E6c44D4fe87D2C9453\"","step_2_python":"Account.recover_message(encode_defunct(hexstr=attestation_hash), signature=signature)","step_3":"Re-read the balances yourself at chain.block_number on any Base RPC and compare."},"staleness_seconds":412,"stale_threshold_seconds":2700,"signature_valid":true,"integrity_warning":null,"source":{"cadence_seconds":900,"producer":"kerne-por Worker"},"verify":{"step_1":"sha256(utf8 bytes of signed_payload_canonical) must equal attestation_hash","step_2_cast":"cast wallet verify --address 0xfA066f9701b75A4c134893E6c44D4fe87D2C9453 0xf6a8100922d9361058684a5dc762d1a698134985d267ea8eff4fb20306135713 0x4bba97bdcbf317abe769c6f8769f84f9d46bac6ec10b680b694dda86ca9e3b6f6b6cbeafe6ba2ebba2a28ad38c55095610c9b1cc83f792d40f3d3f5e6b6130251b","step_2_ethers":"ethers.verifyMessage(ethers.getBytes(\"0xf6a8100922d9361058684a5dc762d1a698134985d267ea8eff4fb20306135713\"), \"<signature>\") === \"0xfA066f9701b75A4c134893E6c44D4fe87D2C9453\"","step_2_python":"Account.recover_message(encode_defunct(hexstr=attestation_hash), signature=signature)","step_3":"Re-read the balances yourself at chain.block_number on any Base RPC and compare."},"relay":"kerne.fi passes this statement through from the kerne-por Worker with verification on. staleness_seconds, stale_threshold_seconds, signature_valid, integrity_warning, source and verify are older names for values in this block, kept for existing readers. Nothing outside _meta is changed."}}