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.30.tar.gz (49.1 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.30-cp312-cp312-win_amd64.whl (214.8 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.30-cp312-cp312-win32.whl (194.9 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.30-cp312-cp312-musllinux_1_2_x86_64.whl (410.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.30-cp312-cp312-musllinux_1_2_i686.whl (425.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.30-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (411.6 kB view details)

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

dao_treasury-0.0.30-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (426.5 kB view details)

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

dao_treasury-0.0.30-cp312-cp312-macosx_11_0_arm64.whl (220.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.30-cp311-cp311-win_amd64.whl (213.0 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.30-cp311-cp311-win32.whl (192.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.30-cp311-cp311-musllinux_1_2_x86_64.whl (401.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.30-cp311-cp311-musllinux_1_2_i686.whl (407.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.30-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (396.1 kB view details)

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

dao_treasury-0.0.30-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (400.2 kB view details)

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

dao_treasury-0.0.30-cp311-cp311-macosx_11_0_arm64.whl (220.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.30-cp310-cp310-win_amd64.whl (213.7 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.30-cp310-cp310-win32.whl (193.3 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.30-cp310-cp310-musllinux_1_2_x86_64.whl (408.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.30-cp310-cp310-musllinux_1_2_i686.whl (415.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.30-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (402.3 kB view details)

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

dao_treasury-0.0.30-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (407.2 kB view details)

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

dao_treasury-0.0.30-cp310-cp310-macosx_11_0_arm64.whl (223.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.30.tar.gz
  • Upload date:
  • Size: 49.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.30.tar.gz
Algorithm Hash digest
SHA256 aeb5a47c6c48a40420c0c8258207cb891ada46cf00f67c7875aece8cc30ceac1
MD5 21f38f0f7530f8da8d80fa0961fe69a7
BLAKE2b-256 f9403f175c0a9ac5699f033e74f60e38a00aeb6567f5bf94de7d44b788de1776

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ea301c8c8c4d977beff364fb44bd31f424676741499f33cfe2e4c82366906767
MD5 55d314d930097e4e516ce7a12931986b
BLAKE2b-256 5296ef13566aa18a615ccbb550afce92484b8e520709199566d06cec8bf7915a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.30-cp312-cp312-win32.whl
  • Upload date:
  • Size: 194.9 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.30-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 db7f603c5f778ac2fa099dc5a475d4eeff942cd1a38f041513f3cce90f17c4a8
MD5 30f227f1ee295dbba2cf9e5424f441a8
BLAKE2b-256 c0f86330dcabf0fb1a4a4dfacf2efec213a4a49e63b3730ac077fcfe09cfd7e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 00c64361ec5a952ab28b58c33af8da1c304e31e732e179d8c472e4d29f336d94
MD5 ec9987a9374d84622816f957fcff4652
BLAKE2b-256 3eacee384ce249dc8bcd7d7d1fae28c86b8836e9cfee7e7eee2b09a9e5d6dda7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 38b8f57e786c080df41c7795ab5a96d9e243beb65fddd5c66f5eaceebe52a403
MD5 7476e4defd7fbebd2fae31301cc869ae
BLAKE2b-256 3293ab18edbbc3eb517ea8e09d21a9815a8ac22c7108dfe25d7cf872ddcf76b6

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.30-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.30-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7a514508902d1b74dc3944521471bace6b13844451056de628c23631ccd6fc7
MD5 a2d47df642d46f603e59aec9ee1c554a
BLAKE2b-256 b99086dd5653f5c2a3ae6ebead3636098c6577e0957c2cae4f578e74920d513c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.30-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.30-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 a2030dae9b0af62cf5de41e656b44b639bef43da1f8d4fe348761c7de0a2842f
MD5 26e39a8baab46247cde924e34baa56ed
BLAKE2b-256 f79432144f8d5bb3e8096c5bda63f51b9c540ad8b7624a8e41d294549f8642a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aff4211d7e7f14cbe3bdb4087e5458ead50ab4deebe32aaf1c350bfe74ecba64
MD5 8a75f2a2f3641dd1f82c8ef766a38549
BLAKE2b-256 756de1b46c44b454c0226eca18bf62b396fb853e9c713ece708b5671bdb7f45b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 edb688fca5f82237e6da19eebc88a3af496bc894ba56b408c832d047c5d30bf0
MD5 4d577aacdcb4e8e5c5bb2b5ffa0545a0
BLAKE2b-256 71a7b54132fc1625faec1f8bbee565fde0ea57a6ba7a8b462cd99f454ca0bdb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.30-cp311-cp311-win32.whl
  • Upload date:
  • Size: 192.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.30-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 38f0d0c825d61cf270aec99d1f49b65c70cef2c54c4028b2ba1cb430d3b4ead5
MD5 9376885986b81d82570938c5566ef3f2
BLAKE2b-256 0a0214f92cef289491c158c8ad67824d1726851a2eb96db060a029fb8a87ae54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f0a3b6757235a320973e56b137e9727cc5684eb4a02aa470e93fd3596bfb977f
MD5 11a9cbb1bde4d3f5b52f7e382cf7f4ea
BLAKE2b-256 398ad936a17a4ec42928e41ad33fdd36a52af4057617f813516da2f7a8ae5bf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c47ea7e3d0878831fbaf672210fd028c40327848ebb4e05586f7df33ab0996c5
MD5 80ea8777533a5fedddf1fe56ae56d5d5
BLAKE2b-256 4a651c223c83fc4f1866f91250534a3b4eeb969af114f1c1382a17e62d40f8ad

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.30-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.30-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c20a74df50e220bd946ca7a5a77ee131ef02022743ad459882292ab09d7c614a
MD5 adef5af3a5b079fa0578b85ce01ff3b5
BLAKE2b-256 742eece58c2e1142fdeded446d01be64fcbef5350926b4b9fd8d639c2397fa61

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.30-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.30-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 713789d332219a16131cb8c72def647a09adb4c158aee6bb7239ea3d801e4cff
MD5 78d09c297e1871bcd42d26cf18c4df87
BLAKE2b-256 e24849432c0509eced4ab6ba351645a9be6126f55dc92eebe235f29ef7b9a9b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e57905ef271092b77323999669432d1c7e0c996559fca7b8c1a2bbe41064e5db
MD5 d523a955a668f3860752022964d49708
BLAKE2b-256 3c2d74a03b2cb50e631aa38f7d1327052a57a5b1039a6c101cc23a46f3287d91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 65d874fdac049861deeda9cacda2e544a2766dc8758066b5e9b03086b8398e9f
MD5 c2189bb85fe88d5554748a5393a708fa
BLAKE2b-256 9ae6acd9c10c25785aecb1e735efac519827a7070b9f565158cc5b93d69647a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.30-cp310-cp310-win32.whl
  • Upload date:
  • Size: 193.3 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.30-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 149f6e9cef415bf70c2d313cfa5538d3409036d14ddc9c781d85341ccc3fe65c
MD5 f2f03af2280262d48b4d21dc1db9fccd
BLAKE2b-256 8b73d8c66caef8617fcd5a1d989a69356e4a8df768aa9f481e4f58af53aadd0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 efb0684039daa4ad7ddf57e72a0225d97858abd57a6310d6282b0fe21eea766e
MD5 657b87f9df206a216eea3351c02aec79
BLAKE2b-256 1f40cd4346d36dd3f481a791ec3a7ef9481294bb93ea6630c70ad1b0987a79de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4762b71a868c0831345effed4b6e3c64a7e2ea123a0873ca781986d80a47b282
MD5 3d14e2df7ade15678efab6cc8a71514d
BLAKE2b-256 483368b00d73c70db387236596695e616edf99e10ada97b47072cd73632fdd01

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.30-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.30-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b94e4d5fde5c13c8f43ee34ed9b25816072e6dae1d7e4f0c76dd027f79a69e8e
MD5 10525575e1413c3cc7f022f5aa625bf0
BLAKE2b-256 2837b5a73fcf2193828cba4963fa02f32d52a3f32307c7d85ed342e6a1c7d8de

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.30-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.30-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 52facb20e114fa8733dcc0f01581456475da16e237b95c251b424e6cd821592f
MD5 4130e2759dc2f1497f614a4d024c6722
BLAKE2b-256 b91f2f4598f2349b7ddde0e971113ffa3ceba554c82392c0f71520f6b85dcfb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.30-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b0f8f3e6174ddc5ffceaeac844b6c8d346833675601b14ee6b037562ff67d72
MD5 34df21df827111af63320232c06ae783
BLAKE2b-256 693c2fa6002713ad84acdfadb12ac5673a7dae3baee0ca87a80a8714fb8e4922

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