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.56.tar.gz (69.4 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.56-cp312-cp312-win_amd64.whl (337.9 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.56-cp312-cp312-win32.whl (302.9 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.56-cp312-cp312-musllinux_1_2_x86_64.whl (656.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.56-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.1 kB view details)

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

dao_treasury-0.0.56-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.56-cp312-cp312-macosx_11_0_arm64.whl (412.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.56-cp311-cp311-win_amd64.whl (333.9 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.56-cp311-cp311-win32.whl (299.4 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.56-cp311-cp311-musllinux_1_2_x86_64.whl (622.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.56-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (626.9 kB view details)

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

dao_treasury-0.0.56-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.8 kB view details)

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

dao_treasury-0.0.56-cp311-cp311-macosx_11_0_arm64.whl (409.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.56-cp310-cp310-win_amd64.whl (334.7 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.56-cp310-cp310-win32.whl (300.3 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.56-cp310-cp310-musllinux_1_2_x86_64.whl (633.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.56-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (637.4 kB view details)

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

dao_treasury-0.0.56-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.4 kB view details)

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

dao_treasury-0.0.56-cp310-cp310-macosx_11_0_arm64.whl (413.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.56.tar.gz
Algorithm Hash digest
SHA256 b49dd8ecc1244347fe30185ee2eacf752dd91adb2a1689fd7a946e4cf29c4f6e
MD5 3ba0162ebe72ed1ac6d218c3f7b74da1
BLAKE2b-256 beea2fd0a838b94b124d31f15d18869e3c0b3a057a153f960f80a3642e86263f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a437e64597eca3fbbe7f45c20886fde8ce065c6a88c9dda3b9db95907bf10d2b
MD5 0ec4e1c918192dc6e6129f9b6e001803
BLAKE2b-256 0a024b524777f670b9f85f74fd895d6e9734fa4215a23942aa9545cf2b261735

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.56-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4fae82e8b36877e2b11b8f22f38d88ab6f42578ae442fe7e3bc9bc09db846944
MD5 7f4657fefa536afc7683a402ad5e7017
BLAKE2b-256 80b69611ca0ba35b8ec739dd73c0d175366b92e544ec2dd1085faa1fc2c03362

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d4d8bd0ff0cc884af1494d178d9651bdc10d0c6a5f26e996217491c27a426800
MD5 9069a05a134a299233f09325c1f2362e
BLAKE2b-256 f53fd27150b3d78431add0513262a3c064811e5e4edd61dae2db1b630268c156

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.56-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.56-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 65e3f0d5748336bf04abf0d44280224dad187a3ad36ee0d2fac522293a45a9ea
MD5 c16df190ab15cc9161926e358e778224
BLAKE2b-256 29fc4595d97ad5d480910d14a45c0f19287c7f900749a98f9d29ccf012e5842b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 3d2b59ec1d3106a61313c3a12b0c06326c06e12dc3e48283551b4519947aa9fa
MD5 36cc704f6f00559b71b4af85a8f8c141
BLAKE2b-256 8e984108bba186104043190bff6d4bc4196dbad7c3ec81cd98aa555ffbdc79fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e91bc0adc9996334b9db4cc773633ac4c21cd83c85e52f6941673d20cfe46f6
MD5 e42d1b8a7080643758c2affb174a83b8
BLAKE2b-256 7cbfeb7fd74bc2b880bb4c643ade6710d12f59d4c90978cfe594859405c41892

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8cad1d1e3761e710a52bc7000777eb02b71494408dec55d11a858fd8a9f30c4f
MD5 21105206ea66732152e0b3834ed27efd
BLAKE2b-256 f6624d33bbb568f8728a302774376640e931386249541d118029e2b93eab0baf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.56-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6e7f843fa680839eb5f12d4807c5d0d25240e46d06869405daf09f6fd8d90fe6
MD5 70249cfe6709cddc384611c7134db7e4
BLAKE2b-256 7fe0bc1a6a692ecdba44ac63902ea38b26e1a7eeba8802baea4712cd10456b03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 84e823f5fdbbff55cfb26a0d4ca663609be7226b5c90508bfd7f09bbbe67e72a
MD5 634c5e630e0dd45927f4af227543449b
BLAKE2b-256 23437e6b0e653e983379c6fc4d9a8b6f05d86cc4fd24d8da5b3c58797c8b4744

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.56-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.56-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8c8d415604623358cb12144b90ca0743d6d86d700e87e10b1a9b24c5180fd99
MD5 c7735fa7e3ac03b7cb6c8f52b8bc429a
BLAKE2b-256 6c37abad0db0612cfec8db58b7e91d480d79fbb8195ca712b4d3da5553db4188

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 5f98b9084d5781fcbe0f305f2a580d0694e9a78f36bbb4003727eef2cb8c7d94
MD5 ee4bc133c0f4160fc00f8a833dbb4f06
BLAKE2b-256 a09f0228d8055a78dbd58532f4f173be86f156777e701479c29a83cbc896fd65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10335c6ced89a14b4c78a99a3680c9a2a3be414e50845867329f4c0bf484f861
MD5 ccfc95c88c902480a7fea61bd603a3e3
BLAKE2b-256 a624967e0a9aedff9eac5c3b0fd1aaf1c387662b5e166e87e38140c28c6a4fcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 69a5c485e7f454e7f11f1005ba9f818783373030f6fed988c869b2075c9a5994
MD5 9ef05444b8c8d499331fbd1862ced49f
BLAKE2b-256 eb2744e505a3e3d0eb2f5780fe564c8a0e44029a7e3c7d35e5af0087b17fd214

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.56-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a955e19e3672c53b6d5afa3209177dd94517e91c46d6e91648dda7328e01f19b
MD5 1a65c18c64d2e137ddb79a60a48360ad
BLAKE2b-256 f7a765b6b71a9b856d1eb6cb203835266f909931151dcedc5a336131d9877229

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a021e1d492f0ff8547cc960ee485ab717390fd2c700880c6ec145436f6d0d448
MD5 2fd71f9d3e6527a4f6f47d475c64cfe9
BLAKE2b-256 75a365a0f86bcaee97c51d585f6b09a57a47f985b9f901433024fa86b4d6f1bc

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.56-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.56-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d02cb43d4b791cf63cf8e9ec41834cfd042ec74930c456e005fbb78617a7fd55
MD5 079a1f989d3aa7fc7b3294ca9e567591
BLAKE2b-256 254ed2b3b9205799fb6f4cac59fdcab6fe3a181d07bb2a287798b0fdc5942c2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 5f9f477d4a46ee102f9a8fe0015f99d96ba671f04a3588cf09a0acc06656081b
MD5 7bde7a047c567cdf18718329b0983be7
BLAKE2b-256 eb1478119deaf76f49e60ab7a9d34e768ee6371a630e02d5c6da0763a585a9d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.56-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13d90490d75a5ca2804983b62cb0849f0c282826769a19fe29af3bc7cae5fff3
MD5 2ff552ba7d75e36148772a03c1ba83e6
BLAKE2b-256 64564d860b1cb9cd13fb5363db3c530ec4ad19ec7f2b0cf75fb5d4b9d13afbaf

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