{"schema":"sato.custody/v1","profile":{"as_of":"2026-10-10T02:02:27.981Z","hosts":[{"host":"4byte.sourcify.dev","role":"other","phase":"code","evidence_class":"traced"},{"host":"5irescan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"abeyscan.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"abscan.org","role":"other","phase":"code","evidence_class":"traced"},{"host":"agung-testnet.subscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"aic.acria.ai","role":"other","phase":"code","evidence_class":"traced"},{"host":"apescan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api-nova.arbiscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api-sepolia.arbiscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api-sepolia.basescan.org","role":"other","phase":"code","evidence_class":"traced"},{"host":"api-sepolia.blastscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api-testnet.snowtrace.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.apescan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.arbiscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.avax-test.network","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.avax.network","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.basescan.org","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.blastscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.bttcscan.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.mainnet.abs.xyz","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"api.snowtrace.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"api.testnet.abs.xyz","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"apolloscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"arb1.arbitrum.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"arbiscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"areonscan.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"artio.beratrail.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"artio.rpc.berachain.com","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"astar-zkevm.explorer.startale.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"astar.api.onfinality.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"astar.subscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"aurorascan.dev","role":"other","phase":"code","evidence_class":"traced"},{"host":"auroria.explorer.stratisevm.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"auroria.rpc.stratisevm.com","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"bahamut-rpc.publicnode.com","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"bartio.beratrail.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"bartio.rpc.berachain.com","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"basecamp.cloud.blockscout.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"basescan.org","role":"other","phase":"code","evidence_class":"traced"},{"host":"bepolia.rpc.berachain.com","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"berascan.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"beta-mainnet.boolscan.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"beta-rpc-node-http.bool.network","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"betanet-rpc1.artela.network","role":"other","phase":"code","evidence_class":"traced"},{"host":"betanet-scan.artela.network","role":"other","phase":"code","evidence_class":"traced"},{"host":"blastscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"block-explorer-api.battlechain.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"block-explorer-api.testnet.battlechain.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"blockscout.acala.network","role":"other","phase":"code","evidence_class":"traced"},{"host":"blockscout.atleta.network","role":"other","phase":"code","evidence_class":"traced"},{"host":"bob-sepolia.explorer.gobob.xyz","role":"other","phase":"code","evidence_class":"traced"},{"host":"bob-sepolia.rpc.gobob.xyz","role":"rpc","phase":"code","evidence_class":"traced"},{"host":"bobascan.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"botanixscan.io","role":"other","phase":"code","evidence_class":"traced"},{"host":"brisescan.com","role":"other","phase":"code","evidence_class":"traced"},{"host":"brnkc-mainnet.bearnetwork.net","role":"other","phase":"code","evidence_class":"traced"},{"host":"brnkc-test.bearnetwork.net","role":"other","phase":"code","evidence_class":"traced"},{"host":"brnkscan.bearnetwork.net","role":"other","phase":"code","evidence_class":"traced"},{"host":"brnktest-scan.bearnetwork.net","role":"other","phase":"code","evidence_class":"traced"},{"host":"brockrpc.io","role":"other","phase":"code","evidence_class":"traced"}],"lanes":{"traced":{"ran":true,"note":"2871 code files; parsed 400, entry points first; 206 literal hosts; listed the first 60","as_of":"2026-10-10T02:02:27.981Z"},"declared":{"ran":true,"as_of":"2026-10-10T02:02:27.981Z"},"observed":{"ran":false,"note":"not yet run on this version","as_of":null}},"limits":["Traced analysis follows flows inside one module and one hop across a relative import; a longer chain is not followed.","The observed lane has not run on this version.","No tool inventory was available, so fund actions were not read.","Traced: 2871 code files; parsed 400, entry points first; 206 literal hosts; listed the first 60."],"schema":"sato.custody/v1","changes":{"items":[{"kind":"host_added","detail":"adds a request to brockrpc.io"},{"kind":"host_removed","detail":"no longer references bbscan.io"}],"from_version":"2.56.9"},"notable":[],"subject":{"id":"npm:viem","kind":"package","name":"viem","digest":"sha256:d750c9e3587a6a426cea1d5659f364b0334e08ee4f7bda89fe37e05e9709c02a","version":"2.57.2","listing_slug":null},"evidence":[{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"4byte.sourcify.dev appears in shipped code (other).","source":"_esm/errors/abi.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"5irescan.io appears in shipped code (other).","source":"_esm/chains/definitions/5ireChain.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"abeyscan.com appears in shipped code (other).","source":"_esm/chains/definitions/abey.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"abscan.org appears in shipped code (other).","source":"_esm/chains/definitions/abstract.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"agung-testnet.subscan.io appears in shipped code (other).","source":"_esm/chains/definitions/agungTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"aic.acria.ai appears in shipped code (other).","source":"_esm/chains/definitions/acria.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"apescan.io appears in shipped code (other).","source":"_esm/chains/definitions/apeChain.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api-nova.arbiscan.io appears in shipped code (other).","source":"_esm/chains/definitions/arbitrumNova.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api-sepolia.arbiscan.io appears in shipped code (other).","source":"_esm/chains/definitions/arbitrumSepolia.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api-sepolia.basescan.org appears in shipped code (other).","source":"_esm/chains/definitions/baseSepolia.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api-sepolia.blastscan.io appears in shipped code (other).","source":"_esm/chains/definitions/blastSepolia.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api-testnet.snowtrace.io appears in shipped code (other).","source":"_esm/chains/definitions/avalancheFuji.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.apescan.io appears in shipped code (other).","source":"_esm/chains/definitions/apeChain.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.arbiscan.io appears in shipped code (other).","source":"_esm/chains/definitions/arbitrum.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.avax-test.network appears in shipped code (other).","source":"_esm/chains/definitions/avalancheFuji.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.avax.network appears in shipped code (other).","source":"_esm/chains/definitions/avalanche.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.basescan.org appears in shipped code (other).","source":"_esm/chains/definitions/base.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.blastscan.io appears in shipped code (other).","source":"_esm/chains/definitions/blast.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.bttcscan.com appears in shipped code (other).","source":"_esm/chains/definitions/bitTorrent.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.mainnet.abs.xyz appears in shipped code (rpc).","source":"_esm/chains/definitions/abstract.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.snowtrace.io appears in shipped code (other).","source":"_esm/chains/definitions/avalanche.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"api.testnet.abs.xyz appears in shipped code (rpc).","source":"_esm/chains/definitions/abstractTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"apolloscan.io appears in shipped code (other).","source":"_esm/chains/definitions/apollo.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"arb1.arbitrum.io appears in shipped code (other).","source":"_esm/chains/definitions/arbitrum.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"arbiscan.io appears in shipped code (other).","source":"_esm/chains/definitions/arbitrum.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"areonscan.com appears in shipped code (other).","source":"_esm/chains/definitions/areonNetwork.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"artio.beratrail.io appears in shipped code (other).","source":"_esm/chains/definitions/berachainTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"artio.rpc.berachain.com appears in shipped code (rpc).","source":"_esm/chains/definitions/berachainTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"astar-zkevm.explorer.startale.com appears in shipped code (other).","source":"_esm/chains/definitions/astarZkEVM.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"astar.api.onfinality.io appears in shipped code (other).","source":"_esm/chains/definitions/astar.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"astar.subscan.io appears in shipped code (other).","source":"_esm/chains/definitions/astar.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"aurorascan.dev appears in shipped code (other).","source":"_esm/chains/definitions/aurora.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"auroria.explorer.stratisevm.com appears in shipped code (other).","source":"_esm/chains/definitions/auroria.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"auroria.rpc.stratisevm.com appears in shipped code (rpc).","source":"_esm/chains/definitions/auroria.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"bahamut-rpc.publicnode.com appears in shipped code (rpc).","source":"_esm/chains/definitions/bahamut.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"bartio.beratrail.io appears in shipped code (other).","source":"_esm/chains/definitions/berachainTestnetbArtio.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"bartio.rpc.berachain.com appears in shipped code (rpc).","source":"_esm/chains/definitions/berachainTestnetbArtio.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"basecamp.cloud.blockscout.com appears in shipped code (other).","source":"_esm/chains/definitions/basecampTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"basescan.org appears in shipped code (other).","source":"_esm/chains/definitions/base.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"bepolia.rpc.berachain.com appears in shipped code (rpc).","source":"_esm/chains/definitions/berachainBepolia.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"berascan.com appears in shipped code (other).","source":"_esm/chains/definitions/berachain.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"beta-mainnet.boolscan.com appears in shipped code (other).","source":"_esm/chains/definitions/boolBetaMainnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"beta-rpc-node-http.bool.network appears in shipped code (rpc).","source":"_esm/chains/definitions/boolBetaMainnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"betanet-rpc1.artela.network appears in shipped code (other).","source":"_esm/chains/definitions/artelaTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"betanet-scan.artela.network appears in shipped code (other).","source":"_esm/chains/definitions/artelaTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"blastscan.io appears in shipped code (other).","source":"_esm/chains/definitions/blast.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"block-explorer-api.battlechain.com appears in shipped code (other).","source":"_esm/chains/definitions/battlechain.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"block-explorer-api.testnet.battlechain.com appears in shipped code (other).","source":"_esm/chains/definitions/battlechainTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"blockscout.acala.network appears in shipped code (other).","source":"_esm/chains/definitions/acala.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"blockscout.atleta.network appears in shipped code (other).","source":"_esm/chains/definitions/atletaOlympia.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"bob-sepolia.explorer.gobob.xyz appears in shipped code (other).","source":"_esm/chains/definitions/bobSepolia.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"bob-sepolia.rpc.gobob.xyz appears in shipped code (rpc).","source":"_esm/chains/definitions/bobSepolia.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"bobascan.com appears in shipped code (other).","source":"_esm/chains/definitions/boba.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"botanixscan.io appears in shipped code (other).","source":"_esm/chains/definitions/botanix.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"brisescan.com appears in shipped code (other).","source":"_esm/chains/definitions/bitgert.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"brnkc-mainnet.bearnetwork.net appears in shipped code (other).","source":"_esm/chains/definitions/bearNetworkChainMainnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"brnkc-test.bearnetwork.net appears in shipped code (other).","source":"_esm/chains/definitions/bearNetworkChainTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"brnkscan.bearnetwork.net appears in shipped code (other).","source":"_esm/chains/definitions/bearNetworkChainMainnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"brnktest-scan.bearnetwork.net appears in shipped code (other).","source":"_esm/chains/definitions/bearNetworkChainTestnet.js","question":"hosts"},{"rule":"T-hosts","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"brockrpc.io appears in shipped code (other).","source":"_esm/chains/definitions/bitrock.js","question":"hosts"},{"rule":"T-key-handling","as_of":"2026-10-10T02:02:27.981Z","class":"traced","detail":"Turns key material it is GIVEN into an account or signer (privateKeyToAccount(), mnemonicToSeedSync(), hdKeyToAccount()); no read of a key from the environment or a key file was found. A signing library does this.","source":"_esm/accounts/hdKeyToAccount.js:10","question":"key_access"}],"key_access":"none_found","key_egress":"unknown","fund_actions":"unknown","method_version":"custody-3","install_scripts":{"present":false,"commands":[]},"key_egress_hosts":[]},"summary":{"key_access":"none_found","key_egress":"unknown","fund_action_count":null,"notable":false,"version":"2.57.2","as_of":"2026-10-10T02:02:27.981Z","method_version":"custody-3","check_url":"https://satohub.ai/check/package/npm%3Aviem","subject_id":"npm:viem","notable_rules":[],"key_egress_hosts":[],"methods":["declared","traced"]},"answers":{"key_access":"No private-key read found in what we read of its setup and published code — the limits say how much that was.","key_egress":"Not yet run — we have not run this version with planted test keys.","fund_actions":"Unknown — we could not read what it exposes.","changes":"Since 2.56.9: adds a request to brockrpc.io; no longer references bbscan.io."},"check_url":"https://satohub.ai/check/package/npm%3Aviem","attestation":null,"solana_receipt":{"attestation_address":"E2xDBbrWLCZT3JMeMenMCjdXXRNSAEpEamikjC2d8dfz","explorer_url":"https://explorer.solana.com/address/E2xDBbrWLCZT3JMeMenMCjdXXRNSAEpEamikjC2d8dfz","cluster":"mainnet-beta","as_of":"2026-10-10T02:02:27.981Z","digest_hex":"d750c9e3587a6a426cea1d5659f364b0334e08ee4f7bda89fe37e05e9709c02a"},"meta":{"signature":{"alg":"EdDSA","kid":"b04bd38b","sig":"uj5S-FMYrE9w2ff9fSB8CdXEao5actjSNo5pkOUsAsxqaA4RB4HhInu12BHVDQfN64P-5DxnEBlWLIPDpG32BQ","signed_at":"2026-10-29T09:05:09.111Z","jwks_url":"https://satohub.ai/.well-known/jwks.json","canonicalization":"utf8(signed_at) || 0x0A || canonicalJson(body with meta.signature removed; the meta object itself is kept, and is present in every signed body); canonicalJson = JSON with object keys sorted by Unicode code point, array order preserved, no whitespace"}}}