Core Platform Features
Features that lie at the core of the Parsiq platform power everything up. All of them are directly accessible for usage throughs the PARSIQ Portal. Most of them also have public API endpoints to build integrations upon and to advantage a more flexible approach in managing data and using underlying functionality.

Projects

In real life, there can be different use cases or 3rd party applications that might rely on a set of independent Smart-Triggers and User Data. Projects were made to simplify the separation of concerns. Each Project is isolated, provides its own public API endpoint and groups a set of related Smart-Triggers with according User Data to operate on.
User can either start building a Project from scratch or use one of the predefined Templates that already provide a solution for various use cases.
​

User Data

It is more comfortable to manage data separately from the Smart-Trigger programming and configuration. We call it as User Data and it is meant for defining monitoring artifacts (i.e. wallet or account address) with extra valuable information like labels, thresholds, scores and others. In combination, they influence the Smart-Trigger behavior during execution. User Data is accessed through immutable variables from ParsiQL code. There are three kinds of variables: primitive, struct and table.
​
There are also 11 primitive data types supported that are used by more complex data types (kinds) and are later accessible for usage in the strongly-typed ParsiQL language:
  • integer
  • string
  • boolean
  • ethereum address
  • bitcoin address
  • dash address
  • algorand address
  • binance smart chain address
  • huobi eco chain address
  • solana address
  • polkadot address
It is impossible to edit the User Data variable type once it was created. However, the values of a variable are mutable.

Primitive

The variable of primitive kind holds the value for one of 11 accessible primitive data types.
You can edit value of a primitive variable at any time by clicking the edit button.

Struct

Struct is a group of ordered primitive variables, where variable name becomes a key. It allows to compactly store, manage and access related data using one variable.
Usually, it can act as a configuration consisting of various properties and their values.
You can edit values of struct variable properties at any time by clicking the edit button.
​

Table

Table is a collection of structs of the same type. Struct properties are named columns in the context of table.
You can add new and edit existing table rows at any time by clicking the edit button.

Smart-Trigger

Smart-Trigger receives input Events, processes each of them according to your logic and (if necessary) produces intermediate or output (resulting) events. After defining in User Data what is important to monitor and other tightly coupled information, the user is able to take all of it into the consideration and program the Smart-Trigger using the ParsiQL language.
Any blockchain network is capable of spanning a large number of various operations (i.e. a log event in case of Ethereum) inside each transaction. As a result of transparency, any such operation is completely observable and may contain valuable and sometimes even critical information for the user. It is important to filter those out and timely react to them.

Native events

There are many different operations that vary from chain to chain. Most of them are rather low-level and carry no significant value alone. Blockchain specific Parsiq adapters take such operations as input, manipulate them on a sub-transactional level and output specialized Native Events, or sometimes simply Events. Those events are categorized into three types. An ordered sequence of Native Events of the same type form together the Native Events Stream (NES).

Transfers

Transfer Native Events are produced when ETH is moved. Once the block containing such transaction is mined, it becomes the Transfer Native Event and ends up in the Transfers NES.
Currently, there is no mempool support for Ethereum.

Token Transfers

The TokenTransfers NES contains all the Native Events that are related to the token transfers. PARSIQ collects and maintains its own table of known tokens and can provide an out-of-box additional data, like name, symbol and decimals.
ERC-20 standard based tokens are supported in the current version.
​

Bitcoin Transfers

BitcoinTransfer Native Events are produced when BTC is moved. Once the block containing such transaction is mined or gets into the mempool, it becomes the BitcoinTransfer Native Event and ends up in the BitcoinTransfers NES.

External Data & Services

In order to solve actual problems and cover any possible bussiness use case, PARSIQ introduces the possibility of using various on-demand services and data delivered by 3rd party providers, that was already integrated to our Platform and can be used right away.
Your Smart-Triggers are deployed to our system and keep circulating the on-chain data. With this feature, it is possible to combine the on-chain data with off-chain one, like market data, risk scoring, forensics information etc...
Check External Data Providers for a comprehensive list of available data providers.

Actions

Action is any kind of activity that is performed after the Smart-Trigger has finished execution. For example, once the Smart-Trigger emits a resulting Event - it can be formatted into a readable message and sent to You in the Telegram, also causing an eye-catching push-notification.

Transports & Delivery Channels

User can maintain a list of Transports of different types (i.e. Webhooks, Websockets, Telegram, E-mail etc…). It is possible to create and configure a specific transport through Transport section.
Once the transport is set up, it can be used (and re-used) with any Smart-Trigger in any of your Projects. Each Smart-Trigger has a section called Delivery channels where Transports can be linked to it. When done, this link becomes a Delivery Channel and will be in response for delivering Smart-Trigger resulting events. Transport and Delivery Channel relation is simply called a Communication Channel.
For more information on configuring, check Delivery Channels page
An unconfigured Transport cannot be linked to the Smart-Trigger to form a Delivery Channel!

On-Chain Actions

On-Chain Actions are not supported in the current version.
Last modified 1mo ago