Skip to Content
Slack

Slack

The assistant answers questions about the workspace’s watched contracts and sets things up for the people in it. It lives in Slack and Telegram; there is no chat panel in the app.

1. Connect

Open Settings → Message destinations and select Connect Slack workspace. Approve the app for your Slack workspace. The same connection carries alerts and reports.

Telegram: Direct message or Connect Telegram group links a chat with the contract.dev bot, which confirms in the chat. A linked chat speaks for the workspace the same way.

2. Bring it into a channel

Add the app to a channel: /invite @contract.dev in the channel, or pick the channel in the app with Add a channel when you make a monitor or report. Then mention it there.

Where
A mention in a channel@contract.dev …. The answer is posted in the channel; the conversation continues in the thread under it.
A direct messageAnswered in the DM.
A reply in a threadWhere the assistant has already answered, every reply in that thread reaches it.
/contractdev <question>Answered where it was asked.

A long answer is sent as several messages, the rest threaded under the first.

3. Ask

@contract.dev how does the USDC market compute interest? @contract.dev the ten biggest deposits this week, and who made them @contract.dev which markets hold less than they must? @contract.dev who is 0x…, and what has it done across our contracts? @contract.dev which monitors are breached?
QuestionWhat it reads
How a contract or protocol worksThe contracts’ verified source: the authors’ notes, what a contract inherits, the functions the answer turns on, read whole. It says which contract it read.
A figure a contract computes: a rate, utilisation, a positionThe contract’s views, now or at a past block, with the formula it used.
Rank or total across a groupThe group’s columns, and any view read on every member now.
The biggest deposits, swaps or liquidations and who made themThe contracts’ recent events, each priced on its own day, with the wallet and the signer when it differs.
Open rounds, loans or proposalsA table’s rows.
Transactions, transfers, wallets over a windowThe transactions, token movements and wallets behind the contracts, with the window before for comparison.
Monitors, alerts, reportsTheir states, episodes and runs.
Who is 0x…Names, ENS, contract or wallet on each chain, live holdings, its activity inside the workspace.

A name in a question (“the USDC market”, “our vaults”) is resolved against what the workspace holds. When nothing close is watched, the answer says so.

4. Set things up

Ask for a monitor, a report, a metric, a table, a group or a contract to be watched, and it is saved at once. The reply says what was made, with links.

@contract.dev set up our protocol @contract.dev watch 0x… on Ethereum as Treasury @contract.dev alert #risk when a market's held falls below its required reserve @contract.dev tell me when a swap over $1M lands on the ETH/USDC pool @contract.dev every morning at 9: active wallets, transactions, TVL and our fees @contract.dev let me know every time someone deposits
Ask forIt makes
”Set up our protocol”The starter: a group, about five tracked numbers, one or two event metrics or a table, control-change monitors, a few alerts and a daily report, built from the contracts already watched.
”Watch every pool the factory deployed, as a group called Pools”A group with a factory rule. Every pool the factory ever made joins in the background; new ones join as they are deployed.
”Add a column to Markets: totalAssets(), in asset()”A group column, priced in each market’s own asset.
”Alert when a market’s held falls below its required reserve”One monitor per market, judged on the column.
”Our pools’ swap fees in dollars, per pool”An event metric over Swap.
”A table of withdrawal rounds: Requested, Paid, Outstanding and a Stage”A table with event columns, a formula column and a status column.
”Tell me when a swap over $1M lands”An event metric of each swap’s dollar size, and a monitor on it.
”Let me know every time someone deposits”An each-time report, bundled hourly.
”Every morning at 9: active wallets, transactions, TVL”A daily report.
  • Ask to see it first (“show me first”, “draft it”) and you get a card with Confirm and Cancel. Nothing is saved until Confirm. A card nobody confirms expires after a day.
  • When something is missing or ambiguous, the assistant asks one short question: which contract, which threshold, which destination. It never guesses a threshold.
  • When one request would create more than 25 things, it says how many and asks first.
  • Alerts and reports go to the channel the conversation is in, unless you name another (“#alerts”, “here”). In a DM, the workspace’s only destination, if it has one. With none, the object is still created and shows in the app until a destination is linked.
  • Nothing replays history: a new monitor fires on new events, a new each-time report sends from now on.

Who can do what

Anyone in a connected channel can ask questions.

Setting things up needs a workspace member with write access. The person is matched to the workspace by the email on their Slack profile. A viewer, or someone who is not a member, gets answers and is told that setting something up needs a member with write access. In a linked Telegram chat, anyone in the chat may ask and confirm.

How it answers

  • Every number comes from a read the assistant made. It does not estimate, extrapolate or recall a figure, an address or a token’s decimals.
  • How a contract works is told in the words of its source. It adds no qualifier the source does not state and takes a contract’s role from its code, never from its name.
  • A breakdown is reported whole (“7 breached, 81 with no fresh reading”), never the striking part alone.
  • Each figure says which window it covers. “Today” and “this week” are rolling windows ending now.
  • A list longer than 25 rows gives the first 25 and links the page in the app that lists them all.
  • Times are in your Slack timezone where Slack provides it, otherwise the timezone the workspace’s reports run on.

Not yet

  • Pause, change or delete a monitor or a report. Say which one and it tells you where to do it in the app.
  • Read what a contract calls out to (its dependencies).
  • A monitor that waits for one event to be answered by another. Add one under Monitoring.
  • Gas spent in dollars; revenue other than swap fees at a pool’s fee tier; swap volume for Curve or Balancer pools (counted, not sized).
Last updated on