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)
  • --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.58.tar.gz (69.9 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.58-cp312-cp312-win_amd64.whl (338.3 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.58-cp312-cp312-win32.whl (303.3 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.58-cp312-cp312-musllinux_1_2_x86_64.whl (656.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.58-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.4 kB view details)

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

dao_treasury-0.0.58-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (689.2 kB view details)

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

dao_treasury-0.0.58-cp312-cp312-macosx_11_0_arm64.whl (413.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.58-cp311-cp311-win_amd64.whl (334.3 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.58-cp311-cp311-win32.whl (299.8 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.58-cp311-cp311-musllinux_1_2_x86_64.whl (622.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.58-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.2 kB view details)

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

dao_treasury-0.0.58-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (637.0 kB view details)

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

dao_treasury-0.0.58-cp311-cp311-macosx_11_0_arm64.whl (409.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.58-cp310-cp310-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.58-cp310-cp310-win32.whl (300.6 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.58-cp310-cp310-musllinux_1_2_x86_64.whl (633.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.58-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (637.6 kB view details)

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

dao_treasury-0.0.58-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.6 kB view details)

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

dao_treasury-0.0.58-cp310-cp310-macosx_11_0_arm64.whl (413.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.58.tar.gz
  • Upload date:
  • Size: 69.9 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.58.tar.gz
Algorithm Hash digest
SHA256 ee99c683bf52f83fdb8a33162f9f338a2ce5e4703ff5ed536742783adf887bbd
MD5 0713599df6d56a849f192c199af15ef7
BLAKE2b-256 780b520096dbd3b96f96a8fba5732853e2c3121e09b29fc2bcc8ef3745ef8449

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4b0f35b78ca5cfba0737c4ccceb3ea0d18b92cbc61f144e6f5daa3973137a480
MD5 57fe98950944422a358ab1e1386627de
BLAKE2b-256 f0f7a9ea89e11f849d13c89ebfaf761261a11cc8eb641babe3dd59122a237dec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.58-cp312-cp312-win32.whl
  • Upload date:
  • Size: 303.3 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.58-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 b1969064b4a7a591e18fd598a0c7546ed19a35a22f840f5580314c6f3276f734
MD5 b8b3e84f092aa38ca195af76780af978
BLAKE2b-256 0b28d872508c3ade1e88d18ee828281c1c543c3aa06dede15c0478844887c405

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51903c0db88f299b3849e4ebf6f0ca3c9fb02d6c4c51e2935ebaee9cc5fc0377
MD5 d57f50d6c1e4b1dbd9f72a80e857aa48
BLAKE2b-256 1263456f3c0e5d8d0992ee0ac957f70dc9424fd5c76c14c4513a0c111e9a0bed

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.58-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.58-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28e467d1f0b9fb1d64a80647d046be00900374f7df607e3f662cbc947e3d434c
MD5 9c2fb73d6f42b1e1de514aec672cdaa9
BLAKE2b-256 d838ecc40653bf1d656ac6c71c5f4c96db4ad54938a90475a1eb51e2ac719a27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 e6e946daa1f4ea66d5545ef7f19f8ba613e09066634f443d257c41c1fb1b154d
MD5 9969024e09d6ab4c7f1d0741de7cc801
BLAKE2b-256 ba43adc5662848c5e2fb6f2731b3d764f73ba62abfa04b4c0f4e021fa88555e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ddb7d2dfb7061a9cb46ef0a54a5050507f40c31beee4e0919ca60d2ab1adc71b
MD5 c70324dd887c4e581f92db71026bceb1
BLAKE2b-256 bf0d7f42775fbc812d65e88b797bc33a06f598ad1b551d2a9ace7a54227a9c6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a82c26aca277b66ffb5270fffa7d086f1fb5016b0ac96c26478a3cab518e3b39
MD5 c199a17e5a6aa325e6fc111df4dac202
BLAKE2b-256 dae47c6438f8e341bc777eedc2e8e9fd5c23f397e7305244b59f466b1a3c2227

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.58-cp311-cp311-win32.whl
  • Upload date:
  • Size: 299.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.58-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 24382f2daa08c7fe1a73ab8cfc86093fdd720785fb79dea42245eeaef6caa7ae
MD5 fd843edb78ab7aba5718beec990595e7
BLAKE2b-256 67468489f835bfa421c69ef7adf72052a1580e48e49eb476a7e03216b5282941

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 56d7469cd1fa6b779846ec391b58fccd5987b2786222802857543091f27b4c23
MD5 b5ec5c80d9eede2013da261119fd60ab
BLAKE2b-256 a1dec392a17da3f561c96703a538f919a0d041076a5f08d35d8913109292a6a3

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.58-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.58-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 df2164fe20b7a02e7788b468f8c04a14ab7797b777ab8ee06580c18e9a3c7f72
MD5 6b8d50a9dc28807fe2a48487656cafff
BLAKE2b-256 2244e51ef17e4c4e89e0e0f3ed8a615e550ee31636e342f8939c674ba1a5d98b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 5234811534d3ca52dbbf80dc5ca229240d6c3e2ccf94333e96b3723eada8e1fc
MD5 4d572fd4f7c8297c01a04dc19b090aa6
BLAKE2b-256 d4eaf96b90692e250dcc37456bbfc1fa7eda4bcdda5c6b9b39dcc2ef305c9061

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39699ea83657f08ecde520cf612ca5acc2ad8f0c9d1e741df833bc8592235636
MD5 4822e040f4eee10ebd502806c10ea225
BLAKE2b-256 c7017c8234014baf305aaf32e41e394257416c4309c1a357634c0ce265af1a43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 585ebb9b4ac5844a4d9a4ab6e4bd5d3b5e69462b86a019698cf7cb39a1175ca6
MD5 2aff74e1d891d509ab06af0d38079c56
BLAKE2b-256 902217a39d365346631816a355f3fddeb3c28f4d51a649664f03cea9aee9c740

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.58-cp310-cp310-win32.whl
  • Upload date:
  • Size: 300.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.58-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 d4537d57036c396513785583e4c19d32b9f3cd33e3a4709d54e010fccaac1f91
MD5 3e9ba95c542551c8bff9c6b0b82821a6
BLAKE2b-256 2f85cb014c145cf3db81ffe991744d662363b14115bb7d904d521fd5ee19c6da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f8183496c13b02fac208a17412c397ecf02f670623fab704fed6223586e421e3
MD5 d8fd0649c3f229efbd7dff2ed89206c1
BLAKE2b-256 6cb40556c1aaf209d45734d873e3a9e6c36cae0a010001b0003a7cc4ed5d0414

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.58-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.58-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 126a761e9e080ab7aadb965ba3dc16bd2d169df7ec4c61fed142c6809960a194
MD5 ce4ebdec1b39618147f4106767a59a6e
BLAKE2b-256 d7b7891e971be147d34742e164c4fb4bba6ff341bf2f26a8fbb0f9582c491615

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 62bef0569aa16f0374c8615175d73bc22ee98d46ab2d76048e312e443be4833b
MD5 9f220d9c05bb1065becca4fcd298bef7
BLAKE2b-256 a98d9be3aa6b35f5abd185fff2433a2f7f068d24ecd536863e5d5f28e5cdf076

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.58-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4743cfa4fa53a030df2c3b3119e8ce7da4106b63d87e2cc328a5825a8d4d67cd
MD5 7c36bf478138e05efa259659103a00ea
BLAKE2b-256 74a48979df08843c7c5937ed65f28e3f5d87310f5a23571f9b18ea2d549131d8

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