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.40.tar.gz (57.6 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.40-cp312-cp312-win_amd64.whl (333.6 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.40-cp312-cp312-win32.whl (296.4 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.40-cp312-cp312-musllinux_1_2_x86_64.whl (639.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.40-cp312-cp312-musllinux_1_2_i686.whl (667.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.40-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (641.5 kB view details)

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

dao_treasury-0.0.40-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (678.1 kB view details)

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

dao_treasury-0.0.40-cp312-cp312-macosx_11_0_arm64.whl (328.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.40-cp311-cp311-win_amd64.whl (329.3 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.40-cp311-cp311-musllinux_1_2_x86_64.whl (613.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.40-cp311-cp311-musllinux_1_2_i686.whl (622.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.40-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (616.6 kB view details)

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

dao_treasury-0.0.40-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (634.4 kB view details)

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

dao_treasury-0.0.40-cp311-cp311-macosx_11_0_arm64.whl (325.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.40-cp310-cp310-win_amd64.whl (329.9 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.40-cp310-cp310-win32.whl (293.8 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.40-cp310-cp310-musllinux_1_2_x86_64.whl (624.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.40-cp310-cp310-musllinux_1_2_i686.whl (636.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.40-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.9 kB view details)

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

dao_treasury-0.0.40-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (646.2 kB view details)

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

dao_treasury-0.0.40-cp310-cp310-macosx_11_0_arm64.whl (329.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.40.tar.gz
  • Upload date:
  • Size: 57.6 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.40.tar.gz
Algorithm Hash digest
SHA256 2e8cc19203322a8e6ba8e19e53e28e06b31fb0fa364a2522a1297468a6c95829
MD5 259756efc8f423e1a2fcfe6ffef4fb17
BLAKE2b-256 9beb5dd9303cc1a56ffecde656eceb9246f999df6d554fc9fe9508de2702c6b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 df5dac6ae33603a8081911711c034b70b85d55c0cabdf86dc04d105a79f3500e
MD5 8e57e702f14bf416207ad5297dea20d9
BLAKE2b-256 50197a5dd46a80cc6fd83c83d60cb4fd1a18de16cdc4c8ffa2e84e4c87fc5015

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.40-cp312-cp312-win32.whl
  • Upload date:
  • Size: 296.4 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.40-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1ad1d5cb013e515838a6874a0f4c4dfa355cde11710d57f7599ec898d26ac134
MD5 0547eb7e25a118a03d1e68f7f3345222
BLAKE2b-256 a60928f8a99444350e983a239252013b57011da814b44cbd009605553b047a1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f196d528cb2ff7b9896b8070696e6bc4d17e23ce875848b7b91d46ebbc8de0a1
MD5 6d93ce81b25bddf2c4e464779bffd40c
BLAKE2b-256 386fa74a05292386496d6984839abd6b3e73e3d5238a2a49f69680ebc3130c60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 36a0aef4e457a0b99677cddb2434f06c003e651f887d23d9d2723200cdff820a
MD5 5acdc5bc70c6770cda4afc2823ac99f5
BLAKE2b-256 b241519f0e9e3c3a375a3763c94077915107989211ce1b8bf50340193b8c4258

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.40-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.40-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 889da2729732b093dec6ffd081022812890e3e41726af32992b6cf903730f01e
MD5 79fec09a088f8ec93ee4337dc740b345
BLAKE2b-256 06cef459611fced5804f0b2f38e6b95682f78c30ea9aa7501c06c7b6acad3299

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.40-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.40-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 8115873a0b58603f8aa9f5237252240d5fbfdeac109b65962ce6361a005cb394
MD5 6fbcb6c545ddc9600a98454248f83ec4
BLAKE2b-256 062742d7accfb92c57fa344ee28fcf7fa6d064ae898f75feb3b8ec05f48f9230

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfd33cc97ebc0b8e4f5dd9eda40dd8168b78c8136dfc758ff51d86d490083ffa
MD5 f5b2449d3fd83e7defcc01d26bc7a96a
BLAKE2b-256 0b64cd6c8ccd2e7f01143a61b5eecde190ea19034bf783fe30574286e3d1cf96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e608195f98a66638543641ed2c709547b4826c84c4cf5752a082643e234bb143
MD5 7f029792289fbde36a36cdc7cf7f3e18
BLAKE2b-256 5eaab429732473d5265b8dc4acb5c442da9428f2c0c3eb05f8161880d2ce2cf9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.40-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.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.40-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 35d99fd98d8c05cf9b109c3f3bd13cad672558cf9ef14cb3bff0a15b3f34c8fe
MD5 58a3f47bcb53d0a092877cd8f050c40f
BLAKE2b-256 5bfbd2db04134e6217b158febd1cfcbfc614549c9a5230bc8b105c1e066afd4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a178a6739d1f980ff88c043818d06c917d41140a2e05a83aa37c09672e2cc362
MD5 3e3ccd1036af4638f4002e72212ddc3b
BLAKE2b-256 94e227d4d2d6a42212fc576e82040a03404ec35dcece070e892ee38b96b40fa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 543d0143008a7be592dc3ff70542affee003978bdbe56a9f66685b49baf05741
MD5 9b8a0fd535dd6473779318d62c55b8ea
BLAKE2b-256 27f904371ea09ced68d83900d5ffca2e84a71980876e3062ae6d75536733280c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.40-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.40-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba7c422452b765cb9dee099a1d3f2899e8bb900f9a6daa5c259880cf5c6eb878
MD5 552bc2690fba800cae64e205eb306720
BLAKE2b-256 8003ded1f8506e68a52a90b5cff03270888fe2bc5df4f10f73b21ac15c04c409

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.40-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.40-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 1db321abdaddda617aea7b1b2bbde728faf6abc6b603af3eb16c6f47d3e68eba
MD5 5646004706ca36fa87efaa257e621ece
BLAKE2b-256 450e932c3a51d52267902d5a2ce81724d05c5d7c859160d388c5b72aec75b49a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a96f252d09378d828ddf8477c69188633a7b6c6055eb5f0cd83b7146b39a93a5
MD5 dd2889aff49b050341f4312b0a7e28f7
BLAKE2b-256 672b30ab827d8d1dcca5b44b9a989e371bd23a357100e28ad069333931aaba19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a6748a19a0b76a7d8f6ca3ceda1840dd8a1b378ff1567f068666d386d73c5307
MD5 97eddc5c2c0d8ecc402084bc9701576b
BLAKE2b-256 d9ad41d17ab666c7d6fa68d238cf5be1bb3b5cc7d789e14236c13cec0e137e90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.40-cp310-cp310-win32.whl
  • Upload date:
  • Size: 293.8 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.40-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a86f0bbba38872bd034c0baceff9d1b29775d51624eed718500aff2602389f33
MD5 44e14fd3ee679d6a0f8062fc09511a3b
BLAKE2b-256 67fccc9b293b26626b8e32a0d1b1d63e0aebcdab80201544e3b193b2edfc0065

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c95161d2674eda9964acc8cce3c8ddc22f115a826b6fa04c519e6c3bd555987a
MD5 77261cb515ba0ee78f25e941323b5032
BLAKE2b-256 af27d84168c433298bd2ae9e3787289d53684038763d3bd21cbbb2d8d072c4c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 51f7256c496913f653ba36f034b4ecdf1858d4b0f0c63f645d1b8609ca29e942
MD5 d99b4eb5a4f1707396ef7be76783e7da
BLAKE2b-256 c13ac18d32d8613d9f94e568cc6a91c12cdd3d9a7199e49e3ec15ede55e64b0c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.40-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.40-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a92282a1e2670d2d8175131c674127c358e8767f4e2a363dc41a15d231f89ad1
MD5 dc3dfb16f5b2ac0808cee1e408e6ed1b
BLAKE2b-256 f95f95cd79754f43e3556772f6af6d648871c67fc53ba946497cadf852ff239d

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.40-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.40-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 3df2e29236056252416b3c925732164fb46335e4851cbbdc4b2eb40781cbd907
MD5 279b29e732e2cd44fd32be3d029e965a
BLAKE2b-256 6739b8626be11d32e0aec7ab13e57e6d7738eea96084b1639d4beb9b398f6182

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.40-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cceea4ea47858ad5698514ba17381e579ba58058e51c86bb8cbacec5f38d634
MD5 55a8889238170921c7a533e3431f7863
BLAKE2b-256 a424daec5b805be5e565a3a179b92db387e1864c72b52929c563d875565a164c

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