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.38.tar.gz (56.1 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.38-cp312-cp312-win_amd64.whl (329.1 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.38-cp312-cp312-win32.whl (291.6 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.38-cp312-cp312-musllinux_1_2_x86_64.whl (632.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.38-cp312-cp312-musllinux_1_2_i686.whl (660.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.38-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (635.7 kB view details)

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

dao_treasury-0.0.38-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (670.7 kB view details)

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

dao_treasury-0.0.38-cp312-cp312-macosx_11_0_arm64.whl (323.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.38-cp311-cp311-win_amd64.whl (325.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.38-cp311-cp311-win32.whl (289.0 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.38-cp311-cp311-musllinux_1_2_x86_64.whl (606.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.38-cp311-cp311-musllinux_1_2_i686.whl (616.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.38-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (611.2 kB view details)

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

dao_treasury-0.0.38-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (628.2 kB view details)

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

dao_treasury-0.0.38-cp311-cp311-macosx_11_0_arm64.whl (321.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.38-cp310-cp310-win_amd64.whl (326.3 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.38-cp310-cp310-win32.whl (290.2 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.38-cp310-cp310-musllinux_1_2_x86_64.whl (618.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.38-cp310-cp310-musllinux_1_2_i686.whl (630.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.38-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (621.3 kB view details)

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

dao_treasury-0.0.38-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (638.9 kB view details)

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

dao_treasury-0.0.38-cp310-cp310-macosx_11_0_arm64.whl (325.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.38.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.38.tar.gz
Algorithm Hash digest
SHA256 7794ece143488693acf3f30a0aa0ec756919d1137d61342daff8f330a925cd6a
MD5 d63388d40fc6c7dea365349b04af3cad
BLAKE2b-256 93ffcb2fb315da1123bdc9ef30c4f2b6d62562de7c3e247717cca68e395d9407

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5c860427c433bc220eeddf57fdb5e64983b6ffcc13058942f0e07ca56330f6bf
MD5 fdd5b34617d103c4d5cc3d669e97b3e5
BLAKE2b-256 0278dd032bb67c083496613d683c0e9cce2a5221be37a91417327fae6f4598ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.38-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.38-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 777c7da7ad6ac24ae7327e2bd87c7605dc5f99439ab11c3681fb7177b2420c65
MD5 0bf65ec1ea3c4a799fc1a87585f42150
BLAKE2b-256 70ca2675f156e1b9bb7f86d4377dd6bf885b14963102364ececb7d431894340f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 81be08c4c22b90ebb1e137182ade292a578c25c6962e566b78132ea35161e711
MD5 4abc776b53d5fb2fcd300c623c868a73
BLAKE2b-256 a3a4091db0a41cf6f9fa5369c85541705cf0d4f83630f41623b85fc60ccd932d

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 af353ed875d24708885df7771630b2c0eefce64234537b2d8a4d1a65bd9b51a7
MD5 3d280372d44a7bccbde6344e0c58ac39
BLAKE2b-256 ce07849208a3cff5eb7f8370066e11315dc69e5d9f2e6e1fc418fb421b79ccc5

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-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.38-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8eb941f59065e3abe2629ba2b602a84987e62b142a27b9703a15b2e736b083aa
MD5 ad7feafc4bb03df06646a578ead276aa
BLAKE2b-256 bf8a7e7ea57cf28f542979a88f347b82ddcffba7446c6d0b007f17cb96771fce

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 01dfb236cd63eacbbfc8aae059269524cae0e222b2db09bff6a326d6788f8391
MD5 0fc81234ccf9435177357753af9bdb0b
BLAKE2b-256 91aa5b682df3627556cf2a86011a0b255c2e96d2fa761f984eabec8b4132eb41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc5a5a6db7a6e260796081398cb2c452e50b6a37d3d598be474baddfa4921647
MD5 b68fe347b1dadf2f44a5a4b18bfbdced
BLAKE2b-256 a31faa289d25a4313d293962f814d0048000a55d4866bc0862b3cb5f6fa382f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 43c2e209e7a4b50d1d47ab9b4725b0d8fadbf30b1ad7b610e119d85edca3b0e3
MD5 d65d781be436cdd5d896893192b453af
BLAKE2b-256 d1754b0ff6222874e25fedad55309fa12d916c57f55b82f419dade1c6374fc93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.38-cp311-cp311-win32.whl
  • Upload date:
  • Size: 289.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.38-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 461b4b3ff5b138389030c67939ab0861fcc22c2ee1a663a87b9a0c35b9eaac69
MD5 51d05b96f951fbeedf83ad13533a5eb6
BLAKE2b-256 5d2d973a5eb9618c1703dffafa811a0162df2c589daa3cea1635ffd36f27e2e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fe672046caf212ca490bd1e55aaea1736a452a37643f0c191b2279f456f3e9cf
MD5 bdd3301c4108669c2d9ae0d47b717842
BLAKE2b-256 fa1d02a4004af095f45f7f8822d1532c6221b215c584495290039703291a2a4e

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 98a0b191293793ca18139e529b71869ea02e8477bfc0e646527108cca2b1fbdd
MD5 0ab29499df49593ca998045c840dc735
BLAKE2b-256 6ddba7835240ddc1269d3cbe5dc79e0576e16f6e5c4070dd12d05dca36051531

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-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.38-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9b0bca3ad1cc3fdda7ff52a93150a16acacd80d9535bf28e2edcf2b82c4a6cf8
MD5 0fbf59e005fd151731205a47076275bc
BLAKE2b-256 3a432bf023f8ce6f5cb5d5bb4510c03f608aea982de63101d38953b3b140aa72

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 83eedd023b9f69301fb1225412f8204c1c264764130fbf3cccc99a5f9fcfcfdc
MD5 c03d033e80ef701c45fe7c059b275253
BLAKE2b-256 60b6179fe790e1956e2fb952a73cb84f802250ebcc482c1820f9b891a8c02427

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b422407b5ccf8ddc720444b2ff199a16ed7a5e66b64893efb265c00b05987197
MD5 9e35f093e143bdc9334e587610e98ffb
BLAKE2b-256 0610e93687c68406aa31cfbae74162624b50a509513fb8d60796b0917970fec4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b890335b5625b60fa1115bb0bc1760701fc96e7ee9dad59be24403d90c854860
MD5 ba45c49d9e6cf92e15e3b61029dca39c
BLAKE2b-256 3e424f007789d2ac6096f7ae9136141c899d630a52a074e020fb817609117b76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.38-cp310-cp310-win32.whl
  • Upload date:
  • Size: 290.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.38-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 aa95210ce1a7ebdb7cfaf12fbb562bbd3d6bb740b24ddc121aeb0abc94fef731
MD5 0fc20cf913df47298166f24fa15c0f3a
BLAKE2b-256 683236edff5ddffbcc643bb0ae5b67356f7181198d679bcbe0a3646f3a74ad08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f8289597a0ca8eefb74f3449f1e8f6c1fa9696e8e31acd2ea5f3c2a24ff540f
MD5 bd875eb0d270c924b52f47e1800454b9
BLAKE2b-256 a01a3481de6775e4ca6ab7d99ec8a16470c09498157ca501aa77cb8131a3dc67

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1496542b883b3d0bfcd33caec3da89189193ae9b307e2f0fe38c3ace167ce7f5
MD5 773de5473aa59e1fdd04315890c7b202
BLAKE2b-256 bf1f32f6bdcd4c528c68cc77e2bb8e5e2e90c5de30d7f3f1b33b37571f9cebb1

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-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.38-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ce4a80e49b63c2b00d92115c5b03fb37f304cf2092bffb48f8e6d9e0c467abb6
MD5 2a002ff1231f7436d8ad97e9d513f058
BLAKE2b-256 203fd1a8856639b70f3141bb06403a1ef202d10b3fd1c8d6a47eae1953f80244

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.38-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 0f20a4cb8b25991bb01b7e1a4b640a2f08ec920152e1c0d5594a767f3d140cf8
MD5 6c27e7da2f6b8674eac815638ab98527
BLAKE2b-256 e6e54d1da2c6dc151e481827704f73cae073f55c77df85f4b727cf415d322ba5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.38-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e8ed4fc2009a6d066d505e54b8e5fbf36ac040b5300e40fde433604f56d80c8
MD5 206677407fd11f027258090393298aa0
BLAKE2b-256 f3885d8076d86aa51ef2da26b2036727713c486c4455f2ebb6ccd3136545cfae

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