RESThook API for Cardano Blockchain events
we build
pool.vet and run ABC Stake Pool

Build realtime evented bots and tools for Cardano!

Evented.events lets you listen for changes on the Cardano Blockchain. Register a URL to be pinged when on-chain events happen and build realtime Telegram/Chat bots, widgets, notification systems and more

Stop by our telegram channel and let us know if you find Evented.events useful, we'd love your feedback and ideas! Evented.events is built by ABC Stake Pool through the support of our delegators

Use the Evented.events Telegram bot

you can use Evented.events without writing any code

  1. start a Telegram conversation with @TheFaradayBot
  2. type /add <your stake key> to get notified about any events for your staked ADA

you can use @TheFaradayBot in a group chat for your stake pool and control subscriptions more granularly:

  1. type /chatid to see your conversation's chat id, e.g., -12345
  2. use https://evented.events/bot/<chat id> as target URL in curl command below

remove the bot from the group or block it for a short while to unsubscribe

# Get chat notifications for Cardano block production
$ curl -i -X POST -H "Content-Type: application/json" \
  -d '{"target_url":"https://evented.events/bot/<chat id>", "event":"block.create"}' \
  "https://evented.events/v1/pool"

Use the Evented.events API

  1. build a callback URL in your app or site to handle the RESThook call from Evented.events
  2. register your callback URL with Evented.events
  3. return the X-Hook-Secret to Evented.events to activate your subscription (learn more)
// Your simple Express app to handle evented events.
const app = express();
app.use(bodyParser.json());
app.post('/get-evented', (req, res) => {
  // You'll need to confirm the subscription upon the first request to start receiving events.
  // This happens one time only, see https://resthooks.org/docs/security/
  if (req.header('X-Hook-Secret')) {
    res.append('X-Hook-Secret', req.header('X-Hook-Secret')).status(200).send('');
    return;
  }
  // TODO: Process payload.
  console.log(`Received ${JSON.stringify(req.body)}`);
  res.status(200).send('');
});
# Subscribe your endpoint to evented.events.
$ curl -i -X POST -H "Content-Type: application/json" \
  -d '{"target_url":"https://example.com/get-evented", "event":"delegation.create"}' \
  "https://evented.events/v1/pool/<pool hash>"

resources and events

/v1/pool
block.create new blocks across all pools, good for getting started
/v1/pool/1234abcd…
block.create every new block
delegation.create every new delegator
delegation.delete every time a delegator leaves
findings.delete continuous SPO monitoring from pool.vet
reward.create new rewards for delegators
/v1/address/addr…
transaction.create new transactions for the address
/v1/stake/stake…
reward.create new rewards for the stake key
transaction.create new transactions for addresses with the stake key

we're adding more types of events and welcome your feedback!

How to unsubscribe

to unsubscribe from events, return a status >=400 and Evented.events will stop sending updates after a few retries. for @TheFaradayBot, remove the bot from the subscribed group or block the bot in direct conversations for a while

Disclaimer

evented.events is a preview. the service is provided as-is with no guarantee for completeness or correctness of the data provided (we're doing our best though and are using it to operate ABC Stake Pool)