# Classic Signing Requirements

<figure><img src="/files/pUy6aKh00Ng14QonSe3l" alt="" width="563"><figcaption></figcaption></figure>

This pipeline is responsible for analyzing a provided transaction to identify which signing thresholds need to be met for each account involved in the envelope according to a Stellar Classic transaction. The process will not analyze Soroban operations therefore it covers the following:

* Requirements to authorize the use of the envelope source account.
* Requirements for each classic operation contained in the envelope.

The output will bundle all the requirements in an array of `SignatureRequirement`.

For further details on Stellar signatures, refer to the [Signatures and Multisig official documentation](https://developers.stellar.org/docs/encyclopedia/signatures-multisig).

{% hint style="info" %}
Multisignature is currently not supported and should be added soon.
{% endhint %}

## Input

```typescript
type ClassicSignRequirementsPipelineInput = Transaction | FeeBumpTransaction
```

The Classic Signing Requirements pipeline accepts either a `Transaction` or `FeeBumpTransaction` object. When provided a Fee Bump object, it will only analyze the requirements of the outer envelope.

## **Output:**

```typescript
type ClassicSignRequirementsPipelineOutput = SignatureRequirement[]
```

The output directly returns an array of `SignatureRequirement` objects containing the necessary signatures to validate the transaction according to Stellar classic.

## SignatureRequirement

An object of type `SignatureRequirement` contains a public key and threshold level(low, medium or high) that indicates the required target threshold to authorize a transaction on behalf of that account.

```typescript
type SignatureRequirement = {
  publicKey: string
  thresholdLevel: SignatureThreshold
}

enum SignatureThreshold {
  low = 1,
  medium = 2,
  high = 3,
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cheesecakelabs.com/stellar-plus/reference/core/pipelines/classic-signing-requirements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
