Skip to main content

Produce comprehensive financial reports for your on-chain org

Project description

DAO Treasury is a comprehensive financial reporting and treasury management solution designed specifically for decentralized organizations. Built as an extension to eth-portfolio's Portfolio Exporter, DAO Treasury automates the collection and visualization of financial data, enabling organizations to monitor and report on treasury activities with clarity and transparency.

Key Features

  • Financial Reporting for DAOs: Extends core portfolio functionalities to generate detailed reports tailored for on-chain organizations.
  • Dashboard Provisioning: Utilizes Grafana dashboards—defined in JSON files within the .grafana/provisioning directories—to offer real-time, dynamic visualizations of treasury data.
  • Automated Data Export: Features a treasury export tool that, once configured (with a supported brownie network and Docker), continuously captures financial snapshots at set intervals.
  • Ease of Contribution: Non-technical users can easily update or create dashboard visuals using Grafana’s intuitive UI. The Contributing Guidelines document provides a step-by-step guide to defining new visuals and dashboards and integrating those changes into the repository, ensuring that anyone can contribute to the visual reporting aspect of the project.

Requirements

  • Python 3.10 or higher.
  • At least 16GB of RAM.
  • All dependencies installed as specified in the project’s pyproject.toml file.

Prerequisites

  • First, you will need to bring your own archive node. This can be one you run yourself, or one from one of the common providers (Tenderly, Alchemy, QuickNode, etc.). Your archive node must have tracing enabled (free-tier Alchemy nodes do not support this option).
  • You must configure a brownie network to use your RPC.
  • You will need an auth token for Etherscan's API. Follow their guide to get your key, and set env var ETHERSCAN_TOKEN with its value.
  • You'll also need Docker installed on your system. If on MacOS, you will need to leave Docker Desktop open while DAO Treasury is running.

Installation

pip install dao-treasury

Usage

Run the treasury export tool:

# For pip installations:
dao-treasury run --wallet 0x123 --network mainnet --interval 12h

For local development (from source installation), use:

poetry run dao-treasury run --wallet 0x123 --network mainnet --interval 12h

CLI Options:

  • --network: The id of the brownie network the exporter will connect to (default: mainnet)
  • --interval: The time interval between each data snapshot (default: 12h)
  • --concurrency: The max number of historical blocks to export concurrently. (default: 30)
  • --daemon: Run the export process in the background (default: False) (NOTE: currently unsupported)
  • --grafana-port: Set the port for the Grafana dashboard where you can view data (default: 3004)
  • --renderer-port: Set the port for the report rendering service (default: 8091)
  • --victoria-port: Set the port for the Victoria metrics reporting endpoint (default: 8430)
  • --start-renderer: If set, both the Grafana and renderer containers will be started for dashboard image export. By default, only the grafana container is started.

After running the command, the export script will run continuously until you close your terminal. To view the dashboards, just open your browser and navigate to http://localhost:3004!

Docker

When you run DAO Treasury, eth-portfolio will build and start 4 required Docker containers on your system. Additionally, DAO Treasury will build and start 2 more required containers:

  • grafana

    • Provides a web-based dashboard for visualizing your treasury data.
    • Pre-configured with dashboards and plugins for real-time monitoring.
    • Uses persistent storage to retain dashboard settings and data.
    • Accessible locally (default port 3004, configurable via --grafana-port).
    • Supports anonymous access for convenience.
    • Integrates with the renderer container for dashboard image export.
    • Loads dashboards and data sources automatically via provisioning files.
  • renderer

    • Runs the official Grafana image renderer service.
    • Enables Grafana to export dashboards as images for reporting or sharing.
    • Operates on port 8091 by default (configurable via --renderer-port).
    • Tightly integrated with the Grafana container for seamless image rendering.
    • Note: The renderer container is only started if you pass the --start-renderer CLI flag.

How it works:

  1. DAO Treasury collects and exports treasury data.
  2. Grafana displays this data in pre-built dashboards for analysis and reporting.
  3. The renderer container allows dashboards to be exported as images directly from Grafana (if enabled).

