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.52.tar.gz (65.2 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.52-cp312-cp312-win_amd64.whl (331.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.52-cp312-cp312-win32.whl (296.2 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.52-cp312-cp312-musllinux_1_2_x86_64.whl (649.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.52-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (653.3 kB view details)

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

dao_treasury-0.0.52-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (682.0 kB view details)

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

dao_treasury-0.0.52-cp312-cp312-macosx_11_0_arm64.whl (406.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.52-cp311-cp311-win_amd64.whl (327.2 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.52-cp311-cp311-win32.whl (292.8 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.52-cp311-cp311-musllinux_1_2_x86_64.whl (615.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.52-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (620.1 kB view details)

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

dao_treasury-0.0.52-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (630.0 kB view details)

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

dao_treasury-0.0.52-cp311-cp311-macosx_11_0_arm64.whl (402.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.52-cp310-cp310-win_amd64.whl (328.0 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.52-cp310-cp310-win32.whl (293.6 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.52-cp310-cp310-musllinux_1_2_x86_64.whl (626.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.52-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (630.6 kB view details)

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

dao_treasury-0.0.52-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (641.6 kB view details)

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

dao_treasury-0.0.52-cp310-cp310-macosx_11_0_arm64.whl (406.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.52.tar.gz
  • Upload date:
  • Size: 65.2 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.52.tar.gz
Algorithm Hash digest
SHA256 7068239257526a4913e77f085b25bc92029cc866621d336029da174cd540763b
MD5 1cf335f4cc43a8a16064d4ddfe29782b
BLAKE2b-256 5164b52d5e7e1ec662820b9dd6c0773ba6b34729b7e6fcff0fd00febc215bd7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 325d18395edd6561d442f7d089508338e75ccb2a3ead3773df93bb7e50239769
MD5 eeebfe65d3b8ec0a963d5d6e97757ccd
BLAKE2b-256 c07b7a04a1fa14e85faf148e3aa4128aa41e332df5a77de107df6dfa4e5f8678

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.52-cp312-cp312-win32.whl
  • Upload date:
  • Size: 296.2 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.52-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 96267a21501e149e49aa7bc0d303b97b2e0f95003f02a1be5f53b5c45080e9c0
MD5 229b852965c018b20f4a3ac5ca81526a
BLAKE2b-256 869854703ca3869e4a5f776105284b762eb0f2076114bcce6b36fadb50f73996

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 27758f5c065117781b09c2ba34a583daa21dc57e46af20801170ec1ae936b168
MD5 0694f635aa5c920b0dca3d5f179113f9
BLAKE2b-256 fa9e2f1b61c61e0287e2a30fa3dbd396dccfe1b0eba518e66a8414d9fca0b2cb

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.52-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.52-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c99d3385c8dd76c797b909214ffc8169619b68d6811e5cbe4003a3ce1674354
MD5 2d16d0c793cdb09c8ea88bb8cac2b17c
BLAKE2b-256 7f9abcbf907c55737b1d6217bce6b97da644f6ea7933285f793ea81490f2e662

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 aa08698b3185ea6c1729bfab9e3ba8bec5fa01c1b2e607a1f985641b7f66b5ef
MD5 fb6cacbe56d55a7830674571ac36bfd8
BLAKE2b-256 dba661108674c0f6bd30f81817f963543df040dc9ecc8da5d227082e17b7431a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8b967ca9868b3fdb04b942836d88049cab27237aa933fcd11cbed2d90b44623
MD5 82e2966392686586151b97cde7a46fb2
BLAKE2b-256 04da70e7d41723f4d0ab5e5df71c024891d4be50f987e031cfe92c55a6022df7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e334ae0a122ce7c67e8376eda59f0bab74a0d63b553be26943eb31b36871f917
MD5 92e1e79fde230e6b067080012002fcef
BLAKE2b-256 32a9264a9e580532b5aa71d50df08c7cd8db0e99e34c52d8a07c6850ac5fb4bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.52-cp311-cp311-win32.whl
  • Upload date:
  • Size: 292.8 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.52-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3a4edccec5738f247019763e6fea69b3b50e3f0db70820fb2e2b7467acd00417
MD5 fcd03f16897e71e4cb6973f2ae246679
BLAKE2b-256 964dc50a08b8aaa8fecedccc6d92b54c9707c45c2565c1d1d19af937b7f7b6f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ce8bb5019b8831d8f67bf0316bbe03ceb210236e48dd80b54268d528cfca2ef
MD5 ff120dc4a2b10b21783d760f506a5580
BLAKE2b-256 d6308cdfd94b1963d068251de02ce4864eed0178419857e84830c87b873a062b

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.52-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.52-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cfa7df24711cc383e7456e6935e71baaa7047fc07b24153016b01bae89e73654
MD5 884055a8fd0ed3954b338f511f7554ec
BLAKE2b-256 e8690ca9e02f57b1fc03455f11964709885aeb4c06d7dba752cd72e53e1fb39f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 000055ec09b5bcb229289ae8dc8a91404aa8a1658261998f381189dc94246948
MD5 33371197b2500052d846604ea2aa66f9
BLAKE2b-256 511893cb80ef51b0da4ac74d828299ee65ec3dd5a0caeee4601418991d0efe1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b6fd54aa8856de438dc6c181a77053a703f1d3556e954ff11c2a67a7461606f
MD5 722634ae3f053d6e19a058116740b801
BLAKE2b-256 e48718a7eb5f3c68bd3f55a671b33d934030ddeb0ba837d3ae4438227a381819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 15c57233448d70006e991b77124524baaab2540b9869e6d3644d4fbfafe369f2
MD5 c7222ec45650a336e1bd56fd539f7239
BLAKE2b-256 cdaa7f82a2dcc054376a15908401203b67ff03134b3e45d8f16e09185569f0a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.52-cp310-cp310-win32.whl
  • Upload date:
  • Size: 293.6 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.52-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 60dcb826af2cbaf8ab9943995faaedcafc60613503682c37b78c388cf573260b
MD5 c1ddb9042bb29928c3d5911af80fd488
BLAKE2b-256 3d4bc2c9a8f4fd7991f66ff1865835cb04d63e8388bc787b0a4f7d95cf0ed907

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 248c9610a169db0baa2a43d08fe89fb52b4a1bfc08702ae320cfb036ce4c1b36
MD5 ef8729acf1671fb39756dd829ec8be6d
BLAKE2b-256 af861d3b3d5c50e7cfaa6734ea458b23a357a0ffbffc43e9e3c8e2db3429c740

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.52-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.52-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8eb32f7c56d204e8110bf7f1b667035e42d5770a5ce6845e84ddd512a348a17b
MD5 45e0be80df8bbb40d09ff35cb80d11e3
BLAKE2b-256 69ac08ce86896948466611b50017e9828e6c11c3755da18aeb4498747a2aaf2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 f76946cc18f6bb6da42fb23ef16a05de00e29f110f5f6d6d52831069776977a2
MD5 632a2f33ac002deac32a410c85cd452b
BLAKE2b-256 8b2b8a9d6682e5feb2c375af784de137274ee844690d95b439f56e2596ba6ba1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.52-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23923eb2d20c03b14e12191f67c2872dd7fe46f5c231e1a55a4ac2baf689cacc
MD5 c887e822fb0d3df4487287373dd64491
BLAKE2b-256 f289abaa4ec780819ea8df4d731ac6b87904e53c1fd33a2f0c07d871f27af28d

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