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.50.tar.gz (60.5 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.50-cp312-cp312-win_amd64.whl (326.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.50-cp312-cp312-win32.whl (291.1 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.50-cp312-cp312-musllinux_1_2_x86_64.whl (644.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.50-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (648.3 kB view details)

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

dao_treasury-0.0.50-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (676.9 kB view details)

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

dao_treasury-0.0.50-cp312-cp312-macosx_11_0_arm64.whl (401.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.50-cp311-cp311-win_amd64.whl (322.1 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.50-cp311-cp311-win32.whl (287.7 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.50-cp311-cp311-musllinux_1_2_x86_64.whl (610.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.50-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (615.0 kB view details)

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

dao_treasury-0.0.50-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (624.9 kB view details)

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

dao_treasury-0.0.50-cp311-cp311-macosx_11_0_arm64.whl (397.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.50-cp310-cp310-win_amd64.whl (322.8 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.50-cp310-cp310-win32.whl (287.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.50-cp310-cp310-musllinux_1_2_x86_64.whl (621.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.50-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (625.4 kB view details)

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

dao_treasury-0.0.50-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.4 kB view details)

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

dao_treasury-0.0.50-cp310-cp310-macosx_11_0_arm64.whl (401.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.50.tar.gz
  • Upload date:
  • Size: 60.5 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.50.tar.gz
Algorithm Hash digest
SHA256 38d2ea399e649c3d29e3a3c29e5456a025d107a4536aaac1e1c24a74b01f3204
MD5 c2fd6de3bd25384e93bedd750d249478
BLAKE2b-256 e5439152fdc3546e25d471b2aaa4070af3a22fd2011462cf20290651a79cd8f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 99ac6051bdc002b1be3bf5b168373b80972d49e44feef584763b5b49ac532462
MD5 29667beb1ae78a567e32bb7968d06af7
BLAKE2b-256 7f7c8b17f95fc544eec3c30946d28aae13622529aa760f6d172a4c4b503e3e61

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.50-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.1 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.50-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 c6040427a695ef44e4d756766fdc3f44a3f6a4cf513e28e8e7021423aaa6fc95
MD5 df194128cd44e7367394e17256424294
BLAKE2b-256 718c1fd10e3b0299cba6388284e260ca8e4f820b9b8dd02cbcb3a63b99d7a88d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 89081283efa7dc12e2f124bdb9ed670182f650db84d1ea76f5188dd9a8d025b2
MD5 d0517468972121c6628afcbe86d360ec
BLAKE2b-256 2a5443fef995651abb83310a25d4fd2ef78bfd83cbd4888efae1aed914059ea1

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.50-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.50-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c2bc87bdac768bc1b375e0f97b4b4b75e8e703c37ac450f2d39811abfe4159d
MD5 a70490852bd3cf4dc37389ae19f51943
BLAKE2b-256 a2335210ed9cb425d912b74c6d4abd26faa52a64612585686eefaf722e299a43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 82ce5d8083d495c79f462460c78354de3a6761e34ae36ffaa5ef881f16c38d8f
MD5 62b8c2e93fae9a6eba13a854bf2c96b9
BLAKE2b-256 36069fe5085c9e07b48c4f29d37901a5977db3d4814c650d78adc365d0e18f04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae0517a3d5f5aa85317f1c2bb986063079c4734ea0dc3efa6d3301bc291b8f93
MD5 16245e362f7f55ce4d5511c7a903a2ad
BLAKE2b-256 6bf1f0e081224217b1eb125c492000809f9392312a5d9bff44539cf325e64dff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6cea123db4ce1869a573ef3357dfa490c5e12663bb6a554eea64055b5ef104a0
MD5 969ea51cc61bbbe9c3bcea03af1351a5
BLAKE2b-256 ffee7556c514cff33ca26547b76bb540acb6397f11bc997c21401bd808adf574

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.50-cp311-cp311-win32.whl
  • Upload date:
  • Size: 287.7 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.50-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6baa97a380a135e6de2d4e1b0e927874c487a66aff6aea3facdb97f6eb314c31
MD5 6b4e742757ab815712f4570fd6f9b32f
BLAKE2b-256 327a30ad3363867a367bd91bc699e52b610bb24a3637f090027e9a86fa39af6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8d49ae9fe8e4561dfcf97fa3805a070fffcc1ac4906866b86408324d2f8ed5cb
MD5 04962153fcd2f80b876a0b280bac6e8c
BLAKE2b-256 46b8ef1f5f484c1c10d4658c54d0f55e63a7b4a52843bb731f871f8f3c3d4701

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.50-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.50-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 acb57de4e63281fce8b4c06f6a90b933fa85f44d5c8ad2f658d925feae7405cf
MD5 ceee46b10a34838d8a6e96fc32d9e814
BLAKE2b-256 d8a9081c1aff337689c19acd88fbfd03772db33f69ccbe2f73510759c3c8167a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 4fa19a736cc926472b71224a44c117febe22b67c34aa9fd0e3362055922f361b
MD5 658105e4162c3bf8d570a5dbd83822f5
BLAKE2b-256 3ea8002dd8a146d0ce853d8df4de50c61574693a41db2deffa31aeb628fdce43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 073f5512721b26ff1fb187de6e6aa1dfd65d367f06c280623754b50e5cf9cee8
MD5 ba9b7b4f83646afd35f1d4bea8fb647c
BLAKE2b-256 305f45a2779a98bbaf6661552cbfb810c95207ddfbc0923bc6a3c1b5b520e6fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 664aaeb61848e0601fa8209e6edca0fd687df79d4ac6055c188541ce68b52bdd
MD5 429ec09bc18e2f0627bf09683664de55
BLAKE2b-256 bd5ff782cf4e02d25e57b5f98e39db1db339135d80f9591c32993e73ff5b0e8b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.50-cp310-cp310-win32.whl
  • Upload date:
  • Size: 287.4 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.50-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 d0b09370129a46b8f021090d535156365e8cd591a7b963c40685912797107232
MD5 5f01fd7d8cc0126b318b58c413983105
BLAKE2b-256 3f5dba6f28560d385cc2be0ebd147d10f14c440edb08ca6be28595112cdb1d74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 74525a021bb393e38beef3c917bcdcf21853f80434cf1796163707bf6f1457cd
MD5 84136d75ecd60a88e1c154919d555173
BLAKE2b-256 066d0d5da7cbea84d487b39316f895afffcf0affbe039c2f27981be1bec1a0ee

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.50-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.50-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d78b1ec9946b298285ce68fa3452675578a93833d9097e13a2380f9f05992aa9
MD5 5166213ee44b90dfd86fc87825ae0970
BLAKE2b-256 4705d9d740e9997141162091bf394f57e1d9ae71156b2dc936e3dabcf9afc366

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 e0dab6da9077c5c7df83a015d42a619d6d848a7f5df7ac67ee0d61f6e533886e
MD5 7e934268109523bab565a9897a392826
BLAKE2b-256 c3a1a83611ec79671e25133370b474337e7c5c9f4b983fa349184deb78dab817

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.50-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ec241bfe62d59c76a22681269c3b0d368629eaa065bd23b1fb48f91877d9866
MD5 e0e388d7eb19149f4aba727f9866ad2a
BLAKE2b-256 70b0576d57fd0bed45c778a1bc231a8210ff5f01d9758eb0d6be4cab022fa248

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