Additional Information:

  • All containers are orchestrated via Docker Compose and started automatically as needed.
  • Grafana provisioning ensures dashboards and data sources are set up out-of-the-box.
  • All dashboard data and settings are persisted for durability.
  • Dashboard images can be generated for reporting via the renderer (if enabled).

Screenshots

DAO Transactions Dashboard

image

Contributing

We welcome contributions to DAO Treasury! For detailed guidelines on how to contribute, please see the Contributing Guidelines.

Enjoy!

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dao_treasury-0.0.66.tar.gz (70.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dao_treasury-0.0.66-cp312-cp312-win_amd64.whl (338.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.66-cp312-cp312-win32.whl (303.1 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.66-cp312-cp312-musllinux_1_2_x86_64.whl (656.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.66-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

dao_treasury-0.0.66-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (689.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

dao_treasury-0.0.66-cp312-cp312-macosx_11_0_arm64.whl (413.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.66-cp311-cp311-win_amd64.whl (334.2 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.66-cp311-cp311-win32.whl (299.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.66-cp311-cp311-musllinux_1_2_x86_64.whl (622.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.66-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

dao_treasury-0.0.66-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

dao_treasury-0.0.66-cp311-cp311-macosx_11_0_arm64.whl (409.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.66-cp310-cp310-win_amd64.whl (335.0 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.66-cp310-cp310-win32.whl (300.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.66-cp310-cp310-musllinux_1_2_x86_64.whl (634.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.66-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (638.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

dao_treasury-0.0.66-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

dao_treasury-0.0.66-cp310-cp310-macosx_11_0_arm64.whl (413.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file dao_treasury-0.0.66.tar.gz.

File metadata

  • Download URL: dao_treasury-0.0.66.tar.gz
  • Upload date:
  • Size: 70.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for dao_treasury-0.0.66.tar.gz
Algorithm Hash digest
SHA256 f05a42a3ab808a50c3e7c79052d33568953796a3e195c3064d742ff0fb88f5e1
MD5 bd620644989fef9c25a9f8b59d8dbb7e
BLAKE2b-256 b9e1cf6304ffa7d2e5cc2348b0f402a60365f9e8597904e8460093cb8e86e51c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b3932223487e98c759f39cfd1608ecd0cd71a9779feda8328a3b6e33093b5b77
MD5 df6a174c9b243e14eb2ef715f539148d
BLAKE2b-256 1077387adda8cdcdad087787131a6b32276a933bc7d33bdb2180e945d562dcdb

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp312-cp312-win32.whl.

File metadata

  • Download URL: dao_treasury-0.0.66-cp312-cp312-win32.whl
  • Upload date:
  • Size: 303.1 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for dao_treasury-0.0.66-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 faeb5b5daf0f4d501fdc4470584f5dac4f09abc8dabca7b4a216afca78ccf123
MD5 51c50b0af721117e0bed008430c03082
BLAKE2b-256 8c980f9840f79488a003b16cf3055adf347c377af00ae32be1fc422e37437dfe

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8aa545e375984832075f898a34e6c561cac6362e92a8ec279b107fcd04819298
MD5 10f009bb43a6362943ba12bf325f9627
BLAKE2b-256 ff411880d4d94e28a9a3b417b946cf0e369c67d7316e90731a4cd3fd965856ed

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04eca90ef2e1d26972a31eb149351107e6dbb4752ea644c35bdd531c044ab722
MD5 9af12123e62f26a45553bafd480c1490
BLAKE2b-256 a2a77770c555c829a87d2142264ef206b2bfe20576a379c30190c689bf146dc2

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 0070eb99b42c28137ef6a6d619d1b7b31e69cd9d19118e20bdc8862facb2bf27
MD5 b20137f34a6d1e247e9479dc52057c44
BLAKE2b-256 5396264c412c3ea6a96a14e2ed607608d6a84b757a4eded13b522c3882c0ebe6

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 587828af051baf7b1cd07496cceebd47507233e681131128f3be5a5a43bd1067
MD5 cbab4a5a4977c8ecbbe43c201542d28c
BLAKE2b-256 5acccda7f489a0289416294e2fcf2385f864ca6e97a31b4e125ae6b8356f770f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e6812335d1ef96b7ce5f31f342b3e00361796e6b36db7dbd219ffe8ac0d14664
MD5 6e529982c710e7ea1f4bdbc9d953cc15
BLAKE2b-256 02482d3131616b169127feeecf6e3de73789b72cf7b9afd096c3ebdac9c0f891

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp311-cp311-win32.whl.

File metadata

  • Download URL: dao_treasury-0.0.66-cp311-cp311-win32.whl
  • Upload date:
  • Size: 299.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for dao_treasury-0.0.66-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3c0b26ddfe09bae6bf08f16c8383c082786a35533b6ba1e1ffbf2e66ad9dbf62
MD5 ad6b814c03944853687eef5ad5123b38
BLAKE2b-256 f699fd2e8aca1c4ea275a2c727ff327ba3d9dd5bf2d592379ee01fe4fa1063db

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e5a7fcfdfc0359d84b720a8a2271a8c3d0d90cc97370539905ab59588b988fdc
MD5 79fb0768382fc28843d56f1d36dba2d3
BLAKE2b-256 23256df299d1bb756c96bc292f7254d8d9056ef5c150c4a8de28fdafc8ae5467

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09c3450d65fe44ae979e92a69e0499a28a0e6bdc054977c0a02cd1e71f8c112c
MD5 ad8797da8854bc2b4368f22eb5b1bc0f
BLAKE2b-256 df3d450bca0828aac931b656f8c647844e626813dfc66376fb400d3d357d6e86

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 049f8646fa01f2921ab13ce07127490fc7bffb3106beed5a7f53bd2be445e1bb
MD5 255faa7b8effed7df4a950301052c070
BLAKE2b-256 1d5774b3c62e7fa3e04944dbab95960f84332984c8ec2796cda3b0e12c1cdf25

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c305919900c5c7473c53cf4dda06f0d7488abe236a55aca8fa7472562b2d2e88
MD5 21955c6e9b1963d795fd5f1dd70a1757
BLAKE2b-256 76eeaf6a86b5c1fab7e5669cc92e46cf228d809732feb81fa9be547d0643101f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 96857a3f7cf184d9efab4ad5a585cd5dae8eb880f9c1eb95a743a0266d7ee48d
MD5 7f254dcf2fecb8a5a70dffaa16c96c7e
BLAKE2b-256 8c59a256155ebd2355a56ed34dd8486af87c6ccc1ef6b8d0908819ac55b6a493

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp310-cp310-win32.whl.

File metadata

  • Download URL: dao_treasury-0.0.66-cp310-cp310-win32.whl
  • Upload date:
  • Size: 300.4 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for dao_treasury-0.0.66-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 9b1de14fbde37228cd39db39f379d5a6ad179ad8fca7f728a54637bb8faaaee3
MD5 ea82295f205a0cef613ba2f901023a0d
BLAKE2b-256 ec81d8802b47579c4f9794f2467fc7f6bfa626c2fc5fa57ac63c04abd7a59659

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 136a9e4ec59561b591f94087a0c689cd17fc2fba0ffebf1189069974fbd8a57e
MD5 901e045494d9ce95109510bc5ed47d5e
BLAKE2b-256 ea354d7af9bf42943d96cd01b0b07e5028e0ec1dc4145ec26d3e8283d50e7833

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0da179bdb066f98210a763944592a6c284e64f323323f6fe6c894cc90eeade3
MD5 253b2ee75d76fb9ccc5f26acb21e699e
BLAKE2b-256 a6ff834ca6bbe8f16fa38d8a4c9d5dde4b464f68c51f5c7ae98d83754ee1f548

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 3d6c46d53497dfbeb30a87368790cf639137820b0cec7a97d327e6d637a804ca
MD5 68ed3fdc8336d3ee354a0e24fd4bb496
BLAKE2b-256 86cef8944993c135ec17f7c1200e97087ec849ac1890c3069dde5ba72959d751

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.66-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.66-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e989d14d894b1da3af8285a161908e8c492f5d2c5fe1d633b609ba14cb4b3eda
MD5 9e8ac0bf8fb37ea979e84d0bd597fc18
BLAKE2b-256 78f07e388c3d86844f8e428eb2e4ec99390b7dfc1997d8442f42b93f0ea7ce9b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page