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.48.tar.gz (60.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.48-cp312-cp312-win_amd64.whl (322.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.48-cp312-cp312-win32.whl (287.8 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.48-cp312-cp312-musllinux_1_2_x86_64.whl (604.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.48-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (606.3 kB view details)

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

dao_treasury-0.0.48-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (637.1 kB view details)

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

dao_treasury-0.0.48-cp312-cp312-macosx_11_0_arm64.whl (382.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.48-cp311-cp311-win_amd64.whl (318.1 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.48-cp311-cp311-win32.whl (284.0 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.48-cp311-cp311-musllinux_1_2_x86_64.whl (577.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.48-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (582.6 kB view details)

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

dao_treasury-0.0.48-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (593.0 kB view details)

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

dao_treasury-0.0.48-cp311-cp311-macosx_11_0_arm64.whl (379.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.48-cp310-cp310-win_amd64.whl (318.7 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.48-cp310-cp310-win32.whl (284.8 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.48-cp310-cp310-musllinux_1_2_x86_64.whl (589.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.48-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (594.1 kB view details)

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

dao_treasury-0.0.48-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (604.7 kB view details)

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

dao_treasury-0.0.48-cp310-cp310-macosx_11_0_arm64.whl (384.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.48.tar.gz
  • Upload date:
  • Size: 60.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.48.tar.gz
Algorithm Hash digest
SHA256 511867ab282789eae5a6c7e624655ee59eb955254e9b987e18ebe3446b29bda0
MD5 9c7f497143c27a8569968d356b164ec6
BLAKE2b-256 2cc2b7e7cc12512ea6bcef406633e61931a692ca4b4a3f6f71fb9e8c87f3d2fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ec7ab4197c46844a73f6c8ba9642079e7b8620eaf3aa37ae2ae631451c2b0eda
MD5 e84e79639cf05ebc3baf599e202ef258
BLAKE2b-256 a901d0c08f438bb7b09e5ed0189a9a4750d792ddb83bccc25ba7f9ce1b696136

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.48-cp312-cp312-win32.whl
  • Upload date:
  • Size: 287.8 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.48-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 3233876f83ae006d50b7668afd8c366a31249604f4f34b1f6ba3decd7e1d6b46
MD5 acee5abff968bea7172bde3d9ceb92af
BLAKE2b-256 92b1df809881ad25a7f59f1629b9ecc26598bb5d875a0cfeaa51abde102d6014

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c8d66dc65d42a7aefe95a097fad10be42aa6c54641d5134f95c5ee4dce7e8e6c
MD5 d4d71f136817f22cefb4bef03f0c1ae6
BLAKE2b-256 82db5d02b7dec9e2f2ec3bc8ecba2cb893bc1c4a313174b7ca1829d2a02aeb96

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.48-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.48-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d47962bcfb0028b8b472cdd4b10b867d56d8a5ae59cdb7fd509d809a5f0145d3
MD5 2a521404a9a1cdbab7ea2baf0e5778b4
BLAKE2b-256 c33a60b2f4732115fae7bf064052d3d5784e25411beaf7f5ab14064860a88424

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 0848f9c65f54ce10d1d09176f3c1edb82bd250c9d85b32d22361d3a1fd35e111
MD5 42058f0f3d8f58159bc88bfb7f8f0c2e
BLAKE2b-256 1b773e81ff9ca0066bb7d447d27b4eb1c6746627bde3c3a5a869c2764b045ea7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ed178feebd46373cef7dea0af82f16a53b6bfebcffcb055833637fad3cd7b9d
MD5 ead8d049b4ca0fabded1cbce2f82b46d
BLAKE2b-256 54a264742cf873483f663e873fde1685ab0dfb207c3cca9f6cd0fbe9b9979d0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c2e472ac4070eba33f0ed8e7e7172a2030534102b07bad86c3208b3e46df24c7
MD5 3592ef295be0397b73642c7164b11cb9
BLAKE2b-256 23576a2d3523ddb0ae1c85eb7ecbec8d944ee45a8e056958971785f7352df4a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.48-cp311-cp311-win32.whl
  • Upload date:
  • Size: 284.0 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.48-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 da96aa8b63b04e9f44ba941f20746f2bbf5f4e7e81482fb0731a2c38df5771d6
MD5 0bc3e4ce55ca226453d6304726cd3195
BLAKE2b-256 7bb27301662774144b7c9217a9dd8ed399ebc39acfaabc96fe7542bd49fdc12a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1406911e6877ee1364d103b765c49b62b09643de7d5198e67f1b7d34bdad6514
MD5 ee462759c197f07a2e0857b751260de6
BLAKE2b-256 3ba2eb0cf031e5bdcb74310c7f4f8c0826dc40706ab954d43c5166b267ceb974

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.48-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.48-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b31603c41a8b9eb11880ce3b6bf6adbca274b508b8cf830e2780919c1ca1a02
MD5 65bf46cd684db3429266c2672a043758
BLAKE2b-256 852ddd6788d66d31f3625112962eb99a589ae5f7eb5a9f0ef3bc5540fe669d3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 c251aa5735e477401d5600a442a6a6de15a45601539e432f9ecf5d3789a5c48d
MD5 d86576ada0b0259a98a48836b14ccd13
BLAKE2b-256 c4e180008448b92f4e5254ec74399d4d2e1b01471bed3b02f86597c22210c7eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7962eb95a20087a43906f7c05166fbea61b0ad98586429543a66186c4ced742d
MD5 e8fce862b9c02466bbb1cee909fce24d
BLAKE2b-256 1ce95290015d094422ab3ce2fc291d0573c9688299008207b28cfdc0af44ff3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 614e3fe01ee6a1387a94d26012e2120f4c49f3b23bc0816a1d00f03bd24f4de8
MD5 abdc29533c881b45b058090170003b98
BLAKE2b-256 7b687be4c0c76bc615e49dc0734ddc169b7452a6579d06e0dbc319e10e6d7805

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.48-cp310-cp310-win32.whl
  • Upload date:
  • Size: 284.8 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.48-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 63f77dd98fdfd0d9c1417aa7f050412d79f08ec223911f0b913df20f9fab5c93
MD5 ec4ab93da948252480e2b07755faf4d1
BLAKE2b-256 bb0e690f5ee1a3fde647c7bad3a654e0c1f58212d11f3ecc13ff0fd9a795afc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e45ecb278244340280dcdd2364f381db694ced279c37e0d90572e77739cb3165
MD5 3f75c58d981f886772da4bcde9b5f63f
BLAKE2b-256 755a9a87448d3faf547aed4a1ee65b5029bc51d4550243434ca5c533515fa263

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.48-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.48-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a25f7a365fbe5d3db09bb61dfef62b231b90760fda220ce421257a17ae823f33
MD5 2e37a3bd03e737915a5baaa0d15e8309
BLAKE2b-256 4d3e9c66bfb33b8b7e42d803aee929e2f01d514c8e7807a2f88fa1d24dce0cbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 8ba6e2e5ba5bbefacb4c12fb57d3c8849d3f133961e89e5dd4072d84a5d58f22
MD5 c119aad3c4cfd67a9d1eea8d7bdfdbf2
BLAKE2b-256 85f6181a111009ff22d1222229049f6a3cdc6a5fe9f1d13ae18d60ed37695778

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.48-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b978f15e4d434920ed2301af9ad081244846b8c4dadc704e337ae6b0b300801b
MD5 6d9593088f5f00677dc8ed04cb2ac77b
BLAKE2b-256 95ec52eaefcaf0357b53663dd23d02d2eaa1059ac53b6821cfa258f8ca8ab553

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