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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.64-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.64-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.64-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.64-cp312-cp312-macosx_11_0_arm64.whl (413.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.64-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.64-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.64-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.64-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.64.tar.gz.

File metadata

  • Download URL: dao_treasury-0.0.64.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.64.tar.gz
Algorithm Hash digest
SHA256 736263afa8c450644f0d06fc9bad940dc35fa21488112465948e5a4dc6daf5ca
MD5 1948cbc15a00b5aa309745bc5dedf5f5
BLAKE2b-256 64498da270e1bc70b848778ab8838973349c276ea4472a3310ebbf175fa2acda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 36a58bf09e98a230cebb5bb3c4a267c50ba5a9a984cf925c8fbbfbf70c57b1cd
MD5 5a2d573015643c90d84608c52c918346
BLAKE2b-256 e27586ba9291854408dddf442779187bc501d36f49bb450ed109ee1f9e4c21d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.64-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.64-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 0d19ed5f3db6df25f3480ac12b9edb4f99dd169b5225bce82d05a687769fabfe
MD5 c531d60cdd380285ff7485d8ee75428f
BLAKE2b-256 77d4762a3f7954f1a056de8d83ca3edc266497ef41f93f009558acaf4b56cd32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b275a4e4cb8847dea43a4285e8758e006ca0a92c107e3506ef20e76755843585
MD5 00d68ce44fe31633e95bbecf0e2c4a30
BLAKE2b-256 10442f74e281d6d448d60a14ed38e266f10df09d7a8c10ddfb93855782a939e5

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.64-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.64-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1aa57d09e16857cd5323479f8f3cdef052deb6c88469899a6a315a506119bade
MD5 207a657ac73d92f212577eea264f2cc2
BLAKE2b-256 5f4161fa2463e5f3bba28ab68a35d7f859852c014bb7a9b5ad3715ba40900eee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 11f26658a117e6e50be3197480ceac1644fe8bcc29f222bb57958051396bf41d
MD5 3f9e2c6aafa0abf90a2530fb0e5731a7
BLAKE2b-256 af212a1f88857d50c26cfd1db77ae380408095edf7d7bdb4b21106195bf4bd58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 286ca6eb18e390293973e37a51e2e6084ccc7be0767a9b0edb8e73c46ea57e77
MD5 b6269ba0b542d6960a17bca480a39cfe
BLAKE2b-256 af725a875b27e78c6e5eb8a1f633c3657e90d27187dc52c79dc04001f5d0f725

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c7e65252681b39cd9e9d342b52132dc0e9ad69fc2ca42b204b8f4777d43cdf3
MD5 9c2d68de3e374059c58207121a075bc1
BLAKE2b-256 28513a610232b6469f27e6ae52922a6d9121a5e1530ea32d3a6dcf1ac5c5a8da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.64-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.64-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 35fd0d423f74ed4fc6c22b74fe9ff716d56ac0aae89ab7af2ffdc01f663910bb
MD5 bc0530137c7ca945f3cdb04c1993368e
BLAKE2b-256 ee3a384bae92c5308d0aa31dcc3fd05946672e8eba79722a84e06e78ca68db2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 313ca8b2bc607666f6cc5670896e6a7e55e84640cd21342e4f119b8c7e4602af
MD5 e14a86a6b01ea234c1292d9ba5b661dd
BLAKE2b-256 5a7d204837d952dee1bf99cd0610ca5996f181e36be803ccfbd61dda095951f8

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.64-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.64-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2de9634dbef942b38cbc783a1dd4a05274ec2fa32b17f7d6101cea0acd43e835
MD5 c44c3daca8fa5c5a8e6b26c111dd4213
BLAKE2b-256 75af1434cd430e1388f1d7b2c65ac92e58238f1bfbcc19f5f42b7d89cc574fcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 46c28194608260356587a47dacf6f861a34100268df40e6f24c3c6fdde78863f
MD5 63f3d959068bc5213ac165e8a09af635
BLAKE2b-256 a001cd9e56553e849e6470beb8e9a8cd5ac420fd7b864a9eadc78a875da47174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b43318c325733e814e8afa763df9a417e8ce56404d201c3195cb5a579cb839d
MD5 6cb4ce9fc2f6481268ab0c274c1c92e1
BLAKE2b-256 7ac9ca5e2731ff0c59bbd544b83a4da0bff633609c787a1adb488070a6852f7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 70aec43fd208e820a1c7ba9b43b54a4d33b770a52b31ecb73b4c44cd2bfb4dd2
MD5 945205b05d7b139d35bee14485486bfa
BLAKE2b-256 0f6c2c8d37975c8d78b295e7ed34cff108b18891e3f57b5c19aee32cade76dda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.64-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.64-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 8c0ce437669da775f2d3885416404dd05dc11fa785f2a1bd2f860c037d7921a9
MD5 173d4b74cceebc603ea61813c912d58b
BLAKE2b-256 140c2e8de231384ade7c96840de6026f06c032b28bbb232258fd7eba737b0dcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab4aa1a2ebdb08766ca4682df1c702d6b13c8b29d3b4e3ae517d8be33901bf9c
MD5 04d08528d9e3ff50335425b8f7ba781d
BLAKE2b-256 71b1950d97ce6cce309972b5c55b990be039b5a2cd038afd244296e8bf278541

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.64-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.64-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9689821be2625cb699fcd0ff026bdeb89e18d4783cfe3516c4890b3451876e50
MD5 3b058486f345785be33cc2ae9b4d15ac
BLAKE2b-256 15838a5b87249363d11e0f72f39bae6e8d9f32813cdc30650dca1bcbffe5982b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 d51aba644f110527f11bccb61f6917ba7c6e112c44bc39ea8d4f6bff95e278fc
MD5 340fb5b29611c97be0560ae72dc8ad2c
BLAKE2b-256 861d0da0a7f11c0da2e84aaeb486142e130ef2a1cbc0c9ec22dd5ee2b7009ced

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.64-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f3fcba36cfcfc2ab562d42c7d4c01cb6bd67c675c0d7777f3effc4ec1a71b68
MD5 f307a0cf5bbeefa3e73937f5ea808410
BLAKE2b-256 16d137abffcddb2106dac9ce4eb9ff06ef3527f875f3da87fbb23acfebb6c17b

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