diff --git a/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_comment_post.yml b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_comment_post.yml
new file mode 100644
index 0000000..4bad24c
--- /dev/null
+++ b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_comment_post.yml
@@ -0,0 +1,75 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.operation.userpoints_rules_earn_on_comment_post
+  enforced:
+      module:
+        - userpoints_rules_example
+id: userpoints_rules_earn_on_comment_post
+label: 'Earn points for posting a comment'
+events:
+  -
+    event_name: 'rules_entity_insert:comment'
+description: 'Grant some points to comment authors.'
+tags:
+  - userpoints
+  - example
+config_version: '3'
+expression:
+  id: rules_rule
+  uuid: 21b7d737-b901-4fed-810c-8d9308fa52a7
+  conditions:
+    id: rules_and
+    uuid: c4491c29-b503-4435-8f66-0ba018dcba78
+    conditions: {  }
+  actions:
+    id: rules_action_set
+    uuid: 78b8c06b-60ac-4c28-83ca-35f101804eb2
+    actions:
+      -
+        id: rules_action
+        uuid: a83fd5e0-8837-4b7e-b075-3a611ab2d797
+        context_values:
+          transaction_type_id: userpoints_default_points
+          operation_id: userpoints_rules_earn_on_comment_post
+          transaction_field_amount: '5'
+          transaction_field_balance: '0'
+          transaction_field_log_message: ''
+        context_mapping:
+          target_entity: comment.uid.entity
+        context_processors:
+          transaction_type_id:
+            rules_tokens: {  }
+          operation_id:
+            rules_tokens: {  }
+          transaction_field_amount:
+            rules_tokens: {  }
+          transaction_field_balance:
+            rules_tokens: {  }
+          transaction_field_log_message:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: 'transaction_create:userpoints'
+      -
+        id: rules_action
+        uuid: 5afc896f-b9eb-4674-899a-923cb6011b98
+        context_values: {  }
+        context_mapping:
+          data: transaction.field_userpoints_default_linkref
+          value: comment
+        context_processors: {  }
+        provides_mapping: {  }
+        action_id: rules_data_set
+      -
+        id: rules_action
+        uuid: 465d180f-a7f2-4530-96ec-feca7d855549
+        context_values:
+          immediate: ''
+        context_mapping:
+          transaction: transaction
+        context_processors:
+          immediate:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: transaction_execute
diff --git a/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_content_post.yml b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_content_post.yml
new file mode 100644
index 0000000..1e3fa24
--- /dev/null
+++ b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_content_post.yml
@@ -0,0 +1,87 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.operation.userpoints_rules_earn_on_content_post
+  enforced:
+      module:
+        - userpoints_rules_example
+id: userpoints_rules_earn_on_content_post
+label: 'Earn points for content added'
+events:
+  -
+    event_name: 'rules_entity_insert:node'
+description: 'Grant some points to content authors.'
+tags:
+  - userpoints
+  - example
+config_version: '3'
+expression:
+  id: rules_rule
+  uuid: ad278475-6384-4d55-b0d9-c1af73167f87
+  conditions:
+    id: rules_and
+    uuid: 61e52580-bbf0-4891-9f0e-d3264bf42a4d
+    conditions: {  }
+  actions:
+    id: rules_action_set
+    uuid: 51f53d43-d562-4d96-84d1-57159d1edd5e
+    actions:
+      -
+        id: rules_action
+        uuid: ac254a68-2ea6-4b5e-8675-cb2f519965c3
+        context_values:
+          type: user
+        context_mapping:
+          entity_id: node.uid.target_id
+        context_processors:
+          type:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: rules_entity_fetch_by_id
+      -
+        id: rules_action
+        uuid: 6cb00f19-fc81-4b56-a55d-602e9b8f4901
+        context_values:
+          transaction_type_id: userpoints_default_points
+          operation_id: userpoints_rules_earn_on_content_post
+          transaction_field_amount: '20'
+          transaction_field_balance: '0'
+          transaction_field_log_message: ''
+        context_mapping:
+          target_entity: entity_fetched
+        context_processors:
+          transaction_type_id:
+            rules_tokens: {  }
+          operation_id:
+            rules_tokens: {  }
+          transaction_field_amount:
+            rules_tokens: {  }
+          transaction_field_balance:
+            rules_tokens: {  }
+          transaction_field_log_message:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: 'transaction_create:userpoints'
+      -
+        id: rules_action
+        uuid: b78f69ef-d71d-44a5-bfdf-d2609ce1cb32
+        context_values: {  }
+        context_mapping:
+          data: transaction.field_userpoints_default_linkref
+          value: node
+        context_processors: {  }
+        provides_mapping: {  }
+        action_id: rules_data_set
+      -
+        id: rules_action
+        uuid: 77c62abd-f4fb-43e4-b2f6-916fedaaed6b
+        context_values:
+          immediate: ''
+        context_mapping:
+          transaction: transaction
+        context_processors:
+          immediate:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: transaction_execute
diff --git a/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_content_update.yml b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_content_update.yml
new file mode 100644
index 0000000..be8e078
--- /dev/null
+++ b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_content_update.yml
@@ -0,0 +1,75 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.operation.userpoints_rules_earn_on_content_update
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_content_update
+label: 'Earn points for updating content'
+events:
+  -
+    event_name: 'rules_entity_update:node'
+description: 'Grant some points to content editors.'
+tags:
+  - userpoints
+  - example
+config_version: '3'
+expression:
+  id: rules_rule
+  uuid: 814241d1-d49f-4234-b112-7b39b1c5dc68
+  conditions:
+    id: rules_and
+    uuid: e8d7bd44-e159-4296-9cbb-a6e919a366c5
+    conditions: {  }
+  actions:
+    id: rules_action_set
+    uuid: 81320145-99b9-45c6-87fd-36f44ac7236d
+    actions:
+      -
+        id: rules_action
+        uuid: d2fb7e58-f1cd-4af1-b27c-5763c7a43ea2
+        context_values:
+          transaction_type_id: userpoints_default_points
+          operation_id: userpoints_rules_earn_on_content_update
+          transaction_field_amount: '10'
+          transaction_field_balance: '0'
+          transaction_field_log_message: ''
+        context_mapping:
+          target_entity: '@user.current_user_context:current_user'
+        context_processors:
+          transaction_type_id:
+            rules_tokens: {  }
+          operation_id:
+            rules_tokens: {  }
+          transaction_field_amount:
+            rules_tokens: {  }
+          transaction_field_balance:
+            rules_tokens: {  }
+          transaction_field_log_message:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: 'transaction_create:userpoints'
+      -
+        id: rules_action
+        uuid: 0d0256a6-9f9f-4d88-8b76-0b4121756db8
+        context_values: {  }
+        context_mapping:
+          data: transaction.field_userpoints_default_linkref
+          value: node
+        context_processors: {  }
+        provides_mapping: {  }
+        action_id: rules_data_set
+      -
+        id: rules_action
+        uuid: c85a60bd-6441-4028-ad18-ad3f9547b87d
+        context_values:
+          immediate: ''
+        context_mapping:
+          transaction: transaction
+        context_processors:
+          immediate:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: transaction_execute
diff --git a/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_login.yml b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_login.yml
new file mode 100644
index 0000000..0e44699
--- /dev/null
+++ b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_login.yml
@@ -0,0 +1,65 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.operation.userpoints_rules_earn_on_login
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_login
+label: 'Earn points on user login'
+events:
+  -
+    event_name: rules_user_login
+description: 'Gives user points to returned users.'
+tags:
+  - userpoints
+  - example
+config_version: '3'
+expression:
+  id: rules_rule
+  uuid: 77be8949-bbdd-47c4-b5d6-c6a711dc17a8
+  conditions:
+    id: rules_and
+    uuid: ad6aa0cb-3934-4b1d-8234-0ff378af0537
+    conditions: {  }
+  actions:
+    id: rules_action_set
+    uuid: f9702de5-c9f0-44a2-a6c9-bbbb0fcb0370
+    actions:
+      -
+        id: rules_action
+        uuid: 2339e9b7-a38a-42cf-9a97-1f68e3319fd3
+        context_values:
+          transaction_type_id: userpoints_default_points
+          operation_id: userpoints_rules_earn_on_login
+          transaction_field_amount: '5'
+          transaction_field_balance: '0'
+          transaction_field_log_message: ''
+        context_mapping:
+          target_entity: account
+        context_processors:
+          transaction_type_id:
+            rules_tokens: {  }
+          operation_id:
+            rules_tokens: {  }
+          transaction_field_amount:
+            rules_tokens: {  }
+          transaction_field_balance:
+            rules_tokens: {  }
+          transaction_field_log_message:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: 'transaction_create:userpoints'
+      -
+        id: rules_action
+        uuid: 61b5e133-9350-44e6-b7c0-f079cf53c2d7
+        context_values:
+          immediate: ''
+        context_mapping:
+          transaction: transaction
+        context_processors:
+          immediate:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: transaction_execute
diff --git a/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_register.yml b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_register.yml
new file mode 100644
index 0000000..8e28a4f
--- /dev/null
+++ b/modules/rules_example/config/install/rules.reaction.userpoints_rules_earn_on_register.yml
@@ -0,0 +1,65 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.operation.userpoints_rules_earn_on_register
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_register
+label: 'Earn points on user register'
+events:
+  -
+    event_name: 'rules_entity_insert:user'
+description: 'Grants user points for the registration on the site.'
+tags:
+  - userpoints
+  - example
+config_version: '3'
+expression:
+  id: rules_rule
+  uuid: 8d831e38-651a-4894-9c85-8c89942b06a0
+  conditions:
+    id: rules_and
+    uuid: abf08419-71c7-4c96-b72c-e2b8e7c39f02
+    conditions: {  }
+  actions:
+    id: rules_action_set
+    uuid: a3ef103d-585b-4fe4-9cf5-56a01ad25e43
+    actions:
+      -
+        id: rules_action
+        uuid: 53917247-36ea-4a14-a2d5-f54795588289
+        context_values:
+          transaction_type_id: userpoints_default_points
+          operation_id: userpoints_rules_earn_on_register
+          transaction_field_amount: '10'
+          transaction_field_balance: '0'
+          transaction_field_log_message: ''
+        context_mapping:
+          target_entity: user
+        context_processors:
+          transaction_type_id:
+            rules_tokens: {  }
+          operation_id:
+            rules_tokens: {  }
+          transaction_field_amount:
+            rules_tokens: {  }
+          transaction_field_balance:
+            rules_tokens: {  }
+          transaction_field_log_message:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: 'transaction_create:userpoints'
+      -
+        id: rules_action
+        uuid: b22d62d7-a4bf-477b-a93f-a83ff46a197c
+        context_values:
+          immediate: ''
+        context_mapping:
+          transaction: transaction
+        context_processors:
+          immediate:
+            rules_tokens: {  }
+        provides_mapping: {  }
+        action_id: transaction_execute
diff --git a/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_comment_post.yml b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_comment_post.yml
new file mode 100644
index 0000000..629ae01
--- /dev/null
+++ b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_comment_post.yml
@@ -0,0 +1,14 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.type.userpoints_default_points
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_comment_post
+label: 'Earn points for posting a comment'
+transaction_type: userpoints_default_points
+description: 'New comment reward'
+details:
+  - 'Your comment: [transaction:field_userpoints_default_linkref] at [transaction:field_userpoints_default_linkref:entity:entity]'
diff --git a/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_content_post.yml b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_content_post.yml
new file mode 100644
index 0000000..6fd8958
--- /dev/null
+++ b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_content_post.yml
@@ -0,0 +1,14 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.type.userpoints_default_points
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_content_post
+label: 'Earn points for content added'
+transaction_type: userpoints_default_points
+description: 'New content reward'
+details:
+  - 'For your post: [transaction:field_userpoints_default_linkref]'
diff --git a/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_content_update.yml b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_content_update.yml
new file mode 100644
index 0000000..887e16a
--- /dev/null
+++ b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_content_update.yml
@@ -0,0 +1,14 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.type.userpoints_default_points
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_content_update
+label: 'Earn points for updating content'
+transaction_type: userpoints_default_points
+description: 'Content updating reward'
+details:
+  - 'Updates on: [transaction:field_userpoints_default_linkref]'
diff --git a/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_login.yml b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_login.yml
new file mode 100644
index 0000000..9210a86
--- /dev/null
+++ b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_login.yml
@@ -0,0 +1,13 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.type.userpoints_default_points
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_login
+label: 'Earn points on user login'
+transaction_type: userpoints_default_points
+description: 'Login reward'
+details: {  }
diff --git a/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_register.yml b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_register.yml
new file mode 100644
index 0000000..6f515e0
--- /dev/null
+++ b/modules/rules_example/config/install/transaction.operation.userpoints_rules_earn_on_register.yml
@@ -0,0 +1,13 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - transaction.type.userpoints_default_points
+  enforced:
+    module:
+      - userpoints_rules_example
+id: userpoints_rules_earn_on_register
+label: 'Earn points on user register'
+transaction_type: userpoints_default_points
+description: 'Sign-up reward'
+details: {  }
diff --git a/modules/rules_example/userpoints_rules_example.info.yml b/modules/rules_example/userpoints_rules_example.info.yml
new file mode 100644
index 0000000..ba3f5cf
--- /dev/null
+++ b/modules/rules_example/userpoints_rules_example.info.yml
@@ -0,0 +1,11 @@
+name: 'User points rules example'
+type: module
+description: 'Basic userpoints rules examples. Earn / loss points on user login, register, add / edit contents and posting comments.'
+package: User Points
+core: 8.x
+dependencies:
+ - userpoints:userpoints_default
+ - rules:rules
+ - drupal:comment
+ - drupal:node
+ - token:token
