> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuro-tech.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Sign Contract

> Allows the client to sign a smart contract.
Note: Neurons are federated.

## Overview

Allows the client to sign a smart contract.

Note: Neurons are federated. You can sign contracts created on other neurons through this API on the neuron you have your account on. Federated means that the neurons interconnect to share authorized information, when requested, and permitted.

## Authentication

Requires a valid JWT bearer token.

## Notes

This endpoint uses the request schema notation described in [Pattern matching](/guides/pattern-matching).


## OpenAPI

````yaml /test-api/openapi.yaml post /Agent/Legal/SignContract
openapi: 3.1.0
info:
  title: Neuron Agent API
  version: 1.0.0
  description: |-
    The Agent API exposes core Neuron functionality over HTTP so services can
    operate without a persistent XMPP connection. Endpoints are grouped by
    capability, starting with Accounts and XMPP messaging.
servers:
  - url: https://{host}
    variables:
      host:
        default: neuron.example.com
        description: Neuron domain issued to you.
security:
  - bearerAuth: []
tags:
  - name: Accounts
  - name: Crypto
  - name: Open intelligence
  - name: Legal and contracts
  - name: State machines
  - name: Storage
  - name: Tokens
  - name: Wallet
  - name: XMPP messaging
paths:
  /Agent/Legal/SignContract:
    post:
      tags:
        - Legal and contracts
      summary: Sign Contract
      description: |-
        Allows the client to sign a smart contract.
        Note: Neurons are federated.
      operationId: post_Agent_Legal_SignContract
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                keyId:
                  type: string
                legalId:
                  type: string
                contractId:
                  type: string
                role:
                  type: string
                nonce:
                  type: string
                keySignature:
                  type: string
                requestSignature:
                  type: string
              additionalProperties: true
              required:
                - keyId
                - legalId
                - contractId
                - role
                - nonce
                - keySignature
                - requestSignature
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  Contract:
                    type: object
                    additionalProperties: true
                additionalProperties: true
                required:
                  - Contract
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````