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

# GetSigningRequestList

> List the signing requests of a vault, in any status, with pagination.

Returns the signing requests of a vault: pending, succeeded and failed, whether they were created through the API, in the MPCVault app or by a connected dApp. There is no status filter. Results are newest first by default.

Paginate with `page` (starting at 1) and `limit` (1 to 100, default 10). Set `sortOrder` to `SORT_ORDER_ASC` for oldest first. The call fails with HTTP 400 (`InvalidArgument`, message `Invalid uuid`) when the vault does not exist or the API token cannot access it.

Each element of `signingRequests` is a [SigningRequest object](/api-reference/signing-request): the common fields and at most one payload field, with their encodings. [Data types and encodings](/api-reference/data-types) lists the conventions that apply to all fields.

<Note>
  Every request in the response carries its full payload and simulation. A page of very large requests, for example 100 requests with about 128 KiB of calldata each (about 13 MB), exceeds the 10 MiB limit on the protobuf message that the REST gateway accepts from the gRPC server, and most gRPC clients accept 4 MiB by default. The call then fails with `RESOURCE_EXHAUSTED` (HTTP 429): request a smaller `limit`. A single request with very large calldata or simulation can exceed these limits on its own.
</Note>


## OpenAPI

````yaml openapi.json POST /v1/getSigningRequestList
openapi: 3.1.0
info:
  title: mpcvault.platform.v1
  version: 0.0.1
servers:
  - url: https://api.mpcvault.com
    description: MPCVault API Server
security:
  - ApiKeyAuth: []
tags:
  - name: mpcvault.platform.v1.PlatformAPI
  - name: mpcvault.sweep.v1.SweepAPI
    description: >-
      Deposit address creation and TRON watch address registration for the Sweep
      product.
paths:
  /v1/getSigningRequestList:
    post:
      tags:
        - mpcvault.platform.v1.PlatformAPI
      summary: GetSigningRequestList
      description: |-
        GetSigningRequestList returns the signing requests details.
         It will contain the signing request status and the transaction hash if the signing request was completed.
         Each signing request carries the same payload as GetSigningRequestDetails.
      operationId: mpcvault.platform.v1.PlatformAPI.GetSigningRequestList
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/mpcvault.platform.v1.GetSigningRequestListRequest
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/mpcvault.platform.v1.GetSigningRequestListResponse
              example:
                signingRequests:
                  - uuid: b7d1c6e2-3f0a-4c52-9a41-5e8f2d6b1a07
                    status: STATUS_PENDING
                    failedReason: ''
                    txHash: ''
                    creationTimestamp: '1759400600000'
                    evmSendCustom:
                      chainId: '1'
                      from: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
                      to: '0xdAC17F958D2ee523a2206206994597C13D831ec7'
                      value: '0'
                      input: >-
                        qQWcuwAAAAAAAAAAAAAAAFqutgU/PpTJuaCfM2aUNefvG+rtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYloA=
                      gasFee:
                        maxFee: null
                        maxPriorityFee: null
                        gasLimit: '65000'
                      nonce: '42'
                    notes: Pay vendor invoice in USDT
                    vaultUuid: 9f5ee5fb-07f5-470c-a2ff-081e2d6d107a
                    callbackClientSignerPublicKey: null
                    simulation: >-
                      eyJ0cmFuc2FjdGlvbiI6eyJzdGF0dXMiOnRydWUsImdhc191c2VkIjo0NjEyM319
                    evmInputDataDecode:
                      function: transfer(address,uint256)
                      args:
                        - name: to
                          type: address
                          data: '0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed'
                        - name: value
                          type: uint256
                          data: '10000000'
                    signatures: null
                    source:
                      type: TYPE_WALLET_CONNECT
                      website: app.uniswap.org
                  - uuid: 3c0d9f5e-6a21-4e7b-8d1c-0f4a7b2e9c55
                    status: STATUS_SUCCEEDED
                    failedReason: ''
                    txHash: >-
                      0x8f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8
                    creationTimestamp: '1759400120000'
                    evmSendErc20:
                      chainId: '1'
                      from: '0x71c7656ec7ab88b098defb751b7401b5f6d8976f'
                      to: '0x71c7656ec7ab88b098defb751b7401b5f6d8976f'
                      tokenContractAddress: '0xdac17f958d2ee523a2206206994597c13d831ec7'
                      amount: '250000000'
                      gasFee: null
                      nonce: null
                    notes: Payroll
                    vaultUuid: 9f5ee5fb-07f5-470c-a2ff-081e2d6d107a
                    callbackClientSignerPublicKey: null
                    simulation: ''
                    evmInputDataDecode: null
                    signatures: null
                    source: null
                error: null
