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.73.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.0.73-cp312-cp312-win_amd64.whl (350.6 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.73-cp312-cp312-win32.whl (315.4 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.73-cp312-cp312-musllinux_1_2_x86_64.whl (668.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.73-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (672.9 kB view details)

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

dao_treasury-0.0.73-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (701.2 kB view details)

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

dao_treasury-0.0.73-cp312-cp312-macosx_11_0_arm64.whl (425.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.73-cp311-cp311-win_amd64.whl (346.5 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.73-cp311-cp311-win32.whl (311.8 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.73-cp311-cp311-musllinux_1_2_x86_64.whl (634.5 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.73-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (639.6 kB view details)

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

dao_treasury-0.0.73-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (649.1 kB view details)

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

dao_treasury-0.0.73-cp311-cp311-macosx_11_0_arm64.whl (421.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.73-cp310-cp310-win_amd64.whl (347.3 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.73-cp310-cp310-win32.whl (312.7 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.73-cp310-cp310-musllinux_1_2_x86_64.whl (646.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.73-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (650.2 kB view details)

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

dao_treasury-0.0.73-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (660.4 kB view details)

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

dao_treasury-0.0.73-cp310-cp310-macosx_11_0_arm64.whl (426.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.73.tar.gz
  • Upload date:
  • Size: 78.8 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.73.tar.gz
Algorithm Hash digest
SHA256 5e4cae36b0187d4eb7401f5011b41b8641d846d04867400d11c9447d39d6fa8e
MD5 35409ca1ba31f51f1c6036cc45ffe5ac
BLAKE2b-256 b2e4f22020003f9bad0153d7d1e8d89ffcb641c258ac29793f7e71650361499d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 64acc8cf0cdd55ed0e366d1867d396d693de2229aad86c42ced9912969f5c846
MD5 6ff05df8b9b59de111c63098358c80f1
BLAKE2b-256 a2f2e094ef4bcd390366da343750960298b6a8241fcbde8a0551b55f865ab893

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.73-cp312-cp312-win32.whl
  • Upload date:
  • Size: 315.4 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.73-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 7bf27abc45892e7a0abf4bb5e78f2c855df06d533d26b7ec4f6acc5a2c75e921
MD5 c9d55abd8a5394ada30b50148f54b74d
BLAKE2b-256 6f0cc5d0556420bcbd5e85f605b6bc9d3d0f9755c3e84c386e9a3dfecaf160b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 07de9c00d83fedb60e6c3fb170964f4772aef09c829583d76cccc25727dc5b57
MD5 858f27f488b820cfc5579042ff3a01df
BLAKE2b-256 6d62137695441bf8a2c6f0464e588ffec8efd5c5dcf596a2c7b11a7cf7b11622

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.73-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.73-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3ccad89ab6b02be9aa07018f8328b7b83ef1cfb90c2c177a236f9965de894db
MD5 86ebfc13a6497b1ef7b1403db255049e
BLAKE2b-256 82a1104a56ed19fb8ffb11c23d00822556ea3f59940dc70f5221de903c9d9e2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 d01e1ad7e63a11329de2e3f8cbf9ce0a96f3ed83b3bf22755674073f4ed4b45e
MD5 a88c807de04104af47cfedeb0a0b81b6
BLAKE2b-256 2b831aee02d3dcd970073ca7ddedd1bcbe928534514f17afc2f30e2810bdb970

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff5cf8a81047d85db2aa58dae1ee84961951bdce5366f29ff40983756be455c8
MD5 6c0d8791644d47850d39cfa54cbc578b
BLAKE2b-256 b354af34d40124ead3f895dd81ee6016c90669e81c8a8693db306d9af4d8e4c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3622678d9d2e821bcfbed85de7b1caef32f04a9ceba7d2d6ed3e90cbba72007c
MD5 518fde2406cb94b5b1f441ba3d0ff6d2
BLAKE2b-256 051e3ac46c6734e97685dae92b2e7478127575b6c75063582171dd262a688848

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.73-cp311-cp311-win32.whl
  • Upload date:
  • Size: 311.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.73-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 4b115dfd2ff790d493eb793be788e61ade16fadd56b96a0df26be0f2f5a457a9
MD5 a4b2c0d25a1702326df15f2a3ce0fd0a
BLAKE2b-256 beea5501567be14df97e0a0eeec8a9b25e644e47cc92efb1c90c7172d89c9c62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 42c968e93392a97f3426a395edd1ffc022257f22bd5408df06d16bf87b00eb0e
MD5 c5e91ca6880adc9c9d870e81d03d8256
BLAKE2b-256 6c2471aab87e7334b46fcf1843c68189cef0207ce097845270bd94a4b732bcdf

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.73-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.73-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 383cd6c1bfcb2f360a046bbc384aedb53324d3ab07c794c94aff64f4696c945c
MD5 721ddf509e93c1d33b29c5688a60aab1
BLAKE2b-256 c17e77a345b8a9a73ebb6fc384c92bd4c7c054ad43455580dc7b400c5eaed4f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 afc12bcfbff64446c68da145b1fda851cc78ae63aa5a6b7ee8c2023999177b4c
MD5 790795a9cec63a078df02a9f87bd3791
BLAKE2b-256 efde041071bcea6f9d61334f2de26164eb7333c2901e107f0beed07d633db1ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 750e2f6b28bfce79b985f3849564482805446b0ca435f152db1dde5713f2e9f8
MD5 a742e235ea72ff6eac0f30409a088c51
BLAKE2b-256 8df23948a45abad03aed1ce3c0d7f946d5ae99837c3a570b0e1941dbec15b01b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cba63f0a27dc6dcdf9da8e28ae4dd2257ac28d0b61efe6e9a6a16f393b46ceb9
MD5 dd7947050424220865575053eb8e212d
BLAKE2b-256 b5e88646419ad968a18c342afe69e15e0f7eb38b5746f6a8340e6e54d97b6095

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.73-cp310-cp310-win32.whl
  • Upload date:
  • Size: 312.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.73-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0a5a003a4285b7da2354c37fc21c575c5221442796564d18ceda7a9280ff819e
MD5 58cd8d5f30b7b38e91d78772ea21f070
BLAKE2b-256 efc1fdd0cf4650635290b54b81a40aea57a3811c7b8c88b2a9b4ed9f77f580fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eb751736051c15047259de5d424d1ddda7655c84db414cfa69b6fc3efc12bd30
MD5 3ee2417786cafe6a69a960c49de14ebd
BLAKE2b-256 1ec2928727c7023182fce1605a08f2d567125a1e75949737f1c1d5f11307f5fb

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.73-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.73-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 878a601638722ff01ebf6faf6351d968cb193990abc056e60aa7495ad281141a
MD5 1b2eb262d2ade1b5d3f545c24a7be917
BLAKE2b-256 9c4879046ee945ed16899cee3ab8b6fc727298ed66cce8e0cf087f74047e9ce3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 1d2d59b1f7392f90414153c26eaf45b38326647198c282b7b1dcbf2399cd6e01
MD5 b96c99f2b5395a1abb8a28d868c13821
BLAKE2b-256 ea6e1b8f93b8f2c83d0dd125cd13e8594f8c8109324021016378f0c5c5b418e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.73-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1061c14e7ae25db65a16af9bc72fb690eed574bccd1fdcc89b77020f48cc766
MD5 9da29bd4a70d052aff6509e95f702964
BLAKE2b-256 d2accd189f15b03666924404e2cb97945d1403100708bf5a020e3c0ad5aef8cb

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