# Blade types

Each Caplin Platform blade is a self contained set of files. There are three types of blade:

## Config blade

This type of blade consists solely of configuration for the Platform’s core components ([Liberator](../liberator/index.md) and/or [Transformer](../transformer/index.md)).

## Adapter blade

This type of blade connects to, and supplies data to, a Liberator and/or Transformer. It consists of:

* An [Integration Adapter](../platform-architecture/putting-data-into-the-platform.md) (an executable binary file).
* Configuration for the Adapter (including its [DataSource configuration](../datasource/datasource-datasource-configuration.md))
* Configuration for the core components (Liberator and/orTransformer). This configuration enables the Adapter to exchange data with these core components.

Integration Adapters can be written in Java using the [Caplin Integration Suite](../cis-toolkit/index.md), or in C using the [C DataSource API,opts="nofollow"](https://docs.caplin.com/developer/api/datasource_c/6/).

## Service blade

This type of blade contains a module written in C, Java, or Lua that is to be loaded into one of the core components; for example, a permissioning auth (authorisation) module that is loaded into Liberator, or Transformer’s Refiner (filtering and sorting) service .

**📌 NOTE**\
Lua is a scripting language that’s used to write Transformer modules; for more about this, see How Can I... [Write a Lua Pipeline for Transformer](../transformer/transformer-write-a-lua-pipeline-for-transformer.md).

![Platform_blades_overview](../../../images/Platform_blades_overview.png)