components:
  schemas:
    mpcvault.platform.v1.GetSigningRequestListRequest:
      type: object
      properties:
        vaultUuid:
          type: string
          title: vault_uuid
          description: >-
            UUID of the vault whose signing requests are listed. The API token
            must have access to it.
          format: uuid
          example: 9f5ee5fb-07f5-470c-a2ff-081e2d6d107a
        page:
          description: Page number, starting at 1.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: 1
          default: 1
          minimum: 1
        limit:
          description: Number of signing requests per page.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: 10
          default: 10
          maximum: 100
          minimum: 1
        sortOrder:
          $ref: >-
            #/components/schemas/mpcvault.platform.v1.GetSigningRequestListRequest.SortOrder
          description: >-
            Order by creation time: `SORT_ORDER_DESC` is newest first,
            `SORT_ORDER_ASC` is oldest first.
          default: SORT_ORDER_DESC
      additionalProperties: false
      required:
        - vaultUuid
    mpcvault.platform.v1.GetSigningRequestListResponse:
      type: object
      properties:
        signingRequests:
          type: array
          items:
            $ref: '#/components/schemas/mpcvault.platform.v1.SigningRequest'
          title: signing_requests
        error:
          $ref: '#/components/schemas/mpcvault.platform.v1.Error'
      additionalProperties: false
    mpcvault.platform.v1.GetSigningRequestListRequest.SortOrder:
      type: string
      title: SortOrder
      enum:
        - SORT_ORDER_DESC
        - SORT_ORDER_ASC
    mpcvault.platform.v1.SigningRequest:
      type:
        - object
        - 'null'
      additionalProperties: false
      properties:
        uuid:
          type: string
          title: uuid
          description: >-
            Unique identifier of the signing request. Lowercase hyphenated UUID
            string (8-4-4-4-12 hex digits).
          format: uuid
          example: bb6f129f-bbe3-4d95-9f33-c32812e3e1c4
        status:
          $ref: '#/components/schemas/mpcvault.platform.v1.SigningRequest.Status'
          description: >-
            Status of the request. Enum name: `STATUS_PENDING`,
            `STATUS_SUCCEEDED` or `STATUS_FAILED`. `STATUS_SUCCEEDED` means the
            request completed: a transaction or message request was signed, and
            a vault creation or settings request reached its approval quorum. It
            does not mean that anything was broadcast or confirmed on-chain.
        failedReason:
          type: string
          title: failed_reason
          description: >-
            Why the request failed, as free-form English text (for example
            `Denied the request`); unvalidated and not localized. Set only when
            `status` is `STATUS_FAILED`; empty string otherwise, including for
            errors recorded while `status` is `STATUS_PENDING`.
          example: failed reason
        txHash:
          type: string
          title: tx_hash
          description: >-
            Hash of the first signed transaction; empty until signed and for
            messages, raw messages, wallet creation and governance requests.
            EVM: `0x` + 64 lowercase hex; Aptos: same, but all zeros for
            fee-payer and multi-agent transactions; BTC and Stellar: 64
            lowercase hex, no `0x`; TRON: 64 hex, no `0x`; TON: 64 lowercase hex
            hash of the signed external message (not the on-chain hash); Sui:
            base58 digest; Solana: base58 first signature.
          example: 3Eq21vXNB5s86c62bVuUfTerseghjkuUqRPBmGRJhyTA
        creationTimestamp:
          type:
            - integer
            - string
          title: creation_timestamp
          format: int64
          description: >-
            Time the request was created, as Unix epoch milliseconds (UTC), not
            seconds. Returned as a decimal string, for example
            `"1759400060000"`.
          example: '1744274467154'
        notes:
          description: >-
            Free-text note on the request. UTF-8, returned unchanged. Returned
            only for send, custom-transaction, raw-message and dApp transaction
            requests (for a dApp transaction, the note the signer added in the
            app), and `null` when empty or for any other kind (a `notes` value
            supplied when creating a message-signing request is ignored).
          type:
            - string
            - 'null'
        vaultUuid:
          description: >-
            UUID of the vault the request was created in. Hyphenated UUID
            string. `null` when the request has no vault.
          type:
            - string
            - 'null'
          format: uuid
          example: 9f5ee5fb-07f5-470c-a2ff-081e2d6d107a
        callbackClientSignerPublicKey:
          description: >-
            Public key of the API client signer that receives the callback.
            OpenSSH `authorized_keys` text of an `ssh-ed25519` key, exactly as
            the API caller sent it (comment and whitespace included). `null` for
            requests without a callback key, including app-created and dApp
            requests.
          type:
            - string
            - 'null'
          example: >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAIDmdWUo3e3/xUd0kbXCz4omzhqcYaPPYNTZ6ndqZdBAo
            test
        simulation:
          type: string
          title: simulation
          format: byte
          description: >-
            Simulation result of the transaction, provided for reference only:
            run your own simulation before you rely on it. `bytes`: base64
            (standard, padded) in JSON. The decoded bytes are UTF-8 JSON text in
            a network-specific form (the provider's response, an MPCVault
            summary of it, or a synthetic result) that MPCVault does not define
            or version; see
            [Simulation](/api-reference/signing-request#simulation). Set only
            for custom transactions (EVM, Aptos, Sui, Solana, TON) and dApp
            transactions that are returned with a payload (EVM, Solana, Sui,
            Aptos, TON, Stellar); `""` otherwise.
        evmInputDataDecode:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMInputDataDecode'
          description: >-
            Best-effort decode of the call's `input`, computed by MPCVault from
            the target contract's explorer-verified ABI by 4-byte selector, not
            supplied by the dApp or caller and not re-checked against `input`.
            `null` when unavailable (non-EVM, unverified contract, no calldata,
            or a dApp request whose decode has not finished).
        signatures:
          $ref: '#/components/schemas/mpcvault.platform.v1.SignatureContainer'
          description: >-
            Signatures in signing order, once signed; `null` when none exist
            (for example unsigned, failed or denied requests). ECDSA networks
            (EVM, TRON, Bitcoin) return `ecdsaSignature` with base-10 `R`, `S`,
            `V`; EdDSA networks (Aptos, Sui, Solana, TON, Stellar) return
            `eddsaSignature`, base64 of the raw 64-byte signature.
        source:
          $ref: '#/components/schemas/mpcvault.platform.v1.RequestSource'
          description: >-
            Where an inbound dApp request came from. Set only for WalletConnect,
            plugin and MMI requests; `null` for requests created through the API
            or the MPCVault app and for governance requests.
        aptosMessage:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosMessage'
          description: Message to sign on Aptos.
        aptosSendCoin:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosSendCoin'
          description: Transfer of an Aptos coin.
        aptosSendCustom:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosSendCustom'
          description: >-
            Custom Aptos transaction, as entry-function JSON or BCS bytes,
            including a transaction that a dApp asks to submit.
        aptosSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosSendNative'
          description: Transfer of the native APT coin.
        btcSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.BTCSendNative'
          description: Transfer of native BTC.
        createWallet:
          $ref: '#/components/schemas/mpcvault.platform.v1.CreateWalletRequest'
          description: Wallet creation request (response-only).
        evmMessage:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMMessage'
          description: Message or typed data to sign on EVM networks.
        evmSendCustom:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMSendCustom'
          description: >-
            Custom EVM transaction (contract call), including transactions from
            dApps.
        evmSendErc20:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMSendERC20'
          description: Transfer of an ERC-20 token.
        evmSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMSendNative'
          description: Transfer of the native coin of an EVM network.
        rawMessage:
          $ref: '#/components/schemas/mpcvault.platform.v1.RawMessage'
          description: Raw bytes signed with a wallet key.
        solanaMessage:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaMessage'
          description: Message to sign on Solana.
        solanaSendCustom:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaSendCustom'
          description: Custom Solana transactions, including transactions from a dApp.
        solanaSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaSendNative'
          description: Transfer of native SOL.
        solanaSendSplToken:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaSendSPLToken'
          description: Transfer of an SPL token.
        sonicSvmSendCustom:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaSendCustom'
          description: Custom Sonic SVM transactions, including transactions from a dApp.
        sonicSvmSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaSendNative'
          description: Transfer of the native coin of Sonic SVM.
        sonicSvmSendSplToken:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaSendSPLToken'
          description: Transfer of an SPL token on Sonic SVM.
        stellarChangeTrust:
          $ref: '#/components/schemas/mpcvault.platform.v1.StellarChangeTrust'
          description: Adds a trustline to a Stellar asset so that the account can hold it.
        swapApproval:
          $ref: '#/components/schemas/mpcvault.platform.v1.SwapApproval'
          description: >-
            Token approval that precedes a swap ("Swap transaction - approval"
            in the MPCVault app). The body has no fields yet: use the MPCVault
            app to view the details.
        swapSend:
          $ref: '#/components/schemas/mpcvault.platform.v1.SwapSend'
          description: >-
            Swap transaction ("Swap transaction" in the MPCVault app). The body
            has no fields yet: use the MPCVault app to view the details.
        batchPaymentApproval:
          $ref: '#/components/schemas/mpcvault.platform.v1.BatchPaymentApproval'
          description: >-
            Token approval that precedes a batch payment ("Batch transaction -
            approval" in the MPCVault app). The body has no fields yet: use the
            MPCVault app to view the details.
        batchPaymentSend:
          $ref: '#/components/schemas/mpcvault.platform.v1.BatchPaymentSend'
          description: >-
            Batch payment transaction ("Batch transaction - send" in the
            MPCVault app). The body has no fields yet: use the MPCVault app to
            view the details.
        fiatPayment:
          $ref: '#/components/schemas/mpcvault.platform.v1.FiatPayment'
          description: >-
            Token transfer that pays a fiat order ("Fiat payment" in the
            MPCVault app). The body has no fields yet: use the MPCVault app to
            view the details.
        aptosRegisterCoin:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosRegisterCoin'
          description: >-
            Registers a coin on an Aptos account so that the account can receive
            it ("Add coin" in the MPCVault app). The body has no fields yet: use
            the MPCVault app to view the details.
        aptosOpenToken:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosOpenToken'
          description: >-
            Lets an Aptos account receive NFTs sent to it directly ("Enable NFT
            receive" in the MPCVault app). The body has no fields yet: use the
            MPCVault app to view the details.
        vaultCreation:
          $ref: '#/components/schemas/mpcvault.platform.v1.VaultCreation'
          description: >-
            Approval of a new vault ("Create vault" in the MPCVault app). The
            body has no fields yet: use the MPCVault app to view the details.
        vaultSettingUpdate:
          $ref: '#/components/schemas/mpcvault.platform.v1.VaultSettingUpdate'
          description: >-
            Approval of a change to the settings of a vault ("Vault setting
            update" in the MPCVault app). The body has no fields yet: use the
            MPCVault app to view the details.
        rootKeyGeneration:
          $ref: '#/components/schemas/mpcvault.platform.v1.RootKeyGeneration'
          description: >-
            Generation of an MPC root key, ECDSA or EdDSA ("Generate MPC root
            key" in the MPCVault app). The body has no fields yet: use the
            MPCVault app to view the details.
        rootKeyBackup:
          $ref: '#/components/schemas/mpcvault.platform.v1.RootKeyBackup'
          description: >-
            Backup of the root keys of the organization ("Org root key backup"
            in the MPCVault app). The body has no fields yet: use the MPCVault
            app to view the details.
        keyAccessGrant:
          $ref: '#/components/schemas/mpcvault.platform.v1.KeyAccessGrant'
          description: >-
            Grants a member or an API client signer access to a key ("Grant key
            access" in the MPCVault app). The body has no fields yet: use the
            MPCVault app to view the details.
        stellarSendAsset:
          $ref: '#/components/schemas/mpcvault.platform.v1.StellarSendAsset'
          description: Transfer of a Stellar asset.
        stellarSendCustom:
          $ref: '#/components/schemas/mpcvault.platform.v1.StellarSendCustom'
          description: >-
            Custom Stellar transaction, as a base64 XDR transaction envelope,
            including a transaction from a dApp.
        stellarSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.StellarSendNative'
          description: Transfer of native XLM.
        suiMessage:
          $ref: '#/components/schemas/mpcvault.platform.v1.SuiMessage'
          description: Message to sign on Sui.
        suiSendCoin:
          $ref: '#/components/schemas/mpcvault.platform.v1.SuiSendCoin'
          description: Transfer of a Sui coin.
        suiSendCustom:
          $ref: '#/components/schemas/mpcvault.platform.v1.SuiSendCustom'
          description: >-
            Custom Sui transaction, as JSON or BCS bytes, including a
            transaction from a dApp.
        suiSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.SuiSendNative'
          description: Transfer of native SUI.
        tonMessage:
          $ref: '#/components/schemas/mpcvault.platform.v1.TonMessage'
          description: ton-proof message to sign on TON.
        tonSendCustom:
          $ref: '#/components/schemas/mpcvault.platform.v1.TonSendCustom'
          description: >-
            Custom TON transaction, as ton-connect JSON, including a transaction
            from a dApp.
        tonSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.TonSendNative'
          description: Transfer of native TON.
        tonSendToken:
          $ref: '#/components/schemas/mpcvault.platform.v1.TonSendToken'
          description: Transfer of a jetton.
        tronSendNative:
          $ref: '#/components/schemas/mpcvault.platform.v1.TronSendNative'
          description: Transfer of native TRX.
        tronSendTrc10:
          $ref: '#/components/schemas/mpcvault.platform.v1.TronSendTRC10'
          description: Transfer of a TRC-10 token.
        tronSendTrc20:
          $ref: '#/components/schemas/mpcvault.platform.v1.TronSendTRC20'
          description: Transfer of a TRC-20 token.
      required:
        - uuid
        - status
        - txHash
        - vaultUuid
    mpcvault.platform.v1.Error:
      type:
        - object
        - 'null'
      additionalProperties: false
      properties:
        message:
          type: string
          title: message
        executeSigningRequestsErrorCode:
          $ref: >-
            #/components/schemas/mpcvault.platform.v1.ExecuteSigningRequestsErrorCode
        serviceErrorCode:
          $ref: '#/components/schemas/mpcvault.platform.v1.ServiceErrorCode'
      description: Exactly one of the two error code fields is set.
    mpcvault.platform.v1.SigningRequest.Status:
      type: string
      title: Status
      enum:
        - STATUS_UNSPECIFIED
        - STATUS_PENDING
        - STATUS_SUCCEEDED
        - STATUS_FAILED
    mpcvault.platform.v1.EVMInputDataDecode:
      type:
        - object
        - 'null'
      properties:
        function:
          type: string
          title: function
          description: >-
            Method that was decoded, as its full canonical Solidity signature,
            for example `transfer(address,uint256)` (no spaces or parameter
            names), not just the function name.
          example: function_name(arg1_type arg1_value, arg2_type arg2_value, ...)
        args:
          type: array
          items:
            $ref: >-
              #/components/schemas/mpcvault.platform.v1.EVMInputDataDecode.Argument
          title: args
          description: >-
            Decoded call arguments. A scalar parameter is one entry. A tuple
            parameter is flattened to one entry per member, named
            `parameter.field`; an array of tuples is flattened to one entry per
            element and member, named `index parameter.field` (for example `0
            orders.amount`) when the array has more than one element; a nested
            tuple can remain a single `tuple` entry. The number of entries can
            therefore differ from the number of ABI parameters. Empty array for
            a method without parameters.
      additionalProperties: false
      required:
        - function
        - args
    mpcvault.platform.v1.SignatureContainer:
      type:
        - object
        - 'null'
      properties:
        signatures:
          type: array
          items:
            $ref: >-
              #/components/schemas/mpcvault.platform.v1.SignatureContainer.SignResponse
          title: signatures
          description: >-
            Signatures in signing order, one per signed item (Bitcoin: one per
            input; Solana multi-transaction requests: one per transaction). Each
            entry holds either `ecdsaSignature` or `eddsaSignature`.
      additionalProperties: false
    mpcvault.platform.v1.RequestSource:
      type:
        - object
        - 'null'
      description: >-
        RequestSource describes where an inbound request came from. It is set
        only for requests that arrived from a dApp.
         It identifies the intake channel; it does not authenticate the dApp or the person behind the request.
      properties:
        type:
          $ref: '#/components/schemas/mpcvault.platform.v1.RequestSource.Type'
          description: >-
            Intake channel through which the request arrived. Enum name:
            `TYPE_WALLET_CONNECT`, `TYPE_PLUGIN` or `TYPE_MMI`. Assigned by
            MPCVault from how the request was received, so the dApp cannot
            choose it; it identifies the channel only, not which dApp or person
            is behind the request, so do not use it to approve a request on its
            own.
        website:
          description: >-
            Website the dApp claimed for itself; unverified, treat it as
            untrusted input. UTF-8 text passed through as the dApp, plugin or
            custodian reported it, not validated or normalized, so it may or may
            not include a scheme such as `https://`. `null` when none was
            reported.
          type:
            - string
            - 'null'
          example: app.uniswap.org
      additionalProperties: false
    mpcvault.platform.v1.AptosMessage:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Signer wallet address in the vault. Aptos address; API requests
            return it as supplied, plugin requests return the wallet's address
            (`0x` plus 64 lowercase hex digits).
        type:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosMessage.Type'
          description: Kind of message. Enum name; always `TYPE_DEFAULT` in responses.
        content:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosMessage.Message'
          description: >-
            Message to sign, with its `message` text and `nonce` and the
            optional `address`, `application` and `chainId` it carries. Required
            on create.
      additionalProperties: false
      required:
        - type
        - from
        - content
    mpcvault.platform.v1.AptosSendCoin:
      type:
        - object
        - 'null'
      properties:
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Chain ID of the network: `1` for Aptos mainnet, `126` for Movement
            mainnet. Returned as a decimal string. Required on create: it
            selects the network, and an ID that matches no network is rejected
            (an omitted value reads as `0`).
          example: '1'
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Aptos address: `0x` plus 62 to
            64 hex digits, or 64 hex digits without `0x`, in any letter case;
            returned exactly as supplied when the request was created (not
            padded or lowercased).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Aptos address: `0x` plus 62 to 64 hex digits, or
            64 hex digits without `0x`, in any letter case; returned exactly as
            supplied when the request was created (not padded or lowercased).
        coinTag:
          type: string
          title: coin_tag
          description: >-
            Type tag of the coin to send, `ADDRESS::module::Struct`, returned
            exactly as supplied (not normalized to the canonical padded form).
            On create the native coin (`0x1::aptos_coin::AptosCoin`) is
            rejected: use `aptosSendNative`. The coin must resolve to a known
            token, and the recipient must have registered it.
          example: tx_hash:0a1b2c3d...789e, output_index:0
        amount:
          type: string
          title: amount
          description: >-
            Amount of coins to send. Decimal string in the coin's smallest unit
            (amount x 10^decimals, using the decimals of the coin). On create: a
            non-negative integer string, digits only (`0` is accepted; no sign,
            decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosGas'
          description: >-
            Custom gas settings (gas units and octa per gas unit, see
            `AptosGas`). `null` when no custom fee was set.
      additionalProperties: false
      required:
        - chainId
        - from
        - to
        - coinTag
        - amount
    mpcvault.platform.v1.AptosSendCustom:
      type:
        - object
        - 'null'
      properties:
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Chain ID of the network: `1` for Aptos mainnet, `126` for Movement
            mainnet. Returned as a decimal string. Required on create: it
            selects the network, and an ID that matches no network is rejected
            (an omitted value reads as `0`).
          example: '1'
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Aptos address: `0x` plus 62 to
            64 hex digits, or 64 hex digits without `0x`, in any letter case;
            returned exactly as supplied when the request was created (not
            padded or lowercased).
        payload:
          type: string
          title: payload
          format: byte
          description: >-
            Transaction to sign. Bytes, base64 (standard, padded) in JSON. A
            JSON entry-function payload is returned as UTF-8 text re-indented
            with two spaces (equal in meaning, not byte-identical to what was
            submitted); a BCS-serialized transaction payload
            (`TransactionPayload`, not a raw transaction) is returned
            byte-identical. On create a JSON payload must carry a non-empty
            `function`, and a `function` spelled
            `0x1::account::rotate_authentication_key` (compared
            case-insensitively, as written) is rejected.
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosGas'
          description: >-
            Custom gas settings (gas units and octa per gas unit, see
            `AptosGas`). For a request created through the API or in the
            MPCVault app, `null` when no custom fee was set. For a dApp
            transaction, `maxGasAmount` falls back to the gas limit stored with
            the request when the signer set none, so the object can be present
            without a custom fee, and `gasUnitPrice` is only the price the
            signer set.
      additionalProperties: false
      required:
        - chainId
        - from
        - payload
    mpcvault.platform.v1.AptosSendNative:
      type:
        - object
        - 'null'
      properties:
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Chain ID of the network: `1` for Aptos mainnet, `126` for Movement
            mainnet. Returned as a decimal string. Required on create: it
            selects the network, and an ID that matches no network is rejected
            (an omitted value reads as `0`).
          example: '1'
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Aptos address: `0x` plus 62 to
            64 hex digits, or 64 hex digits without `0x`, in any letter case;
            returned exactly as supplied when the request was created (not
            padded or lowercased).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Aptos address: `0x` plus 62 to 64 hex digits, or
            64 hex digits without `0x`, in any letter case; returned exactly as
            supplied when the request was created (not padded or lowercased).
        value:
          type: string
          title: value
          description: >-
            Amount of APT to send. Decimal string in octa (10^-8 APT). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.AptosGas'
          description: >-
            Custom gas settings (gas units and octa per gas unit, see
            `AptosGas`). `null` when no custom fee was set.
      additionalProperties: false
      required:
        - chainId
        - from
        - to
        - value
    mpcvault.platform.v1.BTCSendNative:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Bitcoin mainnet address
            (base58check `1...` or `3...`, or bech32 `bc1...`), returned exactly
            as supplied when the request was created (not normalized).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Bitcoin mainnet address (base58check `1...` or
            `3...`, or bech32 `bc1...`), returned exactly as supplied when the
            request was created (not normalized).
        amount:
          type: string
          title: amount
          description: >-
            Amount of BTC to send. Decimal string in satoshi (10^-8 BTC). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          example: '1000000000000000'
          pattern: ^[0-9]+$
        networkFee:
          type:
            - integer
            - string
          title: network_fee
          format: int64
          description: >-
            Fee rate the sender is willing to pay, as an integer number of
            satoshi per virtual byte (sat/vB). Returned as a decimal string;
            `"0"` when no rate was set. On create, omit it or send `0` to use
            MPCVault's default fee rate.
          example: '1'
      additionalProperties: false
      required:
        - from
        - to
        - amount
    mpcvault.platform.v1.CreateWalletRequest:
      type:
        - object
        - 'null'
      properties:
        vaultUuid:
          type: string
          title: vault_uuid
          description: >-
            UUID of the vault the wallet is created in (shown on the vault's
            settings page in the web app). Hyphenated UUID string.
          format: uuid
        callbackClientSignerPublicKey:
          type: string
          title: callback_client_signer_public_key
          description: >-
            Public key of the API client signer that receives the callback.
            OpenSSH `authorized_keys` text of an `ssh-ed25519` key, returned
            exactly as sent. Plain string: `""` (not `null`) when the request
            has no callback key. Required when creating a wallet. It must be the
            public key of the API client signer configured for the vault
            `vaultUuid` (any other key is rejected), and the caller's IP address
            must be in that signer's IP whitelist.
          example: >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAIDmdWUo3e3/xUd0kbXCz4omzhqcYaPPYNTZ6ndqZdBAo
            test
        networkType:
          $ref: '#/components/schemas/mpcvault.platform.v1.NetworkType'
          description: >-
            Network family of the wallet. Enum name: `NETWORK_TYPE_EVM`,
            `NETWORK_TYPE_BITCOIN`, `NETWORK_TYPE_TRON`, `NETWORK_TYPE_APTOS`,
            `NETWORK_TYPE_SUI`, `NETWORK_TYPE_SOLANA`, `NETWORK_TYPE_TON` or
            `NETWORK_TYPE_STELLAR`; `NETWORK_TYPE_UNKNOWN` for an unmapped
            network. On create `NETWORK_TYPE_UNKNOWN` is rejected.
        ref:
          type: string
          title: ref
          description: >-
            Customer reference for the wallet, unique per organization when not
            empty. UTF-8, at most 500 Unicode code points; empty string when
            none.
          example: '0x4321567890abcdef4321567890abcdef123456'
          maxLength: 500
        name:
          type: string
          title: name
          description: Name of the wallet. UTF-8, at most 85 Unicode code points.
          example: test wallet
          maxLength: 85
      additionalProperties: false
      required:
        - vaultUuid
        - networkType
        - callbackClientSignerPublicKey
    mpcvault.platform.v1.EVMMessage:
      type:
        - object
        - 'null'
      properties:
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Chain ID of the EVM network, for example `1` or `137`. Returned as a
            decimal string. Required on create: it selects the network, and an
            ID that matches no network is rejected (an omitted value reads as
            `0`).
          example: '137'
        from:
          type: string
          title: from
          description: >-
            Signer wallet address in the vault. `0x`-prefixed EVM address,
            returned exactly as supplied by whoever created the request (API
            caller, dApp or custodian); never checksummed.
        type:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMMessage.Type'
          description: >-
            Kind of EVM message. Enum name: `TYPE_PERSONAL_SIGN`
            (`personal_sign`, EIP-191) or `TYPE_SIGN_TYPED_DATA` (EIP-712). On
            create `TYPE_UNSPECIFIED` is rejected.
        content:
          type: string
          title: content
          format: byte
          description: >-
            Message to sign. Bytes, base64 (standard, padded) in JSON.
            `TYPE_PERSONAL_SIGN`: the raw message bytes, before the EIP-191
            prefix is applied. `TYPE_SIGN_TYPED_DATA`: the UTF-8 text of the
            EIP-712 typed-data JSON, exactly as supplied. Required on create
            (empty is rejected). For `TYPE_SIGN_TYPED_DATA` the text must parse
            as EIP-712 typed-data JSON, otherwise the request is rejected.
      additionalProperties: false
      required:
        - type
        - chainId
        - from
        - content
    mpcvault.platform.v1.EVMSendCustom:
      type:
        - object
        - 'null'
      properties:
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Chain ID of the EVM network, for example `1` or `137`. Returned as a
            decimal string. Required on create: it selects the network, and an
            ID that matches no supported system network and no custom network of
            the vault that owns the `from` wallet is rejected (an omitted value
            reads as `0`).
          example: '1'
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. `0x`-prefixed 40-hex-digit
            address. API and app requests return it exactly as supplied when the
            request was created (not normalized); dApp requests return it EIP-55
            checksummed.
        to:
          type: string
          title: to
          description: >-
            Recipient or contract address; empty string for contract creation.
            40 hex digits with an optional `0x` prefix. API and app requests
            return it exactly as supplied when the request was created (not
            normalized); dApp requests return it EIP-55 checksummed.
        value:
          type: string
          title: value
          description: >-
            Amount of the native coin to send with the call. Decimal string in
            wei; `"0"` when none. Required on create: send `"0"` for a call that
            carries no value; an omitted or empty value is rejected. On create:
            a non-negative integer string, digits only (`0` is accepted; no
            sign, decimal point, exponent or `0x` prefix).
          example: '1000000000000000'
          pattern: ^[0-9]+$
        input:
          type: string
          title: input
          format: byte
          description: >-
            Calldata of the transaction. Bytes, base64 (standard, padded) in
            JSON, byte-identical to what was submitted (dApp requests: the
            dApp's `0x` hex data, decoded). Empty string when there is no
            calldata. On create at most 98,224 bytes (its `0x` hex encoding is
            limited to 196,450 characters); may be empty.
          example: >-
            qQWcuwAAAAAAAAAAAAAAAFqutgU/PpTJuaCfM2aUNefvG+rtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYloA=
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMGas'
          description: >-
            Gas settings; see `EVMGas` (fees in wei per gas, gas limit in gas
            units). Creating a request for a custom EVM network requires
            `maxFee` and `gasLimit`. dApp requests carry the fee a signer set in
            the MPCVault app plus the gas limit (from the dApp or MPCVault's
            estimate); the dApp's own fee fields are not returned. `null` when
            none is set.
        nonce:
          description: >-
            Transaction nonce, as a decimal string; the sender's next nonce is
            used when omitted, except that a request for a custom EVM network
            that an API client signer signs must supply it. Always `null` for
            API and app requests; dApp requests return the nonce converted to
            decimal (or one a signer set), `null` if none or not numeric.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: '1'
      additionalProperties: false
      required:
        - chainId
        - from
        - value
    mpcvault.platform.v1.EVMSendERC20:
      type:
        - object
        - 'null'
      properties:
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Chain ID of the EVM network, for example `1` or `137`. Returned as a
            decimal string. Required on create: it selects the network, and an
            ID that matches no supported system network and no custom network of
            the vault that owns the `from` wallet is rejected (an omitted value
            reads as `0`).
          example: '137'
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. `0x`-prefixed 40-hex-digit
            address, returned exactly as supplied when the request was created
            (not normalized to EIP-55).
        to:
          type: string
          title: to
          description: >-
            Recipient address. 40 hex digits with an optional `0x` prefix, in
            any letter case; returned exactly as supplied when the request was
            created (not normalized).
        tokenContractAddress:
          type: string
          title: token_contract_address
          description: >-
            ERC-20 token contract address. 40 hex digits with an optional `0x`
            prefix, in any letter case; returned exactly as supplied when the
            request was created (not normalized). On create the contract must
            resolve to a known token on the network, and the token must not be
            marked as spam in the vault.
        amount:
          type: string
          title: amount
          description: >-
            Amount of tokens to send. Decimal string in the token's smallest
            unit (amount x 10^decimals, using the decimals of the token
            contract). On create: a non-negative integer string, digits only
            (`0` is accepted; no sign, decimal point, exponent or `0x` prefix).
          example: '1000000000000000'
          pattern: ^[0-9]+$
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMGas'
          description: >-
            Custom gas settings; see `EVMGas` (fees in wei per gas, gas limit in
            gas units). Creating a request for a custom EVM network requires
            `maxFee` and `gasLimit`. `null` when no custom fee was set.
        nonce:
          description: >-
            Transaction nonce; the sender's next nonce is used when omitted,
            except that a request for a custom EVM network that an API client
            signer signs must supply it. Decimal string. Always `null` in
            responses for requests created through the API or the MPCVault app.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: '1'
      additionalProperties: false
      required:
        - chainId
        - from
        - to
        - tokenContractAddress
        - amount
    mpcvault.platform.v1.EVMSendNative:
      type:
        - object
        - 'null'
      properties:
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Chain ID of the EVM network, for example `1` or `137`. Returned as a
            decimal string. Required on create: it selects the network, and an
            ID that matches no supported system network and no custom network of
            the vault that owns the `from` wallet is rejected (an omitted value
            reads as `0`).
          example: '137'
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. `0x`-prefixed 40-hex-digit
            address, returned exactly as supplied when the request was created
            (not normalized to EIP-55).
        to:
          type: string
          title: to
          description: >-
            Recipient address. 40 hex digits with an optional `0x` prefix, in
            any letter case; returned exactly as supplied when the request was
            created (not normalized).
        value:
          type: string
          title: value
          description: >-
            Amount of the native coin to send. Decimal string in wei (the
            network's smallest unit, 18 decimals on standard EVM chains). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          example: '1000000000000000'
          pattern: ^[0-9]+$
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.EVMGas'
          description: >-
            Custom gas settings; see `EVMGas` (fees in wei per gas, gas limit in
            gas units). Creating a request for a custom EVM network requires
            `maxFee` and `gasLimit`. `null` when no custom fee was set.
        nonce:
          description: >-
            Transaction nonce; the sender's next nonce is used when omitted,
            except that a request for a custom EVM network that an API client
            signer signs must supply it. Decimal string. Always `null` in
            responses for requests created through the API or the MPCVault app.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: '1'
      additionalProperties: false
      required:
        - chainId
        - from
        - to
        - value
    mpcvault.platform.v1.RawMessage:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Address of the vault wallet whose key signs the message, returned
            exactly as supplied; no address normalization is applied on any
            network.
        content:
          type: string
          title: content
          format: byte
          description: >-
            Raw bytes to sign. Bytes, base64 (standard, padded) in JSON,
            returned exactly as submitted.
        ecdsaHashFunction:
          $ref: '#/components/schemas/mpcvault.platform.v1.ECDSAHashFunction'
          description: >-
            Hash function applied before ECDSA signing. For a secp256k1 wallet
            it is required and must be `ECDSA_HASH_FUNCTION_SHA256` or
            `ECDSA_HASH_FUNCTION_USE_MESSAGE_DIRECTLY`. For an Ed25519 wallet
            omit it or send `ECDSA_HASH_FUNCTION_UNSPECIFIED`: any other value
            is rejected, not ignored.
      additionalProperties: false
      required:
        - from
        - content
    mpcvault.platform.v1.SolanaMessage:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Signer wallet address in the vault. Base58-encoded 32-byte Solana
            public key; API requests return it as supplied, plugin requests
            return the wallet's address.
        type:
          $ref: '#/components/schemas/mpcvault.platform.v1.SolanaMessage.Type'
          description: Kind of message. Enum name; always `TYPE_DEFAULT` in responses.
        content:
          type: string
          title: content
          format: byte
          description: >-
            Message to sign. Bytes, base64 (standard, padded) in JSON, returned
            exactly as submitted; must be printable ASCII or valid UTF-8.
      additionalProperties: false
      required:
        - type
        - from
        - content
    mpcvault.platform.v1.SolanaSendCustom:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Base58-encoded 32-byte Solana
            public key (case-sensitive); returned exactly as supplied when the
            request was created (not normalized).
        txBase64:
          type: array
          items:
            type: string
          title: tx_base64
          description: >-
            Serialized Solana transactions to sign (`v0` or unversioned format),
            each as standard base64 (padded): 1 to 5 for a request created
            through the API; for a dApp request one transaction, or one element
            per transaction of a sign-all request. Returned as stored, not
            re-signed and with the blockhash not refreshed: when MPCVault signs
            a transaction that carries no signature it replaces the recent
            blockhash, so the signed transaction can differ from the returned
            one. Whitespace is trimmed on create. On create the `from` wallet
            must be a signer of every transaction, and every other signer's
            signature must already be present (a transaction with an empty
            signature slot for another signer is rejected).
          minItems: 1
          maxItems: 5
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Ignored on create: the payload field you use (`solanaSend*` or
            `sonicSvmSend*`) selects the network. Not populated: always `"0"` in
            responses.
          example: '101'
      additionalProperties: false
      required:
        - from
        - txBase64
    mpcvault.platform.v1.SolanaSendNative:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Base58-encoded 32-byte Solana
            public key (case-sensitive); returned exactly as supplied when the
            request was created (not normalized).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Base58-encoded 32-byte Solana public key
            (case-sensitive); returned exactly as supplied when the request was
            created (not normalized). On create `to` must not be an SPL token
            account (use `solanaSendSplToken`).
        value:
          type: string
          title: value
          description: >-
            Amount of the native coin to send. Decimal string in lamports (10^-9
            SOL). On create: a non-negative integer string, digits only (`0` is
            accepted; no sign, decimal point, exponent or `0x` prefix).
          example: '1000000000000000'
          pattern: ^[0-9]+$
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Ignored on create: the payload field you use (`solanaSend*` or
            `sonicSvmSend*`) selects the network. Not populated: always `"0"` in
            responses.
          example: '101'
      additionalProperties: false
      required:
        - from
        - to
        - value
    mpcvault.platform.v1.SolanaSendSPLToken:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Base58-encoded 32-byte Solana
            public key (case-sensitive); returned exactly as supplied when the
            request was created (not normalized).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Base58-encoded 32-byte Solana public key
            (case-sensitive); returned exactly as supplied when the request was
            created (not normalized). On create `to` is a wallet address or an
            existing token account of the same mint; a token account of another
            mint is rejected.
        mintAddress:
          type: string
          title: mint_address
          description: >-
            SPL token mint address. Base58-encoded 32-byte Solana public key
            (case-sensitive); returned exactly as supplied when the request was
            created (not normalized).
          example: 8y5pTbJpGrUZGFN4M6ACvMbfnhXRrohRnrwannj3Noj
        amount:
          type: string
          title: amount
          description: >-
            Amount of tokens to send. Decimal string in the token's smallest
            unit (amount x 10^decimals, using the decimals of the mint). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          example: '1000000000000000'
          pattern: ^[0-9]+$
        chainId:
          type:
            - integer
            - string
          title: chain_id
          format: int64
          description: >-
            Ignored on create: the payload field you use (`solanaSend*` or
            `sonicSvmSend*`) selects the network. Not populated: always `"0"` in
            responses.
          example: '101'
        decimals:
          description: >-
            Number of decimals of the token; when supplied on create it must
            match the token's actual decimals. Returned as a decimal string, for
            example `"6"`; never `null`.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: '6'
      additionalProperties: false
      required:
        - from
        - to
        - mintAddress
        - amount
    mpcvault.platform.v1.StellarChangeTrust:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Stellar strkey: a `G...` account
            ID (56 characters) or a `C...` contract ID. On create the account
            must exist, and a trustline to the asset must not already exist.
          example: GAAACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB7JZX
        assetCode:
          type: string
          title: asset_code
          description: Code of the asset to trust. 1 to 12 alphanumeric characters.
          example: USDC
        assetIssuer:
          type: string
          title: asset_issuer
          description: Issuer account of the asset. Stellar `G...` strkey (56 characters).
          example: GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
        memo:
          type: string
          title: memo
          description: Text memo attached to the transaction. UTF-8, at most 28 bytes.
          example: stellar change trust
      additionalProperties: false
      required:
        - from
        - assetCode
        - assetIssuer
    mpcvault.platform.v1.SwapApproval:
      type:
        - object
        - 'null'
      description: Token approval that precedes a swap. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.SwapSend:
      type:
        - object
        - 'null'
      description: Swap transaction. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.BatchPaymentApproval:
      type:
        - object
        - 'null'
      description: Token approval that precedes a batch payment. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.BatchPaymentSend:
      type:
        - object
        - 'null'
      description: Batch payment transaction. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.FiatPayment:
      type:
        - object
        - 'null'
      description: Token transfer that pays a fiat order. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.AptosRegisterCoin:
      type:
        - object
        - 'null'
      description: >-
        Registers a coin on an Aptos account so that the account can receive it.
        It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.AptosOpenToken:
      type:
        - object
        - 'null'
      description: >-
        Lets an Aptos account receive NFTs sent to it directly. It has no fields
        yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.VaultCreation:
      type:
        - object
        - 'null'
      description: Approval of a new vault. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.VaultSettingUpdate:
      type:
        - object
        - 'null'
      description: Approval of a change to the settings of a vault. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.RootKeyGeneration:
      type:
        - object
        - 'null'
      description: Generation of an MPC root key, ECDSA or EdDSA. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.RootKeyBackup:
      type:
        - object
        - 'null'
      description: Backup of the root keys of the organization. It has no fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.KeyAccessGrant:
      type:
        - object
        - 'null'
      description: >-
        Grants a member or an API client signer access to a key. It has no
        fields yet.
      properties: {}
      additionalProperties: false
    mpcvault.platform.v1.StellarSendAsset:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Stellar strkey: a `G...` account
            ID (56 characters) or a `C...` contract ID; returned exactly as
            supplied when the request was created (not normalized).
          example: GAAACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB7JZX
        to:
          type: string
          title: to
          description: >-
            Recipient address. Stellar strkey: a `G...` account ID (56
            characters) or a `C...` contract ID; returned exactly as supplied
            when the request was created (not normalized).
          example: GAAACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB7JZX
        assetCode:
          type: string
          title: asset_code
          description: Code of the asset to send. 1 to 12 alphanumeric characters.
          example: USDC
        assetIssuer:
          type: string
          title: asset_issuer
          description: Issuer account of the asset. Stellar `G...` strkey (56 characters).
          example: GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
        amount:
          type: string
          title: amount
          description: >-
            Amount of the asset to send. Decimal string in whole asset units,
            for example `"10.1"`, returned as stored: a request created through
            the API has at most 7 fractional digits (the API truncates), a
            request created in the MPCVault app can have more. Not stroops and
            not multiplied by 10^decimals, unlike other networks. On create a
            negative value is rejected. The recipient must be an existing
            account with a trustline to the asset.
          example: '10.1'
        memo:
          type: string
          title: memo
          description: >-
            Text memo attached to the transaction. UTF-8, at most 28 bytes,
            returned unchanged; empty string when none.
          example: stellar send asset
      additionalProperties: false
      required:
        - from
        - to
        - assetCode
        - assetIssuer
        - amount
    mpcvault.platform.v1.StellarSendCustom:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Stellar strkey: a `G...` account
            ID (56 characters) or a `C...` contract ID; returned exactly as
            supplied when the request was created (not normalized). For a dApp
            transaction it is the account that signs, which can differ from the
            source account of the envelope.
          example: GAAACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB7JZX
        txBase64:
          type: string
          title: tx_base64
          description: >-
            Stellar transaction to sign, classic or fee-bump. Standard base64
            (padded) of the XDR `TransactionEnvelope`, returned exactly as
            submitted.
          example: >-
            AQAAAAAAAAAAAAAAAAAAAAAA$999999999999AAAAACAAQABA1kYs4/+LFCaNxckNNsERMcgSwr19dR72mxW6j8qJpGv87LKehWtuOxHGbCNbhMcl4yGWqGCnDXiSuHbqRK1X00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQICAAEMAgAAKCGAQAAAAAAAA==
      additionalProperties: false
      required:
        - from
        - txBase64
    mpcvault.platform.v1.StellarSendNative:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Stellar strkey: a `G...` account
            ID (56 characters) or a `C...` contract ID; returned exactly as
            supplied when the request was created (not normalized).
          example: GAAACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB7JZX
        to:
          type: string
          title: to
          description: >-
            Recipient address. Stellar strkey: a `G...` account ID (56
            characters) or a `C...` contract ID; returned exactly as supplied
            when the request was created (not normalized).
          example: GAAACAQDAQCQMBYIBEFAWDANBYHRAEISCMKBKFQXDAMRUGY4DUPB7JZX
        value:
          type: string
          title: value
          description: >-
            Amount of XLM to send. Decimal string in whole XLM, for example
            `"10.1"`, returned as stored: a request created through the API has
            at most 7 fractional digits (the API truncates), a request created
            in the MPCVault app can have more. Not stroops and not multiplied by
            10^decimals, unlike other networks. On create a negative value is
            rejected, and if the recipient account does not exist yet the amount
            (after truncation) must be at least `1`.
          example: '10.1'
        memo:
          type: string
          title: memo
          description: >-
            Text memo attached to the transaction. UTF-8, at most 28 bytes,
            returned unchanged; empty string when none.
          example: stellar send native
      additionalProperties: false
      required:
        - from
        - to
        - value
    mpcvault.platform.v1.SuiMessage:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Signer wallet address in the vault. Sui address; API requests return
            it as supplied, plugin requests return the wallet's address (`0x`
            plus 64 lowercase hex digits).
        type:
          $ref: '#/components/schemas/mpcvault.platform.v1.SuiMessage.Type'
          description: Kind of message. Enum name; always `TYPE_DEFAULT` in responses.
        content:
          type: string
          title: content
          format: byte
          description: >-
            Message to sign, as UTF-8 text. Bytes, base64 (standard, padded) in
            JSON.
      additionalProperties: false
      required:
        - type
        - from
        - content
    mpcvault.platform.v1.SuiSendCoin:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Sui address: 64 hex digits with
            an optional `0x` prefix, in any letter case; returned exactly as
            supplied when the request was created (not padded or lowercased).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Sui address: 64 hex digits with an optional `0x`
            prefix, in any letter case; returned exactly as supplied when the
            request was created (not padded or lowercased).
        coinTag:
          type: string
          title: coin_tag
          description: >-
            Type of the coin to send, `0xPACKAGE::module::STRUCT`, returned
            exactly as supplied (not normalized to the canonical zero-padded
            form). On create the native coin (`0x2::sui::SUI`) is rejected: use
            `suiSendNative`. The coin must resolve to a known token.
          example: tx_hash:0a1b2c3d...789e, output_index:0
        amount:
          type: string
          title: amount
          description: >-
            Amount of coins to send. Decimal string in the coin's smallest unit
            (amount x 10^decimals, using the decimals of the coin). On create: a
            non-negative integer string, digits only (`0` is accepted; no sign,
            decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.SuiGas'
          description: >-
            Custom gas settings (budget and price in MIST, see `SuiGas`). `null`
            when no custom fee was set.
      additionalProperties: false
      required:
        - from
        - to
        - coinTag
        - amount
    mpcvault.platform.v1.SuiSendCustom:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Sui address: 64 hex digits with
            an optional `0x` prefix, in any letter case; returned exactly as
            supplied when the request was created (not padded or lowercased).
        payload:
          type: string
          title: payload
          format: byte
          description: >-
            Transaction to sign. Bytes, base64 (standard, padded) in JSON: UTF-8
            JSON text if it was submitted as JSON, or the BCS-serialized
            transaction bytes exactly as submitted. MPCVault signs a BCS
            transaction: the one submitted, or one it builds from the submitted
            JSON. Fields that are missing (sender, gas payment, gas budget and
            price, expiration) are filled in at signing time, so the signed
            transaction can differ from the returned one.
      additionalProperties: false
      required:
        - from
        - payload
    mpcvault.platform.v1.SuiSendNative:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Sui address: 64 hex digits with
            an optional `0x` prefix, in any letter case; returned exactly as
            supplied when the request was created (not padded or lowercased).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Sui address: 64 hex digits with an optional `0x`
            prefix, in any letter case; returned exactly as supplied when the
            request was created (not padded or lowercased).
        value:
          type: string
          title: value
          description: >-
            Amount of SUI to send. Decimal string in MIST (10^-9 SUI). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
        gasFee:
          $ref: '#/components/schemas/mpcvault.platform.v1.SuiGas'
          description: >-
            Custom gas settings (budget and price in MIST, see `SuiGas`). `null`
            when no custom fee was set.
      additionalProperties: false
      required:
        - from
        - to
        - value
    mpcvault.platform.v1.TonMessage:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Signer wallet address in the vault. TON address in the
            non-bounceable user-friendly form (base64url, 48 characters, for
            example `UQ...`): API addresses are rewritten to it on create,
            plugin requests use the wallet's address in the same form.
        type:
          $ref: '#/components/schemas/mpcvault.platform.v1.TonMessage.Type'
          description: Kind of message. Enum name; always `TYPE_DEFAULT` in responses.
        content:
          type: string
          title: content
          format: byte
          description: >-
            ton-proof (TON Connect `ton_proof`) message to sign, as UTF-8 JSON
            text. Bytes, base64 (standard, padded) in JSON. API requests return
            it exactly as submitted; plugin requests return it re-indented with
            two spaces.
      additionalProperties: false
      required:
        - type
        - from
        - content
    mpcvault.platform.v1.TonSendCustom:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Mainnet TON address, accepted in
            user-friendly (base64 or base64url) or raw (`0:` hex) form and
            rewritten on create to the non-bounceable user-friendly form
            (base64url, 48 characters, for example `UQ...`), which is what is
            returned.
        payload:
          type: string
          title: payload
          format: byte
          description: >-
            Transaction to sign. Bytes, base64 (standard, padded) in JSON,
            holding UTF-8 JSON text in one of two forms: the ton-connect form
            (`messages`, each with `address`, `amount`, `payload` and
            `state_init`; `valid_until`; `from`; `network`) or the
            single-message form (`dataType`, `from`, `to`, `value`, `data`,
            `stateInit`). The text is canonicalized when the request is created
            (two-space indent, decimal-string amounts, integer `valid_until`,
            standard-base64 payload and state_init): equal in meaning, not
            byte-identical to what was submitted. On create the ton-connect form
            must contain at least one message, and each message needs a mainnet
            TON `address`, and its `amount` in nanoton (a non-negative integer
            below 2^64) is `0` when omitted.
      additionalProperties: false
      required:
        - from
        - payload
    mpcvault.platform.v1.TonSendNative:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Mainnet TON address, accepted in
            user-friendly (base64 or base64url) or raw (`0:` hex) form and
            rewritten on create to the non-bounceable user-friendly form
            (base64url, 48 characters, for example `UQ...`), which is what is
            returned.
        to:
          type: string
          title: to
          description: >-
            Recipient address. Mainnet TON address, accepted in user-friendly
            (base64 or base64url) or raw (`0:` hex) form and rewritten on create
            to the non-bounceable user-friendly form (base64url, 48 characters,
            for example `UQ...`), which is what is returned.
        value:
          type: string
          title: value
          description: >-
            Amount of TON to send. Decimal string in nanoton (10^-9 TON). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
        comment:
          type: string
          title: comment
          description: >-
            Text comment attached to the transfer. UTF-8, at most 50 Unicode
            code points, returned unchanged; empty string when none.
          maxLength: 50
      additionalProperties: false
      required:
        - from
        - to
        - value
    mpcvault.platform.v1.TonSendToken:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Mainnet TON address, accepted in
            user-friendly (base64 or base64url) or raw (`0:` hex) form and
            rewritten on create to the non-bounceable user-friendly form
            (base64url, 48 characters, for example `UQ...`), which is what is
            returned.
        to:
          type: string
          title: to
          description: >-
            Recipient address. Mainnet TON address, accepted in user-friendly
            (base64 or base64url) or raw (`0:` hex) form and rewritten on create
            to the non-bounceable user-friendly form (base64url, 48 characters,
            for example `UQ...`), which is what is returned.
        mintAddress:
          type: string
          title: mint_address
          description: >-
            Jetton master contract address. Mainnet TON address, accepted in
            user-friendly (base64 or base64url) or raw (`0:` hex) form and
            rewritten on create to the non-bounceable user-friendly form
            (base64url, 48 characters, for example `UQ...`), which is what is
            returned.
          example: EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
        amount:
          type: string
          title: amount
          description: >-
            Amount of jettons to send. Decimal string in the jetton's smallest
            unit (amount x 10^decimals, using the decimals of the jetton). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
        comment:
          type: string
          title: comment
          description: >-
            Text comment attached to the transfer. UTF-8, at most 50 Unicode
            code points, returned unchanged; empty string when none.
          example: ton send token comment
          maxLength: 50
        decimals:
          description: >-
            Number of decimals of the jetton. Returned as a decimal string;
            never `null`. When supplied on create it must equal the jetton's
            actual decimals; a mismatch is rejected.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: '6'
      additionalProperties: false
      required:
        - from
        - to
        - mintAddress
        - amount
    mpcvault.platform.v1.TronSendNative:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Tron address in base58check
            form, starting with `T`; returned exactly as supplied when the
            request was created (not normalized).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Tron address in base58check form, starting with
            `T`; returned exactly as supplied when the request was created (not
            normalized). On create `from` and `to` must differ (compared
            case-insensitively).
          example: TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7
        value:
          type: string
          title: value
          description: >-
            Amount of TRX to send. Decimal string in sun (10^-6 TRX). On create:
            a non-negative integer string, digits only (`0` is accepted; no
            sign, decimal point, exponent or `0x` prefix).
          example: '1000000000000000'
          pattern: ^[0-9]+$
      additionalProperties: false
      required:
        - from
        - to
        - value
    mpcvault.platform.v1.TronSendTRC10:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Tron address in base58check
            form, starting with `T`; returned exactly as supplied when the
            request was created (not normalized).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Tron address in base58check form, starting with
            `T`; returned exactly as supplied when the request was created (not
            normalized). On create `from` and `to` must differ (compared
            case-insensitively).
          example: TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7
        assetName:
          type: string
          title: asset_name
          description: >-
            Identifier of the TRC-10 token to send: the numeric asset ID as a
            digit string (not a ticker or name), returned as supplied.
          example: ETH
        amount:
          type: string
          title: amount
          description: >-
            Amount of tokens to send. Decimal string in the token's smallest
            unit (amount x 10^decimals, using the decimals of the TRC-10 token).
            On create: a non-negative integer string, digits only (`0` is
            accepted; no sign, decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
      additionalProperties: false
      required:
        - from
        - to
        - assetName
        - amount
    mpcvault.platform.v1.TronSendTRC20:
      type:
        - object
        - 'null'
      properties:
        from:
          type: string
          title: from
          description: >-
            Sender wallet address in the vault. Tron address in base58check
            form, starting with `T`; returned exactly as supplied when the
            request was created (not normalized).
        to:
          type: string
          title: to
          description: >-
            Recipient address. Tron address in base58check form, starting with
            `T`; returned exactly as supplied when the request was created (not
            normalized). On create `from` and `to` must differ (compared
            case-insensitively).
        contractAddress:
          type: string
          title: contract_address
          description: >-
            TRC-20 token contract address. Tron address in base58check form,
            starting with `T`; returned exactly as supplied when the request was
            created (not normalized).
          example: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
        amount:
          type: string
          title: amount
          description: >-
            Amount of tokens to send. Decimal string in the token's smallest
            unit (amount x 10^decimals, using the decimals of the token). On
            create: a non-negative integer string, digits only (`0` is accepted;
            no sign, decimal point, exponent or `0x` prefix).
          pattern: ^[0-9]+$
        feeLimit:
          description: >-
            Maximum fee the sender is willing to pay. Decimal string in sun.
            `null` when not set. On create: a positive integer string that fits
            in 64 bits (`0` is rejected).
          type:
            - string
            - 'null'
          pattern: ^[0-9]+$
      additionalProperties: false
      required:
        - from
        - to
        - contractAddress
        - amount
    mpcvault.platform.v1.ExecuteSigningRequestsErrorCode:
      type: string
      title: ExecuteSigningRequestsErrorCode
      enum:
        - EXECUTE_SIGNING_REQUESTS_ERROR_CODE_UNSPECIFIED
        - EXECUTE_SIGNING_REQUESTS_ERROR_CODE_INSUFFICIENT_FUNDS
        - EXECUTE_SIGNING_REQUESTS_ERROR_CODE_ALREADY_DENIED
    mpcvault.platform.v1.ServiceErrorCode:
      type: string
      title: ServiceErrorCode
      enum:
        - SERVICE_ERROR_CODE_UNSPECIFIED
        - SERVICE_ERROR_CODE_ORG_SUBSCRIBED_PLAN_LIMIT_EXCEED
        - SERVICE_ERROR_CODE_ORG_SUBSCRIBED_PLAN_EXPIRED
        - SERVICE_ERROR_CODE_ORG_SUBSCRIBED_PLAN_NOT_SUPPORT
    mpcvault.platform.v1.EVMInputDataDecode.Argument:
      type: object
      properties:
        name:
          type: string
          title: name
          description: >-
            ABI parameter name, empty string for an unnamed parameter; a tuple
            member is named `parameter.field`.
        type:
          type: string
          title: type
          description: >-
            ABI type of the argument as a string, for example `address`,
            `uint256`, `bytes32`, `address[]` or `tuple`.
        data:
          type: string
          title: data
          description: >-
            Argument value as a string, by type: `address` as an EIP-55
            checksummed `0x` address, `uintN` and `intN` as base-10 integers,
            `bool` as `true` or `false`, `string` as-is, `bytes` and `bytesN` as
            `0x` lowercase hex. Arrays and tuples are decoder-formatted text
            without a stable grammar: decode `input` yourself when you need
            them.
      additionalProperties: false
    mpcvault.platform.v1.SignatureContainer.SignResponse:
      type: object
      additionalProperties: false
      properties:
        ecdsaSignature:
          $ref: >-
            #/components/schemas/mpcvault.platform.v1.SignatureContainer.ECDSASignature
          description: >-
            ECDSA signature, for EVM, TRON and Bitcoin wallets. `R`, `S` and `V`
            are base-10 integer strings.
        eddsaSignature:
          type: string
          title: eddsa_signature
          format: byte
          description: >-
            Ed25519 signature, for Aptos, Sui, Solana, TON and Stellar wallets:
            the raw 64-byte signature `R || S`. Bytes, base64 (standard, padded,
            88 characters) in JSON.
          example: >-
            AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+Pw==
      description: Exactly one of `ecdsaSignature` and `eddsaSignature` is set.
    mpcvault.platform.v1.RequestSource.Type:
      type: string
      title: Type
      enum:
        - TYPE_UNSPECIFIED
        - TYPE_WALLET_CONNECT
        - TYPE_PLUGIN
        - TYPE_MMI
    mpcvault.platform.v1.AptosMessage.Type:
      type: string
      title: Type
      enum:
        - TYPE_UNSPECIFIED
        - TYPE_DEFAULT
    mpcvault.platform.v1.AptosMessage.Message:
      type:
        - object
        - 'null'
      properties:
        address:
          description: >-
            Address placed inside the message, as supplied (UTF-8 string, not
            validated against `from`). `null` when empty.
          type:
            - string
            - 'null'
        application:
          description: >-
            Name or domain of the application the message is for, as supplied
            (UTF-8 string, unvalidated). `null` when empty.
          type:
            - string
            - 'null'
          example: application
        chainId:
          description: >-
            Chain ID placed inside the message, for example `"1"`. Returned as a
            decimal string; `null` when absent or `0`.
          type:
            - integer
            - string
            - 'null'
          format: int64
          example: '137'
        message:
          type: string
          title: message
          description: >-
            Text of the message to sign. UTF-8 string, as supplied (unvalidated,
            not normalized); required non-empty on create.
          example: message
        nonce:
          type: string
          title: nonce
          description: >-
            Nonce of the message. UTF-8 string, as supplied (unvalidated);
            required non-empty on create.
          example: '1'
      additionalProperties: false
      required:
        - message
        - nonce
    mpcvault.platform.v1.AptosGas:
      type:
        - object
        - 'null'
      properties:
        maxGasAmount:
          description: >-
            Maximum gas units the transaction may use. Decimal integer string in
            gas units. `null` when not set. On create: a positive integer string
            that fits in 64 bits, digits only.
          type:
            - string
            - 'null'
          pattern: ^[0-9]+$
        gasUnitPrice:
          description: >-
            Price per gas unit the sender is willing to pay. Decimal integer
            string in octa (10^-8 APT), rounded to a whole octa as signing
            rounds it; when it is `"0"` the network's estimate is used at
            signing. `null` when not set. On create: a positive integer string,
            digits only.
          type:
            - string
            - 'null'
          pattern: ^[0-9]+$
      additionalProperties: false
      description: >-
        An object with neither `maxGasAmount` nor `gasUnitPrice` is treated as
        no custom gas settings.
    mpcvault.platform.v1.NetworkType:
      type: string
      title: NetworkType
      enum:
        - NETWORK_TYPE_UNKNOWN
        - NETWORK_TYPE_EVM
        - NETWORK_TYPE_BITCOIN
        - NETWORK_TYPE_TRON
        - NETWORK_TYPE_APTOS
        - NETWORK_TYPE_SUI
        - NETWORK_TYPE_SOLANA
        - NETWORK_TYPE_TON
        - NETWORK_TYPE_STELLAR
    mpcvault.platform.v1.EVMMessage.Type:
      type: string
      title: Type
      enum:
        - TYPE_UNSPECIFIED
        - TYPE_PERSONAL_SIGN
        - TYPE_SIGN_TYPED_DATA
    mpcvault.platform.v1.EVMGas:
      type:
        - object
        - 'null'
      properties:
        maxFee:
          description: >-
            Maximum price per gas the sender will pay: the fee cap
            (`maxFeePerGas`) on EIP-1559 networks, the gas price elsewhere.
            Decimal string in wei per gas. `null` when not set. On create: a
            non-negative integer string, digits only. On a network with priority
            fees, `maxFee` must be greater than the stored `maxPriorityFee` when
            that is above zero, including the Polygon default (`"30000000000"`)
            when `maxPriorityFee` is omitted.
          type:
            - string
            - 'null'
          pattern: ^[0-9]+$
        maxPriorityFee:
          description: >-
            Maximum priority fee per gas (the tip) for EIP-1559 transactions.
            Decimal string in wei per gas. When `maxFee` is supplied without it
            on an EIP-1559 network, a default is stored and returned (`"0"`;
            `"30000000000"` on Polygon). `null` on networks without priority
            fees. On create: a non-negative integer string, digits only; ignored
            unless `maxFee` is also supplied, and on networks without priority
            fees.
          type:
            - string
            - 'null'
          example: '1500000000'
          pattern: ^[0-9]+$
        gasLimit:
          description: >-
            Maximum gas the transaction may consume. Decimal integer string in
            gas units. When only `maxFee` is supplied on create, MPCVault's
            default gas limit is stored and returned. `null` when not set. On
            create: a positive integer string that fits in 64 bits (`0` is
            rejected).
          type:
            - string
            - 'null'
          example: '30000000000'
          pattern: ^[0-9]+$
      additionalProperties: false
      description: >-
        EVMGas is the gas fee settings for an EVM transaction. An object with
        neither `maxFee` nor `gasLimit` is treated as no custom gas settings, so
        `maxPriorityFee` alone has no effect.
    mpcvault.platform.v1.ECDSAHashFunction:
      type: string
      title: ECDSAHashFunction
      enum:
        - ECDSA_HASH_FUNCTION_UNSPECIFIED
        - ECDSA_HASH_FUNCTION_USE_MESSAGE_DIRECTLY
        - ECDSA_HASH_FUNCTION_SHA256
    mpcvault.platform.v1.SolanaMessage.Type:
      type: string
      title: Type
      enum:
        - TYPE_UNSPECIFIED
        - TYPE_DEFAULT
    mpcvault.platform.v1.SuiMessage.Type:
      type: string
      title: Type
      enum:
        - TYPE_UNSPECIFIED
        - TYPE_DEFAULT
    mpcvault.platform.v1.SuiGas:
      type:
        - object
        - 'null'
      properties:
        budget:
          description: >-
            Maximum gas budget for the transaction. Decimal string in MIST
            (10^-9 SUI). `null` when not set. On create: a positive integer
            string that fits in 64 bits, digits only.
          type:
            - string
            - 'null'
          pattern: ^[0-9]+$
        price:
          description: >-
            Gas price the sender is willing to pay. Decimal string in MIST per
            gas unit. `null` when not set. On create: a positive integer string,
            digits only.
          type:
            - string
            - 'null'
          pattern: ^[0-9]+$
      additionalProperties: false
      description: >-
        An object with neither `budget` nor `price` is treated as no custom gas
        settings.
    mpcvault.platform.v1.TonMessage.Type:
      type: string
      title: Type
      enum:
        - TYPE_UNSPECIFIED
        - TYPE_DEFAULT
    mpcvault.platform.v1.SignatureContainer.ECDSASignature:
      type:
        - object
        - 'null'
      properties:
        R:
          type: string
          title: R
          description: >-
            The `r` value of the ECDSA signature. Base-10 integer string (not
            hex), without `0x` or padding, up to 78 digits.
        S:
          type: string
          title: S
          description: >-
            The `s` value of the ECDSA signature. Base-10 integer string (not
            hex), without `0x` or padding, up to 78 digits.
        V:
          type: string
          title: V
          description: >-
            Recovery value. Base-10 integer string: `"0"` or `"1"` (recovery
            ID), except `"27"` or `"28"` for EVM message signatures approved in
            the MPCVault app. Carried but unused for Bitcoin.
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-mtoken
      description: Your API token. Required for all API requests.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.