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.0.72.tar.gz (78.7 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.72-cp312-cp312-win_amd64.whl (350.4 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.72-cp312-cp312-win32.whl (315.3 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.72-cp312-cp312-musllinux_1_2_x86_64.whl (668.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.72-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (672.8 kB view details)

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

dao_treasury-0.0.72-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (701.1 kB view details)

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

dao_treasury-0.0.72-cp312-cp312-macosx_11_0_arm64.whl (425.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.72-cp311-cp311-win_amd64.whl (346.4 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.72-cp311-cp311-win32.whl (311.7 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.72-cp311-cp311-musllinux_1_2_x86_64.whl (634.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.72-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (639.5 kB view details)

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

dao_treasury-0.0.72-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.9 kB view details)

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

dao_treasury-0.0.72-cp311-cp311-macosx_11_0_arm64.whl (421.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.72-cp310-cp310-win_amd64.whl (347.2 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.72-cp310-cp310-win32.whl (312.6 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.72-cp310-cp310-musllinux_1_2_x86_64.whl (646.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.72-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (650.1 kB view details)

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

dao_treasury-0.0.72-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (660.3 kB view details)

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

dao_treasury-0.0.72-cp310-cp310-macosx_11_0_arm64.whl (425.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.72.tar.gz
  • Upload date:
  • Size: 78.7 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.72.tar.gz
Algorithm Hash digest
SHA256 559949b7c89dfabdf4d49231b50992042837433e7962ee5785515ced44d726cd
MD5 a4e9867e1bd800565c78cc6cb80e1f0e
BLAKE2b-256 0e094039388151316f6f89ecc7ae8895e73c41ebd5fa83873cc794706afdcb10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b024a12d2fd2186fe7f1769d97604054895c27c419e6d725168da40cb26711b8
MD5 cf678f18673fe9ddec0a3c37945bab04
BLAKE2b-256 398bb017a02628b1c75c3cbda311b8e3abce63e3e18cee47f1d348c9f455d33a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.72-cp312-cp312-win32.whl
  • Upload date:
  • Size: 315.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.72-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cfb370c7a139827c444fb129578dc80aa8cb67084686b160d712745899222864
MD5 87cd62c9ecb1b4b60e86c27b56cdaa34
BLAKE2b-256 6f6db9141dc3fb38f9164e22ed161d7ac593223aeea734bc5563bb6a7b7e9036

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb4a9a8dab38a8c6357704c72cb6d3485f142efcbc1bd2645349e0d3b8aa5b7a
MD5 0d0d52014ecb9a2a44d538e569f73d41
BLAKE2b-256 96e4c0c9fb93ba08e7b8f58f7d48469435c6a57d03920167e772c9c7b4113f38

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.72-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.72-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 df4e0b76b9b4fcab421eff62a77327fdbf467a7fdfcd066a0f57b830c692ec1d
MD5 d581a1170efa403b725a1d73f4f699c3
BLAKE2b-256 a54068d48ceae663666d59c3df9b3e300f6e533995945bbbf2c8d32be87188a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 e0e7c811e3ac1e07b63f4a0a56166266226961725abcefeb01f3cacd9118c4f2
MD5 42fa0617d4107fc720dbbbf4694f135c
BLAKE2b-256 8f67f12cd4e84d36b2d18f634671466e87b5f8c76893d142e999f2826478b23f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 002affa50d56afb0647c74888e33bd3e05b1d5f48ba6c40c6c40a14acf2053b7
MD5 b7cdf4895197c7e70d8b9a51b874ca3e
BLAKE2b-256 fc214e9296a1b7edb19e7d065af5e2bdc819d01d6fb040747dbd86766c7d2aab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 78104f09ab539375cafbc9b0a84429db1a63c7cc86fc6ee8a955cc069aba376c
MD5 c1fadc5a52386b380cffdb9fc974afae
BLAKE2b-256 91f04ca77186e41a2e9d82e66e5c81cd718e943efc73d6a5c5259a6a69653126

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.72-cp311-cp311-win32.whl
  • Upload date:
  • Size: 311.7 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.72-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ff40a06e1e1460991ff91f6037f9fe6c3ee38f9cd02c6baf9722daca1e3d7092
MD5 a3ebdee7912f096071b8cfa8282cd9b4
BLAKE2b-256 e220aa2ad1f261928c19f3bd57e58ed919accf1bfc3fc8e4fb254ba892f3d759

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c71e55580dd944b490d578c14ced4a1c12bc520b064314aee5c57084d59a0370
MD5 205697a27d1d0c27179da6c2f429e463
BLAKE2b-256 6b13daf7754dd4410b85536abad2db90897f11c9790a2d070ff446b79b294910

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.72-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.72-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41e9207f6be66c931a4b4c8a05fd1974ee28f7c845c5c0bf258c590adcbf4c3e
MD5 00f572a52759919919c3227bc806bb06
BLAKE2b-256 ac4a5538a85eb4e50b25398a99f13d6ed3870f481d8c344de90e3d56326078bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 4db7cfc5ab99b944646add68404c50dd74d335c4796475507a2ff522ca892489
MD5 d52e1f9aa0baf5ffb2c7070df707d8cc
BLAKE2b-256 922fb10a4a9628f01e16bfe5d081187c64fb4981a2920803ec291957d490e53c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa355c53281cd1cce140d2b2fd36389da62963e83e71342f72ffaa4341b726eb
MD5 166b5e6e7fd254319d7c1909cc260da9
BLAKE2b-256 498ba4cd520f701cf00a064b39ad545ad7cb3172eaacaa40a6bf51e4af722dc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4691ff449e58752527e5f285e35e727a616bd8fffacee1f3454e21702a52ddb3
MD5 4a46da55c9b800388e448366365894a1
BLAKE2b-256 651ae80f8e9d6202d72fcfa61caa00ece26d45d0a900f5a7af28cdcfa0b87b2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.72-cp310-cp310-win32.whl
  • Upload date:
  • Size: 312.6 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.72-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 68d5ab0bb2b733211bf366f25e2af85fcb93f5dd2ab614d64cbf2e53d9a120ff
MD5 0d9593937773f96ddd149c61f3b95517
BLAKE2b-256 02f968202e1712936acbafa9b4bea89671886d9cd23eed042acaf7d387ec76ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 078f22bde045cd5206f92f1cb0c0b5e7b9379513577c93577a05f731670f08ba
MD5 c34588947caa50c0d6c78e6ea4ac2750
BLAKE2b-256 2e3206400a13ec57180c62ec2e4ebbd07d1ee9c3940f1c845ea5a5e4d88bb97f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.72-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.72-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc62272820519fe7642dfc699980eb4b5002642fef086f056a3d91794b8bb36a
MD5 02ea94558685c80b01f6472011319f7b
BLAKE2b-256 8b98703f78ef58f26acf93e5baa5655e51bb3cec16972c3a9caab8abeb6ac298

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 7c237cd0faa2c5cbfca02b2c5dc9608828d27066b54b104a02d69e0937250936
MD5 fe356e5f00b0138f42f6917d9aa32c33
BLAKE2b-256 4cfd5de3ea23d67802f919902677f754de15a288165a6042252ba136fb306be1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.72-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 066422d5dc25b9ee6f583fdd27dee97571152590ef7764f2cd6d9a57f4a524ca
MD5 8bbeb732cab955e1ef96844a3a932024
BLAKE2b-256 5831d51265f7ccbe1221002b98f3d469dbe5774f483a5e83b2e036328e77d02b

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