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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

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

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.61-cp311-cp311-win_amd64.whl (334.4 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.61-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.61-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.61-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.61-cp311-cp311-macosx_11_0_arm64.whl (409.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.61-cp310-cp310-win_amd64.whl (335.2 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.61-cp310-cp310-win32.whl (300.7 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.61-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.61-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (637.7 kB view details)

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

dao_treasury-0.0.61-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.4 kB view details)

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

dao_treasury-0.0.61-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.61.tar.gz.

File metadata

  • Download URL: dao_treasury-0.0.61.tar.gz
  • Upload date:
  • Size: 69.9 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.61.tar.gz
Algorithm Hash digest
SHA256 f3bb3fa1e1fae788a988a78566fe0351da7ccdb447da9f059a1db586bbc7312d
MD5 724bc57a96d461db577f784114632dc1
BLAKE2b-256 b4dcb22384385a0b2e2a27e2ccafc9aa7859356d9411aa206f7bbac455c602ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4fc47a9be92e082498fed76de69420f9df7446bc7b26d31c0a174221b10abb0a
MD5 45260a3e6333b833e5c3825ae53b0c53
BLAKE2b-256 6f4acdb89b6d18f2852e1e8d9246e543abff884803a35b4fc7e1d45ec136c6c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.61-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.9

File hashes

Hashes for dao_treasury-0.0.61-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 5792c60d5fc24a31beb38a88f4b8485bdcc3a1bc2d2a68da279a777dcf996323
MD5 d1f45aea7de9b4465ae9ca43ce026a8c
BLAKE2b-256 83a3e9114b6dd6e3b806c0f6734c0627d0d9622565ebf15127f05a9a050f8223

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ce59bb1d52d02049d2926151f88465faac72902dfa2f52d979263c830b89c9b8
MD5 18ee20ec6129174afea0a5b7c924ad65
BLAKE2b-256 c09876b3304ec74eefd19149fc04682b7f2c1d264c6f9f1391b58c29c04d15f6

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.61-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.61-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5fa3e9524cbd41f7af0aa947f07a5292ab2692061230d9a9ef4e211307bb60a
MD5 3ec71eae45ab57decf8d1b70ba4cfc87
BLAKE2b-256 2d2804ba771fc5d4aa662752467662f16be15492ac8c7ca8978d7572d1f59c6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 37a53e32938001af0cb749870e3462bad3ef06afa02e8223289ad3646f4e2721
MD5 025b5ec204291535d8395e2423e6a0fd
BLAKE2b-256 c890587e6f1b9882bde5adbb2df09f6d25dcd8b65e7a28ee9098766501c45d3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a34a5d863d29eaed83a935a63130bc48ee2873a8aa9b13ade6938827a5195e46
MD5 365ebb8d60643b4dbeb48dc28203ad65
BLAKE2b-256 c9b6aba2fa3bf81e761623fbb0b1d2c69940a3fe8bca592c78bae387e5d81635

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5951d832a4a9b0381c92e6087a24baa52b656ed617a7f552e552420d7ddfe9f1
MD5 ebda1e171608e5a59930638559d36413
BLAKE2b-256 e7d82421e585d2167ea2baba908e273a07d105d6de621ca2a05456160a7e9580

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.61-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.9

File hashes

Hashes for dao_treasury-0.0.61-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 27ebb01837dfc5b73fb92b4673fbc60381411055f6db9ccf8d029a3b765da7f3
MD5 f3b68331b3ab33dbbf317fce46459de6
BLAKE2b-256 8bbf1fc27efbf547e47fb3cb46d3f2c1bfd65d4f2f226349e8f6af5d815fa890

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a2622570931e84b9ae7bbbd4a666039462ed68536fe2e4e38f02a5f16d873ab9
MD5 41001de3355fb9630fae926370207276
BLAKE2b-256 e7309ed1d236f7ecab93c2552a74e0e5906eb9a61aa7b70c623cb0d229364939

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.61-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.61-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ed665e1c2271046ee9185ee0adbd133939cffe9c1d3218242c4d274ba67e5e6
MD5 b37ff969f7ee451e918dba7bebfeddbf
BLAKE2b-256 d49293999a82d2ad6d8bc1e9b58c6571a909d1c70e13fa668f6f6303b7f85236

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 d6eac7ed31d769eadfc9cc1bda8e1998b9f64a2a48a72e89508a5ac9bfe383b9
MD5 80ca2e86969ae670b1a9024904fa6d15
BLAKE2b-256 5aba1010fecd0de9a0d1cf7ec7b45bf0fa7cd0c9bd33808e84e5db8fdcbbe158

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbe5821a813a113856ce4239b4a5f77222d436f058be7ef3b41bc69983194f66
MD5 2da16f00dc47dc601d45292bc42b03a1
BLAKE2b-256 d064f3155ed9f3610b3d7104752d3739b8f405658504b5eeb16977d91990ea48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 33ae1966ddb3d40c743844a76c1df1e97a4f84c9d81ed60211a89a31176cabe9
MD5 9beec536069115daa3e4af1589b82dd4
BLAKE2b-256 6fc69cbf1c3d2117fb7ee84da8d45b4f6102aee93b53e5088dffaddc833952c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.61-cp310-cp310-win32.whl
  • Upload date:
  • Size: 300.7 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.61-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 8b30d2bb3d9fa16b53facba7315b8a7bd9ac870c2ce1476286b5661529e99141
MD5 a5b6757adc7a3fa55275b0f1bcf9c856
BLAKE2b-256 3ea72b8f89f8f8d1e1c46631d7816186f44a598be7e676dd625a2fd450b3e8fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b18e061c924d90447c88c23db502ccda2b86d4773a78b6aa5dbc7e98864e7a76
MD5 7eab76df025d133ef55758d6735067aa
BLAKE2b-256 f73d870730f8852316fcaf9da8f1b3702f00cefc6b8ca2d78bb08750bd0e4949

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.61-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.61-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a746e3a84ec601a234796cba1ccf7bcbf9045f36bf2f95b96b8b743ad67b33b9
MD5 2892cad6c8edff18504928f6c661ed9b
BLAKE2b-256 fd3b356f684dca610c514c0f0ba87213aef22d1bf8b4202c46e7bf9cadf81780

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 380d081055e3cd57cfa96ba2a201884152e61a4dad696412554172a478501861
MD5 b5281e0c91749249e6d5ad9bf7080db0
BLAKE2b-256 f5d4bf9f04190a8de73680cd56b9d275252d806823f86a77188ba3100ff61221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.61-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ca79f300989ca50e0eeeb4d2b48e58f332c2592d75652f1250b87372b06a529
MD5 c16b3665305a0c1c7eedb6bd7606603e
BLAKE2b-256 712497a9f9a4d964b8650a4e94945f1c93e4b8c9cd7bd159ea4d4571d75556b4

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