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

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.42-cp312-cp312-win32.whl (287.3 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.42-cp312-cp312-musllinux_1_2_x86_64.whl (604.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.42-cp312-cp312-musllinux_1_2_i686.whl (636.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.42-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (605.3 kB view details)

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

dao_treasury-0.0.42-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (635.5 kB view details)

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

dao_treasury-0.0.42-cp312-cp312-macosx_11_0_arm64.whl (315.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.42-cp311-cp311-win_amd64.whl (317.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.42-cp311-cp311-win32.whl (283.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.42-cp311-cp311-musllinux_1_2_x86_64.whl (576.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.42-cp311-cp311-musllinux_1_2_i686.whl (590.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.42-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (581.4 kB view details)

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

dao_treasury-0.0.42-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (591.6 kB view details)

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

dao_treasury-0.0.42-cp311-cp311-macosx_11_0_arm64.whl (312.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.42-cp310-cp310-win_amd64.whl (318.3 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.42-cp310-cp310-win32.whl (284.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.42-cp310-cp310-musllinux_1_2_x86_64.whl (588.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.42-cp310-cp310-musllinux_1_2_i686.whl (603.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.42-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (592.5 kB view details)

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

dao_treasury-0.0.42-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (603.4 kB view details)

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

dao_treasury-0.0.42-cp310-cp310-macosx_11_0_arm64.whl (316.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.42.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.42.tar.gz
Algorithm Hash digest
SHA256 8c6af80e3c29d70427c8484c7e35153154505d04b5922172c952bec4da0b6851
MD5 480195af765a7d78d6175f290014e035
BLAKE2b-256 01a1ccb2a42eface111131e44060b47317f4bdc3c3e23fa81a5e9c293199fd40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 629e3fec8c9dc422f739a64976f214a24c9da25dd2962e5e12a177a07a32e741
MD5 8e3642d047eb2e1a1b054bbdc0a7bfa2
BLAKE2b-256 7a0981d2ef95ee0764ba2920a7e93a9ca344c72f2576aec81f4b7a62c5b96d05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.42-cp312-cp312-win32.whl
  • Upload date:
  • Size: 287.3 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.42-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 96d68b6a6beb2197f333a0eaa6a205a55709bf4256ce7ff31512cb71eed8bbd5
MD5 427fde19abcb8b37941570e0df9f227f
BLAKE2b-256 9b1396ac0dd10736e48f9cfffc8bd4d81055d434bb660340adf3d165a8e53946

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2179dc9929d00d66540abfa35ed938681e5360ad6125207da7ce0122caf16122
MD5 54bd73034e67b0f8ca662b872e2e0e0c
BLAKE2b-256 41d60689256f363a0977d225b824207a00ef75875139e712363e99446a50129a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f6bde24137834a0af9004b6d92013c4ceb2c5cf3df6720d438be78c2e2a85836
MD5 0d0a19ef1085b40d67b9cbbd8477d069
BLAKE2b-256 8b868da87a99f0b712cd0671a60c0598ef25d2920e34f086ba3ab282c8713ba1

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.42-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.42-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b909596504c0d0368e070ea21eb5e7775bc053d2ac881cd4a3519b6a14aca2cd
MD5 4e51e741721c05d462ea502e311784e2
BLAKE2b-256 227f745651c44741419444a93033f6dda751ad3cb1f71be9e536bc91277dedbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 e1ffff012945c84e301d6e312b5b5c5151b6a4ff218c5796555a0bbe0e03ac34
MD5 6a2e7dde900c9ee626b12ba6f84a5304
BLAKE2b-256 aab40ddf691fb7fe731eb453ea0d6874308c9462cf38d5cef988646ef2aa23aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4006ad9fc953138892bb86c79edab6e6b23dfe04c2bc3cca8a7d34ab7e51fcb1
MD5 4e458de24116ebd0d1b3d0efbdc72456
BLAKE2b-256 5cbe148e42ff0412c14d788aa41c89def5a612c4d487677dfb0fec96fd3868e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b4f8bb2fa10442206963cb87836aed22deceeb6f46c0d965b701f5b9fdc1779f
MD5 932850fe9d9c02b036b26be572341636
BLAKE2b-256 5a4bb44acd65590c912689265cf98651303eb4022acb8766242b689a8828b15d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.42-cp311-cp311-win32.whl
  • Upload date:
  • Size: 283.5 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.42-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f2a25ab1b9bb19be45451030c05d7d9a60d2cff69edec8b42300829da020d1c7
MD5 34acc91459ddad0a88103208d8710b50
BLAKE2b-256 848ffe5e606012029e5a6e2c4dc2ed4c05901b6964415ab6d6e294ddd698a70b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6f395e66bb59bf037021644d4843f9431126687c0289cf9ab6f211a98085423
MD5 b47833309753f024bc4c7e704675f498
BLAKE2b-256 9d72e13d0f444046d8adffef0757e93bae0abe302cf2651cab3bf224e7e96430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 081d2c03b4aa416639e01e75d189806499553afcd0e9ca3432d6c286be2a4e02
MD5 6531597e05262a52478d76b59dbb4cfa
BLAKE2b-256 035b1e792f43d8d2ae6012dc593df6c70b39148b62ea5252c1ca655bf98b043a

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.42-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.42-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04925bd3379e698b4fac2ef785a745b3fb7ad855144ec1451243c73ca54a96f4
MD5 63027d45e5371f6373ef4bcf0ce8f012
BLAKE2b-256 bc568814d407895bf8638bb741d5a65b9a3cb566d3112d17faba194380b4a45d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 b797b20f3fd4cd1ab731e0c32d83fe41e18b569d67badb04a81deeebfda97f23
MD5 9061eaf0602fe8783a81ec9f778e4430
BLAKE2b-256 4ec276ce470976da3ea77a6cdf381ce2fb1f25da8c6c96eab9bda3bd2e0a63ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67ba26fae0db16b62a1430ccf59c18665c222b40109f372cdf8375808f935c43
MD5 254ebb119081396791364e894916572e
BLAKE2b-256 a7c49cecebb6bdda09f32fc4904355afad8342634e4e6afd93cd302963d67873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 152067f4e630e4329c2a5f4e8ddd10332426e88a4d7b48e36c037c04c8ae8d9d
MD5 944f96399eabb58c94a554660badcfde
BLAKE2b-256 23085c5e7560174550c5fa1d6b05cd218d57710eafc1c386613b0f32706dbcc5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.42-cp310-cp310-win32.whl
  • Upload date:
  • Size: 284.4 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.42-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e65b559cec1f1b4867d65ac81a05be807459501b74e177d330756739e70e9136
MD5 70bd73301834a8cd9b7118dade1d644e
BLAKE2b-256 bb844a3364a632794c53584c7036fe4066cefe22c20baf2241f88c271e696ca5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b4350a21e4346bbfcfc2b185157a2f0c596def651868f6d996c84f1fa4c4e82b
MD5 df80eaa34dec6d53cd227a5da2a190ea
BLAKE2b-256 45480a3e84e1abadcf8c44546442e4de9e06050e6e06948ef86beb0e1b1f49d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1fcf199d55187ae7aad50655f06f2bef9e7f411c26b3e53301f1a66f2ab471a0
MD5 6245d9fd99c3859bcac6c38d767b1e7e
BLAKE2b-256 a2800dbbb4c3fc12f40be81b97f5d743d29259b83599e205dcf0c146bee7dd7c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.42-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.42-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22fbbf669c6a98c48864ce8281164e07a61197daed5b11c702f31348f59e3674
MD5 8e0dfd41687f10cf16f95372f1ceee08
BLAKE2b-256 3743dad8c0c9e35d5a9a7e0032a2d08168ac89752b559fa7eeced8d8a9b0d13e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 f5ba8628aca92d02b461aab1bbda0ca0968281a7da89d8d5d9daa25095f5c199
MD5 9cfc406ce579f7fe7a3898daeedde0c8
BLAKE2b-256 0ba7fa3e260693f84dd534f39dc81241fcce3296d8105ea99b61fb421dad6285

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.42-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49af95f4026102a5ac0ae9e2c35f24494a6fa3e78d25de6de6c827911550b856
MD5 6e5c3d7cdc8029a0e50da58a965f2baf
BLAKE2b-256 060af22786e02e608a50b8eaf9b04dc13738c7e62e47442caca2bea2c5222b54

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