explaingit

ohmysol/panorama

Analysis updated 2026-05-18

0TypeScriptAudience · researcherComplexity · 4/5Setup · moderate

TLDR

A tool that visualizes how DeFi smart contracts on Ethereum depend on each other, turning a contract address into an interactive graph of oracles, vaults, and other connected contracts.

Mindmap

mindmap
  root((Panorama))
    What it does
      Maps contract dependencies
      Interactive graph view
      Risk flag detection
    Tech stack
      TypeScript
      Next.js
      Express
      Docker
    Use cases
      Audit DeFi vaults
      Trace oracle dependencies
    Audience
      DeFi researchers
      Security analysts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Paste an Ethereum contract address to see its full dependency graph

USE CASE 2

Spot risk flags like upgradeable proxies in a DeFi protocol's contracts

USE CASE 3

Explore how a vault, oracle, and lending market connect within a protocol

USE CASE 4

Get an AI generated plain-English summary of a DeFi protocol

What is it built with?

TypeScriptNext.jsReactExpressDockerViem

How does it compare?

ohmysol/panorama0xradioac7iv/tempfsabboskhonov/hermium
Stars000
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity4/53/54/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs an Etherscan API key, and Docker Compose is the easiest way to run both the frontend and backend together.

In plain English

Panorama is a tool for exploring how DeFi (decentralized finance) smart contracts connect to and depend on each other. A smart contract is a self-executing program that lives on a blockchain, and DeFi protocols are usually built from many contracts working together, so a vault might depend on an oracle for price data, a multisig wallet for governance, and a lending market for yield. Panorama lets you paste an Ethereum contract address into the tool, and it automatically traces the full dependency chain, showing every contract involved as an interactive, draggable graph. Each node in the graph represents a single contract and shows basic metadata: what role it plays, whether its source code is available, and any risk flags that were found, for example whether the contract uses an upgradeable proxy pattern, a design that lets someone change the contract's code after it has been deployed. You can click any node to see its full details, zoom in, or rearrange the graph to explore relationships more clearly. A separate tree view shows the same relationships as a hierarchical list. There is also an AI powered summary feature that gives a plain-English description of the protocol when nothing is selected. Under the hood, protocols are described with JSON files called manifests rather than custom code for each one. A manifest declares which on-chain functions to call and what to do with the results, and a single generic executor reads any manifest and runs the same multi-step lookup process for it, including following up on cross-contract references like Morpho market identifiers. The backend is an Express API written in TypeScript that pulls contract data from the Etherscan and Sourcify APIs and builds the dependency graph with a breadth-first search. The frontend uses Next.js 16 and React 19 with TailwindCSS. Both parts are containerized with Docker and can be started together with a single Docker Compose command, or run manually with npm. The README notes that Panorama is currently a prototype that only works on Ethereum Mainnet for Morpho Vault V1.

Copy-paste prompts

Prompt 1
Help me set up Panorama locally with Docker and an Etherscan API key.
Prompt 2
Explain how Panorama's protocol manifests and executor work together to trace dependencies.
Prompt 3
Walk me through what the risk flags in a Panorama contract node mean.
Prompt 4
Show me how to add a new protocol manifest to Panorama.

Frequently asked questions

What is panorama?

A tool that visualizes how DeFi smart contracts on Ethereum depend on each other, turning a contract address into an interactive graph of oracles, vaults, and other connected contracts.

What language is panorama written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, React.

How hard is panorama to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is panorama for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.