Skip to content

Artifacts

DISCLAIMER // NFA // DYOR

This analysis is based on observations of the contract behavior. We are not smart contract security experts. This document aims to explain what the contract appears to do based on the code. It should not be considered a comprehensive security audit or financial advice. Always verify critical information independently and consult with blockchain security professionals for important decisions.

⊙ generated by robots | curated by humans

METADATA
Contract Address 0x00000000...feAaBC (etherscan)
Network Ethereum Mainnet
Analysis Date 2026-05-02

Runtime Bytecode

The deployed contract bytecode fetched from the blockchain. Approximately 21.6 KB. Full bytecode is too large to inline; reproduce locally with the command below.

Source: Etherscan — Contract Code

Command:

export ETH_RPC_URL=https://eth.llamarpc.com
cast code 0x000000000000888741B254d37e1b27128AfEAaBC


Creation Bytecode

Full creation bytecode used to deploy the contract, including constructor code and the two SSTORE2 chunk addresses passed as constructor args.

Source: Etherscan — Creation TX

Command:

export ETH_RPC_URL=https://eth.llamarpc.com
cast tx 0xb98494e357d21c7dac98fd417b1b6efbbc89ddfd7fe2d07250176a69c93fa7bb input

Constructor arguments (decoded from the trailing 64 bytes after the metadata CBOR):

_htmlChunk1 = 0x745c9c91674754eee083c66bdd533fca2e21723e
_htmlChunk2 = 0x62a765fce31b247febd64918ef964e56998863f8

Both chunks were deployed by the same vanity factory (0xac5fb2e1...DaC6Ea) earlier in the same deployment trace.


Verified Source Code

Source code verified on Etherscan as Exact Match. The verified bundle contains 11 files: the primary src/SLOW.sol plus 10 vendored Solady library files (ERC1155, Multicallable, ReentrancyGuardTransient, SafeTransferLib, EnumerableSetLib, MetadataReaderLib, LibString, LibBytes, Base64, SSTORE2).

Source: Etherscan — Contract Source

Compiler settings:

{
  "remappings": ["@solady/=lib/solady/", "solady/=lib/solady/src/"],
  "optimizer": { "enabled": true, "runs": 200 },
  "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true },
  "evmVersion": "prague",
  "viaIR": true
}

Primary source — SLOW.sol (head):

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.34;

import {Base64} from "@solady/src/utils/Base64.sol";
import {SSTORE2} from "@solady/src/utils/SSTORE2.sol";
import {ERC1155} from "@solady/src/tokens/ERC1155.sol";
import {LibString} from "@solady/src/utils/LibString.sol";
import {Multicallable} from "@solady/src/utils/Multicallable.sol";
import {SafeTransferLib} from "@solady/src/utils/SafeTransferLib.sol";
import {EnumerableSetLib} from "@solady/src/utils/EnumerableSetLib.sol";
import {MetadataReaderLib} from "@solady/src/utils/MetadataReaderLib.sol";
import {ReentrancyGuardTransient} from "@solady/src/utils/ReentrancyGuardTransient.sol";

/// @notice Timelocked token sends with optional guardian co-sign and tipped settlement.
contract SLOW is ERC1155, Multicallable, ReentrancyGuardTransient {
    // ... ~900 lines, see Etherscan for full source ...
}

/// @notice `claim`-only operator for keeper-driven settlement.
contract SLOWGate {
    // ... ~75 lines, see Etherscan for full source ...
}

The full source is ~1,008 lines and is reproduced verbatim in the working artifacts directory at artifacts/000000...feaabc/source/src__SLOW.sol.


Additional Artifacts

Internal Deployment Trace

The deployment transaction included an internal CREATE / CREATE2 cascade that deployed the vanity factory, the SSTORE2 chunks, this contract, and the SLOWGate child. Reproducible via:

curl -s "https://api.etherscan.io/v2/api?chainid=1&module=account&action=txlistinternal\
&txhash=0xb98494e357d21c7dac98fd417b1b6efbbc89ddfd7fe2d07250176a69c93fa7bb\
&apikey=$ETHERSCAN_API_KEY"

