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 Yearn 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)
  • --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.35.tar.gz (56.1 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.35-cp312-cp312-win_amd64.whl (329.9 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.35-cp312-cp312-win32.whl (292.0 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.35-cp312-cp312-musllinux_1_2_x86_64.whl (632.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.35-cp312-cp312-musllinux_1_2_i686.whl (660.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.35-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (635.7 kB view details)

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

dao_treasury-0.0.35-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (670.7 kB view details)

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

dao_treasury-0.0.35-cp312-cp312-macosx_11_0_arm64.whl (323.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.35-cp311-cp311-win_amd64.whl (325.7 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.35-cp311-cp311-win32.whl (289.3 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.35-cp311-cp311-musllinux_1_2_x86_64.whl (606.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.35-cp311-cp311-musllinux_1_2_i686.whl (616.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.35-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (611.2 kB view details)

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

dao_treasury-0.0.35-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (628.1 kB view details)

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

dao_treasury-0.0.35-cp311-cp311-macosx_11_0_arm64.whl (321.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.35-cp310-cp310-win_amd64.whl (326.4 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.35-cp310-cp310-win32.whl (290.5 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.35-cp310-cp310-musllinux_1_2_x86_64.whl (618.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.35-cp310-cp310-musllinux_1_2_i686.whl (630.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.35-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (621.2 kB view details)

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

dao_treasury-0.0.35-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (638.8 kB view details)

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

dao_treasury-0.0.35-cp310-cp310-macosx_11_0_arm64.whl (325.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.35.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.35.tar.gz
Algorithm Hash digest
SHA256 d5078eaa06afeae8ec23d70d147529c985a5b40f79b26fecd239fab0b516ee60
MD5 a32d34ddb2d5f7d5e6c0a95bb82b2e30
BLAKE2b-256 29bcb7c8b4c7a81b3dbd5d823739ad4490ddd55f1c7b18d544dadea13e4a5422

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 095ba79d18b7263765a1f740e998fac4662457c21cb7e2b99ff346f6c6a4c5b7
MD5 51eacf47917b22c1741f7be569871337
BLAKE2b-256 119cc88bcb75484e2f417714b3fa423b97826f223ba3dbde41ff9b0878ffa229

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.35-cp312-cp312-win32.whl
  • Upload date:
  • Size: 292.0 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.35-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 10d1ab3e11ccd28a69aa59473e0dac6e67499f53b16598570257712e4dbf7ae9
MD5 a09517df5d61628888b9c294307d7cfb
BLAKE2b-256 bd2bf25f17f39a009cfb438850cb4129196cf2b2a433bda8d4b0b678908c737f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1cc6de35295b52c2651054f68701ba0fbec677e3ea0979d876108792f3bb8ce2
MD5 c153496d584091e7932c37b14e97509d
BLAKE2b-256 a3f7ce9154a535bd4c052e2af2b1d1875a46da095eed8d987cc7fcce3f566fe1

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 678f942eacb7d00b33a29418bda34dbbe6f5860159c07585bce4df4c960187be
MD5 49249b4c64c640444710129e65b111ca
BLAKE2b-256 d15f23665dae53adc29279936512ff20f52526b8394fa1508dca376597a2fbb9

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-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.35-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22c9a46a612ac6471dc6662cdd43f46d3fdd74f2f74531bdf82561fe1acdbb19
MD5 e48b385b7b229e049d0ea63c60f29861
BLAKE2b-256 4b13f3b0fe948de6358906f64f8ce9213782cabde6a8602973e02815ba005afd

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 967233a39c5c122ff914abb76a66cba6aa49cc79a0166bdc031f11d1d7155619
MD5 9568294624a4f00b7d727040bfe5d022
BLAKE2b-256 309a3f4e5e547d2d449e74f9d26fd5462b34ab893469708fa4667a826baa0a94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df560fecffe8f488eae7879755be8baaa1be51738abc988f45d964ce68196759
MD5 850d22efe2d6631681099b2972256e0e
BLAKE2b-256 e12394cd5a4cd277bfa1a79a7da9bc045bfb341ce5acdf1496fd941d26c9d374

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 de6b2739b25fdfd867d4b6e8051887efc4cef38c4d315e04b6a9f13cd2f4ef6a
MD5 1684b3fe771692549f6af9bfe239684f
BLAKE2b-256 95de0af8930fd55a8be67e991ba524deb9def5caa1ad0154c1cd6325b5f4d961

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.35-cp311-cp311-win32.whl
  • Upload date:
  • Size: 289.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.35-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 355c016f95daf2a29c1cedc18940dd886b0e918c4fad5a5f18024703d3b567a0
MD5 ccbece79487d63405355bf539c95349f
BLAKE2b-256 e11b478b4db0b1d37b5761ccef29dc9f74ae7f13788371cb5428c4fa2fae18db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fdb386b563c6d14314c8ea670affc514176e63da77632874dad39c724e1cdf4f
MD5 431933dd14f4a1aedd8a46ab2f4a634d
BLAKE2b-256 263a6ac098a984f37e54ea7bf31a3364967f4565ec24285bb75ca64038160ea3

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 496fa929f7b3bb0bae79c61072f5c4c53da632f794879391b6071e82b7f27a1a
MD5 5762964578e5316fb5705fe159dabe93
BLAKE2b-256 06e0c080727df373fba5bed9d9a474a14da97517d1ae75e0e370c33122bf138b

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-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.35-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8de954bf2f5a64b82f3261f4ce465f0cfe92ed1c501fa86b7a86b41cd77e514
MD5 6997a655e9b7d663996868c70fbbf95c
BLAKE2b-256 e1614694331512fc3ef5ac5650b584ab1ea7d36fbde3689d920d70af35375ed1

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 52331e1d75c3070a7f9051a46a0abf1040d0ef811df2de0f79767dc263be3325
MD5 9a267bbdc181d65bb49f802e8526b23f
BLAKE2b-256 058efbe9650348a95adb9fcc270521b5667c7544bb2f5f1eb9ca5518f106aa48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9eddf044272a124c802fbe57cab7c808690dfcfecc192aa39a8e7102029a901f
MD5 92c463335f4358c9347753f6dbd0f5d5
BLAKE2b-256 9fc3fe64295e1829a9aef3b3eb5e906e64fe3349719904e26703fc9b7ea03fba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e4cd903f3d30ed345879fe7a343d5ce5e25ce9b0423fd7d33be3c0a7a912150c
MD5 775b4ea4636322eec8defbb07f2c9c38
BLAKE2b-256 84a05f589ad0ea4fb224b5d3f9c7a44bba85522e354a98dc334c93759b3d7c43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.35-cp310-cp310-win32.whl
  • Upload date:
  • Size: 290.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.35-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 5c26a0069c6c2f4c307a195d33e2296fc7f03edb64d843d61789f29072acdd87
MD5 4d63b8a601ebd04cd02ae273414dbb80
BLAKE2b-256 ffac55212d657009fcb3b6ff6c99dff1cfaedd64387be129ca8c096ed33694a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd84382df553bd8e2d9af34504dc6dffc29d8bcef0ca7a9ef50d0a6af9e34cea
MD5 eddcf3e502b123dfcc9b3c6e7af95ba7
BLAKE2b-256 9f5d576ac1aa5f9863757cd5f317aaa1dd6e1cc5a5b3fe0e8de9348cadd4885f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b71e119467d5cac161acc1a8c9620d4fb931a3be2e1db9533332b1a765535099
MD5 c6744bb6e8c5d0e3dfd1a8aa80a6d803
BLAKE2b-256 a6d43a8ccbcc273de410a20387d878ca41bf0b88d1c7c46d3865fc086dded5bc

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-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.35-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 841fc4c9ad2999dd3f55d322cdd52e929ef87c77a18d179cba8f26fad1df766e
MD5 b2b076490328c830ffde7f09c33ec4ff
BLAKE2b-256 acbb1f1a6a3ed9aed9bfb07ca884d14de4ea9a1c3fd79205ab7123a449c8a6c8

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.35-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 d23e9ead4049f5edee7ac8090af8b61983164beeb162902d5fb0351341b93b2c
MD5 24fd9efb607e307822f48789f84e7a06
BLAKE2b-256 1d78905bf0fa3dddb62190e0eb8fbd9b163d52416f24fcb6fbb77a95e56b6d1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.35-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f3cecee3e1efb4dc3ccc5fe9f96a1ea5b487eb01d5ba15d954fa50599c18d38
MD5 4948ea313aaa331292c1a11d4a99ed03
BLAKE2b-256 db24c9807d921df3df802b5b199067bb93cb06adefdb8f1284dc00111426ff5a

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