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 DAO 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.67.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.67-cp312-cp312-win_amd64.whl (338.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.67-cp312-cp312-win32.whl (303.1 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.67-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.67-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.7 kB view details)

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

dao_treasury-0.0.67-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (689.0 kB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.67-cp311-cp311-win_amd64.whl (334.2 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.67-cp311-cp311-win32.whl (299.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.67-cp311-cp311-musllinux_1_2_x86_64.whl (622.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.67-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.4 kB view details)

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

dao_treasury-0.0.67-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.67-cp311-cp311-macosx_11_0_arm64.whl (409.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.67-cp310-cp310-win_amd64.whl (335.0 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.67-cp310-cp310-musllinux_1_2_x86_64.whl (634.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.67-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (638.0 kB view details)

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

dao_treasury-0.0.67-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.2 kB view details)

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

dao_treasury-0.0.67-cp310-cp310-macosx_11_0_arm64.whl (413.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.67.tar.gz
Algorithm Hash digest
SHA256 e6f1b0560b9ddc523fb17dba53dcafa6e23bba27ba0f6dd0ecb250829037136b
MD5 1c0f0079903639b9e4e1a4ac721940e0
BLAKE2b-256 2917dc58ad79b7f57c27735b6c2ca7507798963549c434149e746dec917185b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8a6db19761f042fe2bbd0b5d98c47bd424d33572ef92b774b2866fff18a238dc
MD5 fb5709826a4afdf4e8ab308587d3343d
BLAKE2b-256 13b839427629345d4b77deca9ee2ac74820ff183d0f8ac71dc4fc39d7dbbce0b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.67-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d1d79b40632e253bb07c9826a2b87e2cae19a053ea82a36f902b7e39fe795f1e
MD5 121ab6e87903af4bb3a9773f0dda5aab
BLAKE2b-256 fba3e5e37ea50b211761f00173ecdf4c6d1297591dc9686792edfceec671906f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6e4e14a046b40aa7d8b37c3ab62cf3aec676e887550e55f6fd0575c6660c0659
MD5 5309f97a281c246352c1c1dad44dce45
BLAKE2b-256 caf0b6b951d7f0f2f65bb837abb676891887f8fe672027656c65822527d0312f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.67-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.67-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72f5edd0a6495fff91364b807a1c5a5c2ae4e3872431db012ea88560915804ef
MD5 73956c592be139fdd12e317bf7aa6574
BLAKE2b-256 7f5d50d3d56a38abeba7c4170ee463e8c3b95505ab4bc9b9dbd42d9d57a4c416

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 e12c8bbc275d707857e5efcf4b50cbad2dd1127749ef6b9e6866f12ca1c2e854
MD5 2d1b4653d818e4bdbf3f5ded7b6277e5
BLAKE2b-256 ed5910197b179d62f70c895cc30283b93fa8e70c7f9822948e1a891acbf5f8e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c040ddc308628625397878391a07bf7f0e5aa86fa52c987ba4836c7df26d07d5
MD5 c7f53db4ae1968406d01e010b32efbc7
BLAKE2b-256 baedbafd9ed0b72f5a8aaaa6a2d9cd9acb16157f11a5e3e27beee151324c694b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4b4c1b2f6ddbc657cbf3b092f7d0db6e9ae6122957d3b0f7edddcadcd31a1bb0
MD5 514c04a65604bb582ca304893f967cf3
BLAKE2b-256 3438f7545e289a0163d76852308c736d50e02c3df28f12ba4c52973962ba7899

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.67-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f44f6388907e8c7fe9454c77279006aeee46586863d544b59874623302ff5dcf
MD5 109a9b313c6d880158192d8f80d0a466
BLAKE2b-256 4ce23fab153768c12ae6413d04e5f279e49ef9081c8bc6f784f9d508c5416841

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 af5a1d05d89bb3256df955bc2a6d512926dd36b4ab4237d941589ec562c06cb4
MD5 e945f7d1260820aff9438e59709b298a
BLAKE2b-256 0c1cc54c88710976dbdbaaa28b9d15c4f7cb3cdc0e3574a64078d3f98e1630e9

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.67-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.67-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b529b95b3f75358ec5522b00a0372d1b4ab4526bc3202f631c76e5c2205b326c
MD5 0c35ab644d88bcfc8ff6780c0a55dbea
BLAKE2b-256 12998f357ea95eb7cbfcf99814f3788bd3c6252038d2cdf2cd763af05124ab8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 a4f90dbf7fa85e70a97bcef06e907883301f6ffee862c72ebfbd41f043b911b3
MD5 9dff7ad2fd64c62335e7bebcb31b7d1d
BLAKE2b-256 079785bc59da4556bd34f02fa33ebc035d6dcd9a684bb0493690e4d0e32d7de4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 762e7c2d055f3fa4204cc81d8771a4f4eb86909f691f264fd9b3e7d8da080fde
MD5 eb844219f86e8e4b88722c4c5bec9f84
BLAKE2b-256 5c615a0e25fb29e669997dd2701c4c0e695ae43b96bb958a09b565220d0471dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9188b5dc3ff7a70d72e09ab3bf01410b4ffd8b528fc0dc59bf5df0979a056384
MD5 293188d673cf4940b25d939794796dbe
BLAKE2b-256 4906088717abd14f9af4b4c12272459159c07724057a4e05d42497101a070052

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.67-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.9

File hashes

Hashes for dao_treasury-0.0.67-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 be794f680d1429bff884b194e6b09485e15469b27e1c17092269f8551dc1a2b1
MD5 c4fb3b9f0ff28dce4abc0a3df0d22d02
BLAKE2b-256 431de3f7874a9d85e93634548f8192889112d6893fbf1161031ec2ae3f5dca0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6376797123e04fb893d8d32b85ebe897ea9806df699b3f0ba9dc6bf109d5b9aa
MD5 bcb8336b4e976a0bb5c2b75412d399e2
BLAKE2b-256 06d3569516e6319fe3a772bca8c05dc43e5dc021197a57a82fa525638b1ae41c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.67-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.67-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66cc54a12b4bd08e456f1ec61217422ebca6f9d6ca227733e7416d94478e8ea2
MD5 dc6bf29794d5859795451218363027f7
BLAKE2b-256 5d2c76aeb0bc64412df24fcaddbd7c947ba5a0032a1f004443ddca92db174aaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 1311d5ae4c2a82a1816bca5771de07141bb582be3fd3d5af6f99407f8f821b97
MD5 a6da6d8413eb7c9bd860f7c3f83bbc66
BLAKE2b-256 e1d422c71525228ab7b66952a750dba205e40d495273878443848799be2f2085

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.67-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0aa8dd3ef2a0c1458e7fe35963bba274c7180e735754bfe4c3afb87a53eaaec
MD5 931070214332298904323f02199e4def
BLAKE2b-256 09595fcd05c3f7a82beab9d45cd2bfbd6b1f9876de360921dc33e474a85b5a82

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