# Transaction Signing

## Transaction Signing API Specifications

This document outlines the technical specifications for the **Singpass Transaction Signing API**, designed to enable secure and seamless transaction signing for applications integrating with Singpass. It details the API endpoints, authentication mechanisms, request/response structures, and security protocols to ensure integrity, confidentiality, and user trust.

This specification serves as a guide for developers and system integrators to facilitate smooth implementation and interoperability.

## Flow Diagram

Refer to this diagram for an overview of the transaction signing flow and the interactions between RP, Singpass and other dependencies.

<figure><img src="/files/vEIdH6PDyK39jv0JpvV1" alt=""><figcaption></figcaption></figure>

RPs are expected to implement the following steps referenced from the flow diagram above:

<table><thead><tr><th width="105">Step(s)</th><th width="140">Component</th><th>Summary</th><th width="247">Specifications</th></tr></thead><tbody><tr><td>1</td><td>Frontend</td><td>Retrieve Singpass transaction signing javascript (Singpass JS)</td><td><a href="/pages/O7Z7oyKMnxlOvWGkBNGi">Embedding Singpass JS</a></td></tr><tr><td>2</td><td>Frontend</td><td>Initialise a transaction signing session via Singpass JS</td><td><a href="/pages/TbzsUsZlGu1vdK5FB2rm">Init Transaction Signing</a></td></tr><tr><td>6</td><td>Backend</td><td>After receiving the sign code, invoke Singpass API to exchange it for the user-signed transaction hash</td><td><a href="/pages/d5LVIk1uuB0sFDnsCYTh">Exchange Transaction Signature</a></td></tr></tbody></table>


---

# 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.sign.singpass.gov.sg/for-relying-parties/api-documentation/transaction-signing.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.
