Skip to content

Snowflake

  • Warehouse credit consumption
  • Exact dollar cost (with Organization access)

Method: Username & Password (or Key-Pair)

  1. In Snowflake, create a dedicated user for Plutus to connect with:
    CREATE USER plutus_reader PASSWORD = '...' DEFAULT_ROLE = plutus_role;
  2. Create a role for that user and grant it access to the SNOWFLAKE database’s usage schema:
    GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE plutus_role;
    This gives access to the ACCOUNT_USAGE schema, which holds METERING_HISTORY and WAREHOUSE_METERING_HISTORY — the tables Plutus reads for credit consumption.
  3. In Snowsight, go to Admin → Accounts and copy your account identifier (format: org-account or xy12345.us-east-1).
  4. Optional, for exact dollar costs instead of a credit-based estimate: also grant plutus_role (or ORGADMIN) access to ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY. This requires your Snowflake Organization to be enabled and is a larger permission grant than the steps above — skip it if your security team won’t allow it. Plutus falls back to a credit-based estimate when this isn’t granted.
  5. In Plutus, enter the account identifier, the username, the password, and a warehouse name (an X-Small warehouse is enough to run the metering-history query). Account Name is optional and only needed if your Snowflake organization has multiple accounts — it scopes ORGANIZATION_USAGE data to just this one, and you can find it with SELECT CURRENT_ACCOUNT_NAME();.
  6. Optional: enter your negotiated price per credit in USD (from your Snowflake invoice). Plutus uses this only as the fallback estimate when ORGANIZATION_USAGE isn’t accessible; it defaults to $3.00 (Standard on-demand) if left blank.

For exact dollar costs, grant ORGANIZATION_USAGE access as described above. Without it, per-warehouse costs are estimated from credit consumption using the price you provide (or a $3.00/credit default).