Notable subset:

TYPE FROM CONTRACT CREATED NOTE
create2 0x00000000...3c15Aa 0xac5fb2e1...DaC6Ea Vanity factory used for the rest of the deploy cascade
create 0xac5fb2e1...DaC6Ea 0x745c9c91...21723e htmlChunk1 SSTORE2 storage contract
create 0xac5fb2e1...DaC6Ea 0x62a765fc...9863f8 htmlChunk2 SSTORE2 storage contract
create 0xac5fb2e1...DaC6Ea 0x00000000...feAaBC SLOW (main contract)
create2 0x00000000...feAaBC 0xb8B546b9...9ef3D4 SLOWGate (deployed inside the SLOW constructor with salt = bytes32(0))

Observed Activity Log (deployment → 2026-05-02)

Reproducible via:

cast logs --from-block 24986598 --to-block latest \
  --address 0x000000000000888741B254d37e1b27128AfEAaBC

Summary of decoded events:

BLOCK TX EVENT(S) NOTE
24986967 0xfc3c057e...9e52c4 (tx) TransferSingle + TransferPending(transferId=0x81528a0d..., delay=86400) First test deposit: 0.001 ETH for 1-day delay to 0xcb059258...006aa2 (etherscan), via depositToWithTip (tip ≈ 0.0011 ETH)
25000107 0x9eee03f0...16d2db (tx) TransferClaimed(0x81528a0d...) First gate-claim 2 days later — keeper (the deployer) collected the tip
25000379 0xb8b18934...7600b3 (tx) TransferSingle + TransferPending(0x311c2acf..., delay=600) 0.001 ETH for 10-min delay to same recipient
25000519 0x63b56a28...a08bee (tx) TransferClaimed(0x311c2acf...) Settled ~10 min after expiry
25000976 0x4cf80328...007e38 (tx) TransferSingle + TransferPending(0x63e8401e..., delay=3600) 0.001 ETH for 1-hour delay self-send (deployer to deployer)
25002360 0x5ddfb50f...e5f1fe (tx) TransferClaimed(0x63e8401e...) Settled ~1 hour after expiry
25008271 0x86a6e1c8...e7fcf9 (tx) TransferSingle + TransferPending(0x44c8e370..., delay=600) 0.006 ETH for 10-min delay to vitalik.eth (0xd8dA6BF2...A96045 (etherscan)), via plain depositTo (no tip)
25008278 0x9e8250bb...d780ad (tx) TransferReversed(0x44c8e370...) Multicall reversal of the prior tx ~84 seconds later

Aggregate event tally (event topic → count):

EVENT COUNT
TransferSingle (ERC-1155 mint and burn) 9
TransferPending 4
TransferClaimed 3
TransferReversed 1

Source Splitting Helper

Used to extract the multi-file source bundle for offline reading:

import json, os
d = json.load(open('getsourcecode.json'))
src = d['result'][0]['SourceCode']
if src.startswith('{{') and src.endswith('}}'):
    src = src[1:-1]
parsed = json.loads(src)
os.makedirs('source', exist_ok=True)
for path, payload in parsed['sources'].items():
    with open(os.path.join('source', path.replace('/', '__')), 'w') as f:
        f.write(payload['content'])

Local Working Directory

All raw artifacts collected during this analysis are stored at:

artifacts/000000...feaabc/
├── TODO.md                        # phase tracking
├── getsourcecode.json             # raw etherscan API response
├── getcontractcreation.json       # creator + factory + tx + block + ts
├── source-metadata.json           # compiler settings (sans source body)
├── source/                        # 11 split source files (SLOW.sol + Solady deps)
├── txlist_all.json                # full tx history (5 transactions)
├── txlist_recent.json             # most-recent 10 (descending)
├── txlist_gate.json               # gate transaction history
└── tokentx.json                   # ERC20 transfer log (empty)