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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.65-cp312-cp312-musllinux_1_2_x86_64.whl (656.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.65-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.65-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.65-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.9 kB view details)

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

dao_treasury-0.0.65-cp311-cp311-macosx_11_0_arm64.whl (409.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.65-cp310-cp310-win32.whl (300.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.65-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.65-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.65-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.65-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.65.tar.gz.

File metadata

  • Download URL: dao_treasury-0.0.65.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.65.tar.gz
Algorithm Hash digest
SHA256 3ead198be39c6d2b19afe38a96f683a807135878c90d7269f5f3704c6edebfbf
MD5 845ffd113b58fd2de66cde227f5a9c0d
BLAKE2b-256 375601449688fab9cc54eb0084c02cf55ca7dc0877a67b3a4b3fd61f5b8defc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5347f8d22e653c7d2ee84482c9ef49222075af6b0e6e9148fbfc4455af6cb318
MD5 50b9503d0ddd4d70de44fa3c1f35a4c5
BLAKE2b-256 e5d55845761c0005f94f375e6b549c295b951c628ee8bddf26fb037d8f53ae2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.65-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.65-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d330f24e9ef7378312bdd8615d04867c9a9094abc6fa42ad6f86b401086f5143
MD5 9a33a437305700d98232106b378e2e8c
BLAKE2b-256 b78748ad195d3407b5c8ca5e17d36640770a2496f882a48cc8420336454aac22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f2e94c40fb5982bf194d69ee3c875a0b6e30bc457bb6e3b680f69059b51499cf
MD5 752a207977d3996cd6f6ed92495bc26f
BLAKE2b-256 582f35ac59a995c93bf4849fe7e1f1cfd37ed5a7440d00fbc651627b28e1fc70

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.65-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.65-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68026bc3a2fcfceea5247d5f3701b8cf7b9d23021afe910bb73599c42566a84d
MD5 614bdd5a499742db525da9ca167af6e0
BLAKE2b-256 6cac2053ebe44b01be6555ac17879321daac519b09aceace1cafcf3b1b8e14b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 d6c7461d8d548922581a876ac6815483a71e4ea7612839ac21e3777eb307cf73
MD5 9d2a1854b1ac2ee91aa874f3d3b425bd
BLAKE2b-256 a1d3d1a348c9b14ed1178ed4524c43b8bcb50d1197878fd98e83de4a8cd8436e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08b795cc0d1d21d798db63d7feb8130b92445bbf76d894aa4e160dc43c983fc7
MD5 f8bc83cec7cc88238ec5807e784ea6c9
BLAKE2b-256 5fa140ca991b367fac090ba94266d79c51d072339a4ebec73885592e6e610ebe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 74719cf5dcf002f4257a4898265b8d0858d845c39bce06735f60d37aeb5aea62
MD5 717a96eaa3cb420f559e56c007137cc9
BLAKE2b-256 dfb4790bb4878ebbec63d0778590c4f1f73c18d6a8cdb6f552d55d724a3aaf4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.65-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.65-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 acc5c6736a2e339d3f9e57fe36959c483e9cdf0fef7e942089fcf70d9a260766
MD5 15fa1f119e02e83ccd816368516b3c9c
BLAKE2b-256 5f35fa28b743c50d75aacaa42b2f48f5fe61e670c3a9e5a605a745a966137b8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d20be8676ae141bc1d5ee49485061745a3bbf618a74cbea9871cab57b4c4dac3
MD5 e07adff6e1f31fb975d1fd26d7dd933e
BLAKE2b-256 3bd6a2ab40f7e2d9936273bd49534fd110ea1f71c4976d4abd49326552992600

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.65-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.65-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6bd33b64c834f2458c9ed291f531aa9a1d7edff654e472b4447cb791ad4ac79
MD5 010326d1d1648a6d64e81eaf98da4609
BLAKE2b-256 42e64dc3905c0fe097770eb757bc290c6c682ce150a6cd2289963390519dcf86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 8612eb225585750ef07e4d655b067d1720bf52d5658d9a8121ed2eb309a8b7ef
MD5 d2b72787ac0ae04720e3ac77d8393b97
BLAKE2b-256 4afa5d6fd5af126b60117c16cfabae537eff661102aaacb9211953e59190a2ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4f76d7bd2860f3b1e554af54c58fec0e25e6e68e9ffd793f0b2ec99edcb58a8
MD5 88fcc8e4712790d42933a21d426b30a7
BLAKE2b-256 7f00e5ff26cd1089b4821f9a9270952335f7cad47dcaca80142f9daf2729bcd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 38b0ec8b40047abc324deef5535b632e0d423e64b47f5ae69c033e681c0fdd05
MD5 ee8a1b106f2a1ee36d1b54359eb5555d
BLAKE2b-256 2c7bc7c5d73ec4650f37fbd371ea61ef287fa4ba8a324aba57687f59e2f11caa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.65-cp310-cp310-win32.whl
  • Upload date:
  • Size: 300.4 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.65-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 79785605a15680281c9cfcd2fc46682663faedc774a7ecb3e730c0798e75eeda
MD5 da1863a7d495e3f44d666e1ddb204095
BLAKE2b-256 f3dd3722610c4a4f817a5f222bb76bc2348e1d44b935b43aa792d30317dc27bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 22959f1927bee9a05111f227564655bca1b9c802091b9355861f8f276c76717f
MD5 721fec06d918be90e513a66f109c656f
BLAKE2b-256 466170d083e471dbde6aa55c04a827d6cca82495d73c495f4c7d48f8303c58f6

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.65-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.65-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 043e31d069f8e886431041ab2f8feee0a264dafbb5331bc6ade3ad22433ce15b
MD5 df5b727b556ccd9264a23c9c0a6ea2d1
BLAKE2b-256 d48a584e9ec7bc81350719ed04c1c4af469853d4f08a0d3d13ad21ee7946f50f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 210bbe40958415b055b1df4753cb718532d3f6f52e67af64a63b949329329b95
MD5 2897f71d396d7fcd4bf07273281fa6f8
BLAKE2b-256 223044527784dc6d647497567053d277e981745d27892d7ed5591c65191b1b69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.65-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95aa0154519041acd26871e88c2c27c53b8bb0da15c4eff3105b9d57f8c5f2cd
MD5 7569228166684196392b97221fab2419
BLAKE2b-256 2758e8c8f4641d914cf8805aaf0a3cb21f410062bda4338da3e66f9d0c0a2d44

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