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.
  • Custom Buckets for Wallets: Assign custom categories ("buckets") to specific wallet addresses for more granular reporting using the --custom-bucket CLI option.
  • 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

Assigning Custom Buckets to Wallets:

You can assign custom categories ("buckets") to specific wallet addresses for more granular reporting. Use the --custom-bucket option one or more times, each with the format address:bucket_name:

dao-treasury run --wallet 0x123 --network mainnet --custom-bucket "0x123:Operations" --custom-bucket "0x456:Grants" --custom-bucket "0x789:Investments"

CLI Options:

Only optional arguments are listed here. Required arguments (such as --wallet or --wallets) are shown in the usage examples above.

  • --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)
  • --sort-rules: Directory containing sort rules definitions for transaction categorization.
  • --nicknames: File containing address nicknames for reporting.
  • --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.
  • --custom-bucket: Assign a custom bucket/category to a wallet address for reporting. Specify as address:bucket_name. Can be used multiple times.

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.1.10.tar.gz (78.8 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.1.10-cp312-cp312-win_amd64.whl (274.6 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.1.10-cp312-cp312-win32.whl (251.9 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.1.10-cp312-cp312-musllinux_1_2_x86_64.whl (486.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.1.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (489.0 kB view details)

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

dao_treasury-0.1.10-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (507.6 kB view details)

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

dao_treasury-0.1.10-cp312-cp312-macosx_11_0_arm64.whl (321.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.1.10-cp311-cp311-win_amd64.whl (272.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.1.10-cp311-cp311-win32.whl (250.8 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.1.10-cp311-cp311-musllinux_1_2_x86_64.whl (475.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.1.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (468.7 kB view details)

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

dao_treasury-0.1.10-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (473.6 kB view details)

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

dao_treasury-0.1.10-cp311-cp311-macosx_11_0_arm64.whl (320.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.1.10-cp310-cp310-win_amd64.whl (272.9 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.1.10-cp310-cp310-win32.whl (251.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.1.10-cp310-cp310-musllinux_1_2_x86_64.whl (481.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.1.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (474.9 kB view details)

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

dao_treasury-0.1.10-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (481.2 kB view details)

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

dao_treasury-0.1.10-cp310-cp310-macosx_11_0_arm64.whl (323.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.1.10.tar.gz
  • Upload date:
  • Size: 78.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dao_treasury-0.1.10.tar.gz
Algorithm Hash digest
SHA256 20fbd1697c06ef9bca1083cafb38b3b8b533c8b2b113b5a60f2e54a38d2fce6d
MD5 74e0d32e59c2768ff532a2302108a650
BLAKE2b-256 8e05eba17079449f434096fc0f48b9255ae5d8997bbc9fbf9ce7a0e446a2bb64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1dd6a3bac3be7ceb08b5f09052e00e3b69245bf5fe251261caaf58316a2f2306
MD5 0e96337864d9bc687ae1ada9b33b8ad1
BLAKE2b-256 b5f50e88cf4e7b4e0ee147a49f1c4862e2c66112f0039b1bd2b18dbe6f493e05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.1.10-cp312-cp312-win32.whl
  • Upload date:
  • Size: 251.9 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dao_treasury-0.1.10-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 f74df145feba69caf672791503994726c83c9d8ff81d7cd1ca1f135f3b796105
MD5 fa406102d0d7dd0feef6326b798a50cf
BLAKE2b-256 274d8ada5b8959229fdee62bc6ee4dc4744a25d959b336c6c7918424f4347125

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 493e7bf46b3ae81e8a6546665c504ba14f26d4d98aa3168f3838bdb374f19222
MD5 46f2e860952e0f83059f9f45eb91c4cb
BLAKE2b-256 d533c79332b7ad63462be8290c1f09c157dd62525755716445540ae730fd6fc0

See more details on using hashes here.

File details

Details for the file dao_treasury-0.1.10-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.1.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 39b861ccf30dc46bfed94aac614ffc3193cec640979de6f46d941275080b3ba6
MD5 add75591359cf148dde35c4b72f6e291
BLAKE2b-256 b288dc3a38ff59c904febe86d4ade73f3b742dc2a91d402b78c87cbf236f87ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 6f87d2d2fbeb435750c12c63ce671fa53fac13b80892f8d48dee396ac2616019
MD5 c343a45247d7515e6538aed2efd0643e
BLAKE2b-256 6b602d3b60e35f81854c04bc1e3b3a0195437ee1593a2dd16cc82b288cd59ca2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ca2b2cc4be0d03ea8b00858c0e4773885fc013b1917b51616a062448e6a2e7d
MD5 a470e65309788200a390693605f5b4fe
BLAKE2b-256 d121c33b76689c7379cad6ce52cfc0eb17dd0e874b07e10f55306e0af54faaa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 08465582bf004accfa9b8233ba58262f0147487dc3cb154fdaa72740a75f49d4
MD5 6a6daf63cf5f43eef74d7f0c068c5a8a
BLAKE2b-256 ec9f63066f9d4aa3431ac786bf42a794563d1b0ef34d010e8909b96d37c65695

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.1.10-cp311-cp311-win32.whl
  • Upload date:
  • Size: 250.8 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dao_treasury-0.1.10-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 50c4c5f260b25d8011d3b87b9f9b060db77b81704ed6c64bd43a1bc8ffb4cae2
MD5 f6ed9691eb24a1708861dbe18cdc681d
BLAKE2b-256 410869ee4d10e8d234b158cda8cdfa9db1d8df480d3d17920123bca21d698335

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5ed8c1f30d89023b78aaf9182f74a2d8acd014e4279620ba17a0f51331e39c0f
MD5 63f0d2b9938dd4f0fcbf37382246ed47
BLAKE2b-256 6a11473a5b137769a2075137f2960199be82047495c6eefbb4cfea3f6fff2c3e

See more details on using hashes here.

File details

Details for the file dao_treasury-0.1.10-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.1.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ebbe16a5c5baa01f2e958193b55f5025343d1795baf71c9d827db247d4d6b29
MD5 f68287c6d9ceede5ffe258ab10a465cb
BLAKE2b-256 58fbce0587bb1bdcc7772b50eb5b8692c17e49a107d8e6aafda7309dc6d46282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 f00b110f4e5d48e988274f4fb81211eb9d807d01327c32fbb5f7e40992845acc
MD5 5ace67c695e797c237c1f70c6d2c6345
BLAKE2b-256 6cc1b885aafe97434c143672edacc934f216bf40ddf54450188f5d92faa241b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f87f723f6921e620a59abd879dbe25fce7630f3e294e74c626dcd5667dd1ff6
MD5 5a455aa552140a83b41fdb6eb31ff376
BLAKE2b-256 b4033bca6f81db3ea338824925594e73682b7d98a04b3bf68d206c35d3702d71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2ad82b5e9581568ad476636a2a2bf81e9250ac6b31b61788c23d7cdd9c7d30f5
MD5 e74fe33377dbac31bd267909621f4003
BLAKE2b-256 7a81da7242f881c9c65c980a35f67f0094bc83022a513ee2632fb0b34a78d86e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.1.10-cp310-cp310-win32.whl
  • Upload date:
  • Size: 251.4 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dao_treasury-0.1.10-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2197142da870223a44827a9cfb26bf2ec72cacc2dca00193631259ecca8e3b3d
MD5 f08d169a2cedc5cc4f56df091155e158
BLAKE2b-256 60b3be1c88f547109d05405e2615fd7c3108b6ccb30406f6c0722b4c57a98fdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 73b1882f9338f8e5e883d5a147023ce38ec2eaaf4815a308c10d978834ec025a
MD5 1d2875f886586d99e7507fb01e051de8
BLAKE2b-256 7597434c6e6926331303e2b6e7c11e7f1a4ba0b0061005ccc94194b52ef77ee3

See more details on using hashes here.

File details

Details for the file dao_treasury-0.1.10-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.1.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 06151741859d679d62a2b2e67aff77e026a5a53250718844f9fef1294a129589
MD5 b78227c7d4880d0d49edf6a5bff09a52
BLAKE2b-256 9654547762b34581880d3e70e4788f8b57662e4f273a44faa5715972f236013a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 a3a1843c2ca983771414960e550db572f7dfefca2ae601bee13e54b1578d0ea6
MD5 6f4f0150ddd1d5ccfaf28dbd6745ccc6
BLAKE2b-256 1ccf82f4fb14b4060b1cf41464c5a3a62eff3d6819db7ea911dfc849af6477dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.1.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0eec85092bafa1de1d1b6afac197de3a2338c7266dbbcbffd61aec8a5e29307
MD5 97304f31af0cee23d9953bc83dfd17c5
BLAKE2b-256 8b5dafa6a4c57bf98a107f62fdc2a014508b3c991404e3795412042a4ab16933

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