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)
  • --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.59.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.59-cp312-cp312-win_amd64.whl (338.3 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.59-cp312-cp312-win32.whl (303.3 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.59-cp312-cp312-musllinux_1_2_x86_64.whl (656.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.59-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.4 kB view details)

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

dao_treasury-0.0.59-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (688.9 kB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.59-cp311-cp311-win_amd64.whl (334.3 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.59-cp311-cp311-win32.whl (299.9 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.59-cp311-cp311-musllinux_1_2_x86_64.whl (622.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.59-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.2 kB view details)

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

dao_treasury-0.0.59-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.59-cp311-cp311-macosx_11_0_arm64.whl (409.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.59-cp310-cp310-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.59-cp310-cp310-win32.whl (300.7 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.59-cp310-cp310-musllinux_1_2_x86_64.whl (633.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.59-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (637.6 kB view details)

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

dao_treasury-0.0.59-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.3 kB view details)

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

dao_treasury-0.0.59-cp310-cp310-macosx_11_0_arm64.whl (413.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.59.tar.gz
Algorithm Hash digest
SHA256 84cccd188c936c50d61c7923de99606aece061da54458e513f0be04ec7abe464
MD5 27318bc528f156c56c0b98d8e6c99c7c
BLAKE2b-256 517ce75d83b5d212a12905e155ac49275f6dbc8a960963fc3eb3bd5b1a4da5b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cd9a64134c94aaca0ee1dd8881ef638709920ff3fbe324382a49191c588d3d5f
MD5 11f0c779bdcffbcc4d7cb02fbfc05922
BLAKE2b-256 7bbd2e9c7c953be6e81802b602fa0e5635b2eb58684677b2a187ce1aac625821

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.59-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 f1f5cc21406fdaee81231695cbe81d0315b431124d8ab5f0558f650678a636fd
MD5 ca870f2e3a5c2fc1bd08b6ba13372071
BLAKE2b-256 dcbed483694632a2a23cb6b8623cc5a3dc64b8a3a1f6604f150149c0792343df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bcc7ba846b87c1df51f1a571957f5486861dd5e319552217313bac6c1e671298
MD5 47eeb60a200896a2aef15a5a11e96f99
BLAKE2b-256 fe4ce29a4a41a8c1486f7a27d4b9fee8bd27992fbacdc5e0abedd8f6723f90e7

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.59-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.59-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 269a9ecfc5f89bdfa0ceffc882ad879673152c52013d93f9e19e2b6801275ecd
MD5 47c4297ee4b04de3f43cd3b03bbfa2a8
BLAKE2b-256 a0110af6d673ce33ed85b1fe19ed90358ef269669ffa3895f851c7b516699ca1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 336ef548b1e787b759dd9d6f868980beccabed4abf85dca97b62eb2c20aa55c6
MD5 4259348c3d64c8ae9d8b637877f617fb
BLAKE2b-256 c03793152475b0d7c31c6d4b06d8eca8397d02e35fff48dcd6120a8fcaf154e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 045585141a3d71542e0be2a80c037f931fa1ccb642cbc474b8d700f30a72dd90
MD5 c0caa58a8ff9845acaffaefb42923c83
BLAKE2b-256 95f377f91bccb766a4da5cfd46d89c446b0736a6980dc01df3c7936e2ea084e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3f52fe16150304f27af6be3c56fd79a3997019e1f625d2256ec7dc37561e820a
MD5 7d7acbe9a7f3cb448746c991239a1706
BLAKE2b-256 7583ee473e096f2bb44cc7032f24719f6c4d409eb557f6d9020b669649d0a437

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.59-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f37647ba37159d9636909ac7d6c54985b86463ee763f55710c2f3c95b0c6b931
MD5 77f29f4a0123aca7edbcca96e75dd0a2
BLAKE2b-256 6e20e9d06634392397dcd209db4f23a73995d42ae15e058254befcbc92b7723b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2914a9e78fbf11f57f22e3346f3c1098fa11b4cde7f7295a24ed1be4ab408ef2
MD5 1fc7ae3420fbeffbcb49f3db2137a42b
BLAKE2b-256 45e7071459ed6cc04537e827519fe11a5feb372c722d2edbe09f7815f72b3b80

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.59-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.59-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5808d977fad9fdd065a764f8615df8f38b154ff96648d1af14893921507e067f
MD5 ea45f235107794acaf6ba3a47b600bc2
BLAKE2b-256 1e80c1cc514a42f486c6e8a87deb7ca07f216cd5e4c5ad8d653a319a4a108ca1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 e293021838a4e46e5632c1ebd8ff7d8e771452567a2b3b5ac3ed8a7b7c3590f6
MD5 6fbfc6dd61da4bd40aa75f2e86b2bb44
BLAKE2b-256 767ba93383c78c8400649ca51d24a0fe4201ad55e6278cdd8ef101127290e567

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6134393fec49fbe7f257b27f2e24ffe44fdc3ece79b4216f094093e24bd95c97
MD5 d5836764126c0940b94b951f776b05de
BLAKE2b-256 3f8aea6502468cd8aa985afab358583d45dc85021183fc65c8fadf1d1112bb59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 66347a8b03cab4213db23f350e37c6752fd6710dfb5cd3522501d365cb98931f
MD5 b74c2627c311cb8426151b1c6522e840
BLAKE2b-256 ee0053bf72b00175f705a44e51f775afcab1d7181e4b6b0cb3ed2eb99fb514fd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.59-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b573ec973adbab9558083ccde6ac47aa922b026c46ec001a65b23f54eda1db03
MD5 beea60df14bd9b852110393a3505aae3
BLAKE2b-256 e594aae62b44f6bb0687aa70eb30c23718404d702aa346ac3d2e3d906a05e881

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d27edf25e5099a1ba58ee12aae322528e8bd9f8d13de1b4fa6105dee31fd2935
MD5 356a0d7a8d8857cc3b18abbe6124629b
BLAKE2b-256 8e389d908413b4fad93a5329410c5bb5411de08f2bb6b2ec18f6c0d7fbf53b28

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.59-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.59-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a505206367d0408c417295f50e0a63c7b21750feefe6f3a077c77f31b797c37b
MD5 9b0749ed7ff5013aa637f315f2f3d52e
BLAKE2b-256 27d6255d6fc5573240ed6a8dc358ee67de1e4c921e2f88dab43930ed08924bb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 3d8f2a460ccf1f5c4054d7427d82e364956e9dce3910e62d7b86d5ba4f7bfa08
MD5 3c2dd87b0e4a2a1dad3a666c0b40f661
BLAKE2b-256 5b87917033c90a0f70a0d3e6935767e0b731d18e494b1dc0a59df37b6065cb00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.59-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ea76536a2c7f5b499e2aed30f9fddc38c4ed802e3a8e3a9c90dc2bb007be229c
MD5 c943a2a05c8b6fe110c54670acd54cd6
BLAKE2b-256 ea26d1612e96d5bc3d752fe65f3e58e60da97b9fcb55b5aeafa5e8f9d4b16a56

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