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

# List Approvals

> Retrieve the list of pending approval requests.



## OpenAPI

````yaml /openapi.yaml get /v2/policy-approvals
openapi: 3.1.0
info:
  version: 1.807.0
  title: Dfns
servers:
  - url: https://api.dfns.io
    description: Default - Europe
  - url: https://api.uae.dfns.io
    description: UAE
  - url: https://api.dfns.ninja
    description: <Deprecated> Staging
security: []
paths:
  /v2/policy-approvals:
    get:
      tags:
        - Policies
      summary: List Approvals
      description: Retrieve the list of pending approval requests.
      parameters:
        - schema:
            type: string
            pattern: ^\d+$
          required: false
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
          required: false
          name: paginationToken
          in: query
        - schema:
            type: string
            enum:
              - Pending
              - Approved
              - Denied
              - Expired
          required: false
          name: status
          in: query
        - schema:
            type: string
          required: false
          name: initiatorId
          in: query
        - schema:
            type: string
          required: false
          name: approverId
          in: query
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/PolicyApproval'
                  nextPageToken:
                    type: string
                required:
                  - items
      security:
        - authenticationToken: []
components:
  schemas:
    PolicyApproval:
      type: object
      properties:
        id:
          type: string
        initiatorId:
          type: string
        activity:
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Wallets:Sign
                transferRequest:
                  $ref: '#/components/schemas/TransferRequest'
                transactionRequest:
                  $ref: '#/components/schemas/TransactionRequest'
                signatureRequest:
                  $ref: '#/components/schemas/SignatureRequest'
                swapRequest:
                  $ref: '#/components/schemas/Swap'
              required:
                - kind
              description: >2

                      A "`Wallets:Sign`" activity represents any activity which involves signing with a wallet. Currently, in our API, these can be:

                * a Transfer Request (created using the endpoint [Transfer Asset
                from
                Wallet](https://docs.dfns.co/api-reference/wallets/transfer-asset))

                * a Transaction Request (created using the endpoint [Broadcast
                Transaction from
                Wallet](https://docs.dfns.co/api-reference/wallets/sign-and-broadcast-transaction))

                * a Signature Request (created using the endpoint [Generate
                Signature from
                Wallet](https://docs.dfns.co/api-reference/keys/generate-signature))
              title: Wallets:Sign
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Wallets:IncomingTransaction
                blockchainEvent:
                  $ref: '#/components/schemas/BlockchainEvent'
              required:
                - kind
                - blockchainEvent
              description: >-
                A "`Wallets:IncomingTransaction`" activity represents when our
                indexers detected an incoming transaction into a wallet. This
                activity kind has to be used with the rule kind
                "`ChainalysisTransactionScreening`" (see more on
                [Chainalysis](https://docs.dfns.co/integrations/aml-kyt/chainalysis)
                integration page), and the action kind "`NoAction`", meaning
                that no actual action will be taken as a result of the
                Chainalysis screening, other than notifying you through a
                webhook event if the policy is triggered. The reason for that,
                is that the incoming transaction is already on-chain, so the
                funds are already in the wallet, we cannot block that transfer
                on chain.
              title: Wallets:IncomingTransaction
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Policies:Modify
                changeRequest:
                  type: object
                  properties:
                    id:
                      type: string
                    requester:
                      $ref: '#/components/schemas/ChangeRequestRequester'
                    kind:
                      type: string
                      enum:
                        - Policy
                    operationKind:
                      type: string
                      enum:
                        - Update
                    status:
                      type: string
                      enum:
                        - Applied
                        - Failed
                        - Pending
                        - Rejected
                    entityId:
                      type: string
                    dateCreated:
                      type: string
                      format: date-time
                    dateResolved:
                      type: string
                      format: date-time
                    approvalId:
                      type: string
                    body:
                      $ref: '#/components/schemas/Policy'
                  required:
                    - id
                    - requester
                    - kind
                    - operationKind
                    - status
                    - entityId
                    - dateCreated
                    - body
                  additionalProperties: false
              required:
                - kind
                - changeRequest
              description: >2

                      A "`Policies:Modify`" activity represents any activity which involves updating or archiving a policy. These activities are Policy change requests, created as a result of calling either:

                * the endpoint [Update
                Policy](https://docs.dfns.co/api-reference/policies/update-policy)

                * the endpoint [Delete
                Policy](https://docs.dfns.co/api-reference/policies/delete-policy)
              title: Policies:Modify
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Permissions:Modify
                changeRequest:
                  type: object
                  properties:
                    id:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^cr-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: ID of the change request.
                      example: cr-6uunn-bm6ja-f6rmod5kqrk5rbel
                    requester:
                      $ref: '#/components/schemas/ChangeRequestRequester'
                    status:
                      type: string
                      enum:
                        - Applied
                        - Failed
                        - Pending
                        - Rejected
                      description: Current status of the change request.
                    entityId:
                      type: string
                      description: ID of the entity being changed.
                    dateCreated:
                      type: string
                      format: date-time
                      description: >-
                        [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date
                        (must be UTC). Date the change request was created.
                      example: '2023-04-14T20:41:28.715Z'
                    dateResolved:
                      type: string
                      format: date-time
                      description: >-
                        [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date
                        (must be UTC). Date the change request was resolved.
                      example: '2023-04-14T20:41:28.715Z'
                    approvalId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^ap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      example: ap-2a9in-tt2a1-983lho480p35ejd0
                    kind:
                      type: string
                      enum:
                        - Permission
                    operationKind:
                      type: string
                      enum:
                        - Update
                    body:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^pm-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                          description: >-
                            ID of the permission (also referred to as "role" in
                            the dashboard).
                          example: pm-37vj4-jkr4l-lc9945spfftkne57
                        name:
                          type: string
                          description: Human-readable name of the permission (role).
                        status:
                          type: string
                          enum:
                            - Active
                          description: Current status of the permission.
                        operations:
                          type: array
                          items:
                            type: string
                          description: >-
                            List of API operations this permission grants access
                            to. See [Permissions
                            List](https://docs.dfns.co/core-concepts/roles-and-permissions#list-of-permissions)
                            for available operations.
                        isImmutable:
                          type: boolean
                          description: >-
                            Whether this permission is system-managed and cannot
                            be modified.
                        isArchived:
                          type: boolean
                          description: >-
                            Whether this permission has been archived
                            (soft-deleted).
                      required:
                        - id
                        - name
                        - status
                        - operations
                        - isImmutable
                        - isArchived
                      additionalProperties: false
                  required:
                    - id
                    - requester
                    - status
                    - entityId
                    - dateCreated
                    - kind
                    - operationKind
                    - body
                  additionalProperties: false
              required:
                - kind
                - changeRequest
              description: >2

                      A "`Permissions:Modify`" activity represents any activity which involves updating or archiving a permission. These activities are Permission change requests, created as a result of calling either:

                * the endpoint [Update
                Permission](https://docs.dfns.co/api-reference/permissions/update-permission)

                * the endpoint [Delete
                Permission](https://docs.dfns.co/api-reference/permissions/delete-permission)
              title: Permissions:Modify
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Permissions:Assign
                changeRequest:
                  type: object
                  properties:
                    id:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^cr-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: ID of the change request.
                      example: cr-6uunn-bm6ja-f6rmod5kqrk5rbel
                    requester:
                      $ref: '#/components/schemas/ChangeRequestRequester'
                    status:
                      type: string
                      enum:
                        - Applied
                        - Failed
                        - Pending
                        - Rejected
                      description: Current status of the change request.
                    entityId:
                      type: string
                      description: ID of the entity being changed.
                    dateCreated:
                      type: string
                      format: date-time
                      description: >-
                        [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date
                        (must be UTC). Date the change request was created.
                      example: '2023-04-14T20:41:28.715Z'
                    dateResolved:
                      type: string
                      format: date-time
                      description: >-
                        [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date
                        (must be UTC). Date the change request was resolved.
                      example: '2023-04-14T20:41:28.715Z'
                    approvalId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^ap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      example: ap-2a9in-tt2a1-983lho480p35ejd0
                    kind:
                      type: string
                      enum:
                        - Assignment
                    operationKind:
                      type: string
                      enum:
                        - Create
                        - Delete
                    body:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^as-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                          description: ID of the permission assignment.
                          example: as-1vcmc-qrek0-6b4vii9pln60907e
                        permissionId:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^pm-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                          description: >-
                            ID of the permission (also referred to as "role" in
                            the dashboard).
                          example: pm-37vj4-jkr4l-lc9945spfftkne57
                        identityId:
                          type: string
                          description: >-
                            ID of the identity the permission is assigned to.
                            Can be a user ID, a service account ID, or a
                            personal access token (PAT) ID.
                        isImmutable:
                          type: boolean
                          description: >-
                            Whether this assignment is system-managed and cannot
                            be modified.
                      required:
                        - id
                        - permissionId
                        - identityId
                        - isImmutable
                      additionalProperties: false
                  required:
                    - id
                    - requester
                    - status
                    - entityId
                    - dateCreated
                    - kind
                    - operationKind
                    - body
                  additionalProperties: false
              required:
                - kind
                - changeRequest
              description: >2

                      A "`Permissions:Assign`" activity represents any activity which involves assigning a permission (or revoking it, aka "deleting a permission assignment"). These activities are Assignment change requests, created as a result of calling either:

                * the endpoint [Assign
                Permission](https://docs.dfns.co/api-reference/permissions/assign-permission)

                * the endpoint [Revoke
                Permission](https://docs.dfns.co/api-reference/permissions/revoke-permission)
              title: Permissions:Assign
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Registry:Addresses:Modify
                changeRequest:
                  type: object
                  properties:
                    id:
                      type: string
                    kind:
                      type: string
                      enum:
                        - Alias
                    body:
                      oneOf:
                        - type: object
                          properties:
                            entityId:
                              type: string
                            alias:
                              type: string
                            operationKind:
                              type: string
                              enum:
                                - Create
                            description:
                              type: string
                              minLength: 1
                              maxLength: 200
                            values:
                              type: object
                              properties:
                                add:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      network:
                                        $ref: '#/components/schemas/Network'
                                      memo:
                                        type: string
                                        minLength: 1
                                        maxLength: 64
                                        pattern: ^[a-zA-Z0-9]+$
                                      value:
                                        type: string
                                        minLength: 1
                                        maxLength: 300
                                        pattern: ^[a-zA-Z0-9_:-]+$
                                    required:
                                      - network
                                      - value
                              required:
                                - add
                          required:
                            - entityId
                            - alias
                            - operationKind
                            - values
                          additionalProperties: false
                          title: Alias creation
                        - type: object
                          properties:
                            entityId:
                              type: string
                            alias:
                              type: string
                            operationKind:
                              type: string
                              enum:
                                - Update
                            description:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                              maxLength: 200
                            values:
                              type: object
                              properties:
                                add:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      network:
                                        $ref: '#/components/schemas/Network'
                                      memo:
                                        type: string
                                        minLength: 1
                                        maxLength: 64
                                        pattern: ^[a-zA-Z0-9]+$
                                      value:
                                        type: string
                                        minLength: 1
                                        maxLength: 300
                                        pattern: ^[a-zA-Z0-9_:-]+$
                                    required:
                                      - network
                                      - value
                                remove:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      network:
                                        $ref: '#/components/schemas/Network'
                                      memo:
                                        type: string
                                        minLength: 1
                                        maxLength: 64
                                        pattern: ^[a-zA-Z0-9]+$
                                      value:
                                        type: string
                                        minLength: 1
                                        maxLength: 300
                                        pattern: ^[a-zA-Z0-9_:-]+$
                                    required:
                                      - network
                                      - value
                              required:
                                - add
                                - remove
                          required:
                            - entityId
                            - alias
                            - operationKind
                            - values
                          additionalProperties: false
                          title: Alias update
                        - type: object
                          properties:
                            entityId:
                              type: string
                            alias:
                              type: string
                            operationKind:
                              type: string
                              enum:
                                - Delete
                          required:
                            - entityId
                            - alias
                            - operationKind
                          title: Alias deletion
                  required:
                    - id
                    - kind
                    - body
              required:
                - kind
                - changeRequest
              description: ''
              title: Registry:Addresses:Modify
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Registry:ContractSchemas:Modify
                changeRequest:
                  type: object
                  properties:
                    id:
                      type: string
                    kind:
                      type: string
                      enum:
                        - SmartContract
                    operationKind:
                      type: string
                      enum:
                        - Create
                        - Delete
                    body:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^cs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                          example: cs-30ude-5i87r-gfrpg3fi68l2u14b
                        name:
                          type: string
                          minLength: 1
                          maxLength: 50
                          pattern: ^[a-z0-9-]+$
                        description:
                          type: string
                          minLength: 1
                          maxLength: 200
                        network:
                          type: string
                          enum:
                            - ArbitrumOne
                            - ArbitrumSepolia
                            - ArcTestnet
                            - AvalancheC
                            - AvalancheCFuji
                            - Base
                            - BaseSepolia
                            - Bob
                            - BobSepolia
                            - Bsc
                            - BscTestnet
                            - Berachain
                            - BerachainBepolia
                            - Celo
                            - CeloAlfajores
                            - Codex
                            - CodexSepolia
                            - Ethereum
                            - EthereumClassic
                            - EthereumClassicMordor
                            - EthereumSepolia
                            - EthereumHolesky
                            - EthereumHoodi
                            - FantomOpera
                            - FantomTestnet
                            - FlareC
                            - FlareCCoston2
                            - FlowEvm
                            - FlowEvmTestnet
                            - Ink
                            - InkSepolia
                            - Optimism
                            - OptimismSepolia
                            - Plasma
                            - PlasmaTestnet
                            - Plume
                            - PlumeSepolia
                            - Polygon
                            - PolygonAmoy
                            - Race
                            - RaceSepolia
                            - Tempo
                            - TempoModerato
                            - Tsc
                            - TscTestnet1
                            - Xdc
                            - XdcApothem
                            - XLayer
                            - XLayerSepolia
                        address:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                        schema: {}
                      required:
                        - id
                        - name
                        - network
                        - address
                  required:
                    - id
                    - kind
                    - operationKind
                    - body
              required:
                - kind
                - changeRequest
              description: ''
              title: Registry:ContractSchemas:Modify
        status:
          type: string
          enum:
            - Pending
            - Approved
            - Denied
            - Expired
        expirationDate:
          type: string
        dateCreated:
          type: string
        dateUpdated:
          type: string
        dateResolved:
          type: string
        policyEvaluations:
          type: array
          items:
            type: object
            properties:
              policyId:
                type: string
              triggered:
                type: boolean
              reason:
                type: string
              context: {}
            required:
              - policyId
              - triggered
              - reason
        decisions:
          type: array
          items:
            type: object
            properties:
              userId:
                type: string
              date:
                type: string
              reason:
                type:
                  - string
                  - 'null'
              value:
                type: string
                enum:
                  - Approved
                  - Denied
            required:
              - userId
              - date
              - reason
              - value
      required:
        - id
        - initiatorId
        - activity
        - status
        - dateUpdated
        - policyEvaluations
        - decisions
      additionalProperties: false
    TransferRequest:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^xfr-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Transfer id.
          example: xfr-20g4k-nsdpo-mg6arrifgvid4orn
        walletId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: The source wallet for this tranfer.
          example: wa-5pfuu-9euek-h0odgb6snva8ph3k
        network:
          allOf:
            - $ref: '#/components/schemas/Network'
            - description: The blockchain network this transfer is on.
        requester:
          $ref: '#/components/schemas/Requester'
        requestBody:
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Native
                to:
                  type: string
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: >-
                    The amount of native tokens to transfer in minimum
                    denomination.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag (supported networks only).
                priority:
                  type: string
                  enum:
                    - Slow
                    - Standard
                    - Fast
                  description: >-
                    The priority that determines the fees paid for the transfer.
                    All EVM compatible networks and Bitcoin support `priority`.
                    Not supported for other networks. It uses the [estimate
                    fees](https://docs.dfns.co/api-reference/networks/estimate-fees)
                    API to calculate the transfer fees. When not specified,
                    defaults to `Standard` priority.
                createDestinationAccount:
                  type: boolean
                  description: >-
                    Whether to create the destination account on chains that
                    require account creation (e.g., Stellar). Only valid for
                    chains that require the receiver account to exist before
                    transfer.
                offer:
                  type: boolean
                  description: >-
                    Optional field for Canton, if true it will create a transfer
                    offer.
                expiresAt:
                  type: string
                  format: date-time
                  description: >-
                    Optional field for Canton, especially useful in the context
                    of offers
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer the native token of the network. All networks support
                the native token type.
              title: Native Asset
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Aip21
                metadata:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                  description: 'The asset metadata address. '
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - metadata
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer Aptos fungible asset that implement the [AIP-21
                specification](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-21.md).
              title: Aptos Fungible Asset (AIP-21)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Asa
                assetId:
                  type: string
                  pattern: ^\d+$
                  description: 'The token asset id. '
                to:
                  type: string
                  pattern: ^[A-Z0-9]{58}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - assetId
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer Algorand standard assets, or
                [ASAs](https://developer.algorand.org/docs/get-details/asa/).
              title: Algorand Standard Asset
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Asset
                assetId:
                  type: string
                  description: 'The token asset id. '
                to:
                  type: string
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - assetId
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer Cardano assets following [Mary
                update](https://docs.cardano.org/about-cardano/evolution/upgrades/mary)
              title: Cardano Asset
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Cip56
                instrumentAdmin:
                  type: string
                  pattern: ^[a-zA-Z0-9-_]*::1220[a-f0-9]{64}$
                  description: The instrument admin address.
                instrumentId:
                  type: string
                  description: The instrument id.
                to:
                  type: string
                  pattern: ^[a-zA-Z0-9-_]*::1220[a-f0-9]{64}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                offer:
                  type: boolean
                  description: If true it will create a transfer offer.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - instrumentAdmin
                - instrumentId
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer standard tokens that implement the [CIP-56
                specification](https://github.com/global-synchronizer-foundation/cips/blob/main/cip-0056/cip-0056.md).
              title: Canton Standard Token (CIP-56)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Cis2
                to:
                  type: string
                  pattern: ^[1-9A-HJ-NP-Za-km-z]{50}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                tokenAddress:
                  type: string
                  description: >-
                    The token address following
                    (https://proposals.concordium.com/CIS/cis-2.html#token-address).
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - to
                - amount
                - tokenAddress
              additionalProperties: false
              description: >-
                Transfer tokens that implement the [CIS-2
                specification](https://proposals.concordium.software/CIS/cis-2.html).
              title: CIS-2 Standard
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Cis7
                to:
                  type: string
                  pattern: ^[1-9A-HJ-NP-Za-km-z]{50}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                tokenId:
                  type: string
                  description: The Cis7 token identifier.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - to
                - amount
                - tokenId
              additionalProperties: false
              description: >-
                Transfer Concordium protocol level tokens.
                (https://proposals.concordium.com/CIS/cis-7.html#cis-7-protocol-level-tokens-plts)
              title: Concordium Protocol Level Token (CIS-7)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Coin
                coin:
                  type: string
                  description: The coin identifier.
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - coin
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer Sui fungible assets that implement [coin
                standard](https://docs.sui.io/standards/coin).
              title: Sui Coin
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Erc20
                contract:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                  description: The ERC-20 contract address.
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                priority:
                  type: string
                  enum:
                    - Slow
                    - Standard
                    - Fast
                  description: The priority that determines the fees paid for the transfer.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - contract
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer fungible tokens that implement the [ERC-20
                specification](https://eips.ethereum.org/EIPS/eip-20).
              title: EVM Fungible Token (ERC-20)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Erc721
                contract:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                  description: The ERC-721 contract address.
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                  description: The destination address.
                tokenId:
                  type: string
                  pattern: ^\d+$
                  description: The token to transfer.
                priority:
                  type: string
                  enum:
                    - Slow
                    - Standard
                    - Fast
                  description: The priority that determines the fees paid for the transfer.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - contract
                - to
                - tokenId
              additionalProperties: false
              description: >-
                Transfer non-fungible tokens that implement the [ERC-721
                specification](https://eips.ethereum.org/EIPS/eip-721)
              title: EVM Non Fungible Token (ERC-721)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Erc7984
                contract:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                  description: The ERC-7984 confidential token contract address.
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                priority:
                  type: string
                  enum:
                    - Slow
                    - Standard
                    - Fast
                  description: The priority that determines the fees paid for the transfer.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - contract
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer confidential tokens that implement the [ERC-7984
                specification](https://eips.ethereum.org/EIPS/eip-7984). The
                transfer amount is encrypted on-chain using Fully Homomorphic
                Encryption (FHE).
              title: EVM Confidential Token (ERC-7984)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Hip17
                tokenId:
                  type: string
                  description: The token to transfer.
                serialNumber:
                  type: string
                  pattern: ^\d+$
                to:
                  type: string
                  pattern: >-
                    ^(0x[0-9a-fA-F]{40}|0\.0\.(\d+|[0-9a-fA-F]{40}|[0-9a-fA-F]{64,}))$
                  description: The destination address.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - tokenId
                - serialNumber
                - to
              additionalProperties: false
              description: ''
              title: Hedera Non-Fungible Token (HIP-17)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Hts
                tokenId:
                  type: string
                  description: The token to transfer.
                to:
                  type: string
                  pattern: >-
                    ^(0x[0-9a-fA-F]{40}|0\.0\.(\d+|[0-9a-fA-F]{40}|[0-9a-fA-F]{64,}))$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - tokenId
                - to
                - amount
              additionalProperties: false
              description: ''
              title: Hedera Tokens (HTS)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Iou
                currency:
                  type: string
                  description: The IOU currency code.
                issuer:
                  type: string
                  pattern: ^r[1-9A-HJ-NP-Za-km-z]{24,34}$
                  description: The IOU issuer address.
                to:
                  type: string
                  pattern: ^r[1-9A-HJ-NP-Za-km-z]{24,34}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - currency
                - issuer
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer XRPL IOU tokens with specified currency and issuer.
                (https://xrpl.org/docs/concepts/tokens/fungible-tokens/trust-line-tokens)
              title: XRPL IOU Token
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Sep41
                issuer:
                  type: string
                  pattern: ^(G[A-Z0-9]{55}|M[A-Z0-9]{68})$
                  description: The asset issuer address.
                assetCode:
                  type: string
                  description: The asset code.
                to:
                  type: string
                  pattern: ^(G[A-Z0-9]{55}|M[A-Z0-9]{68})$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - issuer
                - assetCode
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer classic [Stellar
                Assets](https://developers.stellar.org/docs/issuing-assets/anatomy-of-an-asset).
                They all implement the [SEP-41 token
                interface](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0041.md).
              title: Stellar Classic Assets (SEP-41)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Snip2
                contract:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                  description: The SNIP-2 (ERC-20-like) contract address.
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - contract
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer fungible tokens that implement the [SNIP-2
                (ERC-20-like)
                specification](https://github.com/starknet-io/SNIPs/blob/ea46a8777d8c8d53a43f45b7beb1abcc301a1a69/SNIPS/snip-2.md).
              title: Starknet SNIP-2 (ERC-20 like)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Snip3
                contract:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                  description: The SNIP-3 (ERC-721) contract address.
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                  description: The destination address.
                tokenId:
                  type: string
                  pattern: ^\d+$
                  description: The token to transfer.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - contract
                - to
                - tokenId
              additionalProperties: false
              description: >-
                Transfer non-fungible tokens that implement the [SNIP-3
                (ERC-721-like)
                specification](https://github.com/starknet-io/SNIPs/blob/ea46a8777d8c8d53a43f45b7beb1abcc301a1a69/SNIPS/snip-3.md)
              title: Starknet SNIP-3 (ERC-721-like)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Spl
                    - Spl2022
                to:
                  type: string
                  pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                mint:
                  type: string
                  pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
                  description: The mint account address.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                createDestinationAccount:
                  type: boolean
                  description: >-
                    If `true`, pay to create the associated token account for
                    the recipient if it doesn't exist. Defaults to `false`.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - to
                - amount
                - mint
              additionalProperties: false
              description: >-
                Transfer [SPL tokens](https://spl.solana.com/token) or [SPL 2022
                tokens](https://spl.solana.com/token-2022).
              title: Solana Program Library Token (SPL and SPL 2022)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Tep74
                to:
                  type: string
                  pattern: ^(?:[A-Za-z0-9\-_]{48}|\d+:[a-fA-F0-9]{64})$
                  description: The destination address.
                master:
                  type: string
                  pattern: ^(?:[A-Za-z0-9\-_]{48}|\d+:[a-fA-F0-9]{64})$
                  description: The Jetton master contract address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - to
                - master
                - amount
              additionalProperties: false
              description: >-
                Transfer
                [Jetton](https://github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md)
                tokens.
              title: TON Jetton (TEP-74)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Trc10
                tokenId:
                  type: string
                  pattern: ^\d+$
                  description: The token ID.
                to:
                  type: string
                  pattern: ^T[0-9a-zA-Z]{33}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - tokenId
                - to
                - amount
              additionalProperties: false
              description: Transfer TRON's TRC-10 fungible tokens
              title: TRON Native Fungible Token (TRC-10)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Trc20
                contract:
                  type: string
                  pattern: ^T[0-9a-zA-Z]{33}$
                  description: The smart contract address.
                to:
                  type: string
                  pattern: ^T[0-9a-zA-Z]{33}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - contract
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer fungible tokens that implement the TRC-20 smart
                contract specification.
              title: TRON Smart Contract Fungible Token (TRC-20)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Trc721
                contract:
                  type: string
                  pattern: ^T[0-9a-zA-Z]{33}$
                  description: The smart contract address.
                to:
                  type: string
                  pattern: ^T[0-9a-zA-Z]{33}$
                  description: The destination address.
                tokenId:
                  type: string
                  pattern: ^\d+$
                  description: The token to transfer.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - contract
                - to
                - tokenId
              additionalProperties: false
              description: >-
                Transfer non-fungible tokens that implement the TRC-721 smart
                contract specification.
              title: TRON Non Fungible Token (TRC-721)
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Xls33
                issuanceId:
                  type: string
                  description: The XLS-33 issuance identifier.
                to:
                  type: string
                  pattern: ^r[1-9A-HJ-NP-Za-km-z]{24,34}$
                  description: The destination address.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: The amount of tokens to transfer in minimum denomination.
                memo:
                  anyOf:
                    - type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9]+$
                    - type: string
                      enum:
                        - ''
                  description: The memo or destination tag.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key. (read more
                    [here](https://docs.dfns.co/api-reference/idempotency))
                travelRule:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Notabene
                        beneficiaryVASPdid:
                          type: string
                        beneficiaryProof:
                          type: object
                          additionalProperties: {}
                        originator:
                          type: object
                          additionalProperties: {}
                        beneficiary:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - originator
                        - beneficiary
                      additionalProperties: false
                      title: Notabene Travel Rule
                  description: >-
                    A travel rule payload to associate with the transfer. (read
                    more [here](https://docs.dfns.co/features/travel-rule))
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will be used to pay for your
                    transfer fees, it might not be available for all
                    blockchains. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - issuanceId
                - to
                - amount
              additionalProperties: false
              description: >-
                Transfer XRPL XLS-33 Token with specified issuance ID.
                (https://xrpl.org/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens
              title: XRPL XLS-33 Token
        metadata:
          type: object
          properties:
            asset:
              type: object
              properties:
                symbol:
                  type: string
                decimals:
                  type: integer
                  description: >-
                    Number of decimals used by the asset, see [this
                    guide](https://docs.dfns.co/guides/developers/displaying-balances)
                    for more details.
                verified:
                  type: boolean
                  description: Whether the asset is verified by DFNS as legitimate.
                quotes:
                  type: object
                  properties:
                    EUR:
                      type: number
                    USD:
                      type: number
                  description: Corresponding asset price in USD at the time of transfer.
          required:
            - asset
          description: Additional metadata about the transfered asset.
        status:
          type: string
          enum:
            - Pending
            - Executing
            - Broadcasted
            - Confirmed
            - Failed
            - Rejected
          description: >-
            Transfer status.


            | Status | Definition |

            | --- | --- |

            | `Pending` | The request is pending approval due to a policy
            applied to the wallet. |

            | `Executing` | The request is approved and is in the process of
            being executed. note this status is only set for a short time
            between pending and broadcasted. |

            | `Broadcasted` | The transaction has been successfully written to
            the mempool. |

            | `Confirmed` | The transaction has been confirmed on-chain by our
            indexing pipeline. |

            | `Failed` | Indicates either system failure to complete the request
            or the transaction failed on chain. |

            | `Rejected` | The request has been rejected by a policy approval
            action. |
        reason:
          type: string
          description: The reason for a failed transfer.
        txHash:
          type: string
          description: The blockchain transaction hash for this transfer.
        fee:
          type: string
          description: The fee paid for this transfer in minimum denomination.
        dateRequested:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transfer was requested.
          example: '2023-04-14T20:41:28.715Z'
        datePolicyResolved:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transfer was approved by policy reviewers.
          example: '2023-04-14T20:41:28.715Z'
        dateBroadcasted:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transfer was broadcasted to the blockchain.
          example: '2023-04-14T20:41:28.715Z'
        dateConfirmed:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transfer was confirmed on chain.
          example: '2023-04-14T20:41:28.715Z'
        approvalId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^ap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: The id of the approval request if this transfer triggered a policy.
          example: ap-2a9in-tt2a1-983lho480p35ejd0
        externalId:
          type: string
          description: The external id provided at transfer creation time.
        feeSponsorId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: The fee sponsor id used to pay for the transfer fees.
          example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
      required:
        - id
        - walletId
        - network
        - requester
        - requestBody
        - metadata
        - status
        - dateRequested
    TransactionRequest:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^tx-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Transaction id.
          example: tx-583hu-sp2p7-slvb9nqpa3hd8bus
        walletId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Wallet id.
          example: wa-5pfuu-9euek-h0odgb6snva8ph3k
        network:
          $ref: '#/components/schemas/Network'
        requester:
          $ref: '#/components/schemas/Requester'
        requestBody:
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Transaction
                transaction:
                  anyOf:
                    - type: string
                      pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                    - type: object
                      properties: {}
                  description: >-
                    The unsigned hex encoded transaction or JSON transactions
                    for compatible networks.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - transaction
              additionalProperties: false
              description: >
                Signs an unsigned transaction and broadcasts it to chain.

                For EVM transactions, you may use JSON objects:


                | Field                |
                Description                                                                                                                                                                                                                        
                | Type - Optional              |

                |----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|

                | type                 | Ethereum transaction type. 0 for legacy
                transaction; 2 for EIP-1559 transaction; 4 for EIP-7702
                transaction. Default is 2 if
                undefined.                                                                                            
                | Integer (optional)           |

                | to                   | The destination address or target
                contract. Leave undefined when the transaction is a contract
                deployment.                                                                                                                         
                | String (optional)            |

                | value                | The amount of native tokens to transfer
                in minimum
                denomination.                                                                                                                                                                   
                | String (optional)            |

                | data                 | ABI encoded function call data in hex
                format. Can also be the encoded smart contract data when the
                transaction is a contract
                deployment.                                                                                           
                | String (optional)            |

                | nonce                | The transaction number to guarantee
                idempotency. If omitted, it will be provided automatically. Note
                the same nonce can be submitted multiple times with a higher
                maxFeePerGas to "overwrite" existing transactions in the
                mempool. | Integer or String (optional) |

                | gasLimit             | The maximum amount of gas that can be
                spent for executing the transaction. If omitted, it will be
                calculated
                automatically.                                                                                                        
                | String (optional)            |

                | gasPrice             | The amount of per unit gas. Only valid
                for a type 0 legacy transaction. If omitted, it will be
                calculated
                automatically.                                                                                                           
                | String (optional)            |

                | maxFeePerGas         | The maximum amount of per unit gas
                willing to be paid for the transaction. Valid for type 2 and
                type 4 transactions. If omitted, it will be calculated
                automatically.                                                              
                | String (optional)            |

                | maxPriorityFeePerGas | The maximum amount of per unit gas to
                be included as a tip to the validator. Valid for type 2 and type
                4 transactions. If omitted, it will be calculated
                automatically.                                                            
                | String (optional)            |

                | authorizationList    | A list that indicates what code the
                signer of each authorization desires to execute in the context
                of their EOA. Only valid for type 4
                transaction.                                                                                
                | Authorization (optional)     |


                For Starknet transactions, you may use invocation request
                objects
                (https://github.com/starkware-libs/starknet-specs/blob/v0.8.1/api/starknet_api_openrpc.json#L2621):


                | Field                         |
                Description                                                                                        
                | Type - Optional                  |

                |-------------------------------|-----------------------------------------------------------------------------------------------------|----------------------------------|

                | calldata                      | **Array** of encoded function
                call
                parameters                                                      
                | **Array of Strings** (required)  |

                | nonce                         | Transaction nonce in hex
                format                                                                    
                | String (required)                |

                | version                       | Transaction version in hex
                format. Typically "0x3" for current
                transactions                         | String
                (required)                |

                | resourceBounds                | Gas bounds for L1, L2, and L1
                data
                gas                                                             
                | Object (required)                |

                | ↳ resourceBounds.l1Gas        | L1 gas configuration with
                maxAmount and
                maxPricePerUnit                                             |
                Object (required)                |

                | ↳ resourceBounds.l2Gas        | L2 gas configuration with
                maxAmount and
                maxPricePerUnit                                             |
                Object (required)                |

                | ↳ resourceBounds.l1DataGas    | L1 data gas configuration with
                maxAmount and
                maxPricePerUnit                                        | Object
                (required)                |

                | tip                           | Transaction tip in hex format.
                Typically
                "0x0"                                                      |
                String (required)                |

                | paymasterData                 | Paymaster data
                array                                                                               
                | Array of Strings (required)      |

                | accountDeploymentData         | Account deployment data
                array                                                                      
                | Array of Strings (required)      |

                | nonceDataAvailabilityMode     | Data availability mode for
                nonce. Typically "L1" for
                now                                            | String
                (required)                |

                | feeDataAvailabilityMode       | Data availability mode for
                fee. Typically "L1" for
                now                                              | String
                (required)                |


                For Concordium transactions, you may use JSON objects (from
                https://github.com/Concordium/concordium-node-sdk-js/blob/sdk/12.0.0-alpha.3/packages/sdk/src/transactions/Transaction.ts#L102)


                | Field                            |
                Description                                                                                                                                                 
                | Type - Optional

                |----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|

                | Header                           | Transaction header for the
                intermediary state of account transactions, i.e. prior to being
                signing.                                                         
                | Object (required)               |

                | ↳ Header.executionEnergyAmount   | The destination address or
                target contract. Leave undefined when the transaction is a
                contract
                deployment.                                                   |
                String/Number/BigInt (required) |

                | ↳ Header.numSignatures           | The number of signatures
                the transaction can hold. If "undefined", this will be defined
                at the time of
                signing                                               | Integer
                (optional)              |

                | ↳ Header.sender                  | The account address that is
                source of this
                transaction                                                                                                      
                | String (optional)               |

                | ↳ Header.nonce                   | The account
                nonce                                                                                                                                           
                | String/Number/BigInt (optional) |

                | ↳ Header.expiry                  | expiration of the
                transaction                                                                                                                               
                | Integer (optional)              |

                | Payload                          | The transaction account
                payload in JSON format
                (https://github.com/Concordium/concordium-node-sdk-js/blob/main/packages/sdk/src/accountTransactions.ts#L646)
                | Object (required)               |




                ```json

                {
                  "kind": "Transaction",
                  "transaction": {
                    "to": "0x00fb58432ef9d418bf6688bcf0a226d2fcaa18e2",
                    "data": "0x40d097c3000000000000000000000000d2f77f85a50cdd650ca562f3a180284e1d5b4934",
                    "maxFeePerGas": "1626000000000",
                    "maxPriorityFeePerGas": "1332000000000"
                  }
                }

                ```


                ```json

                {
                  "kind": "Transaction",
                  "transaction": {
                    "type": "INVOKE",
                    "calldata": [
                      "1",
                      "2009894490435840142178314390393166646092438090257831307886760648929397478285",
                      "232670485425082704932579856502088130646006032362877466777181098476241604910",
                      "3",
                      "296727860213112272332383824629975240127004024814636931420022890499591637514",
                      "1",
                      "0"
                    ],
                    "nonce": "0x51",
                    "version": "0x3",
                    "resourceBounds": {
                      "l1Gas": { "maxAmount": "0x0", "maxPricePerUnit": "0x239a01ff6e6c" },
                      "l2Gas": { "maxAmount": "0x1694a0", "maxPricePerUnit": "0x10c388d00" },
                      "l1DataGas": { "maxAmount": "0x120", "maxPricePerUnit": "0x98e8" }
                    },
                    "tip": "0x0",
                    "paymasterData": [],
                    "accountDeploymentData": [],
                    "nonceDataAvailabilityMode": "L1",
                    "feeDataAvailabilityMode": "L1",
                  }
                }

                ```


                ```json

                {
                  "kind": "Transaction",
                  "transaction": {
                    "header": {
                      "sender": undefined,
                      "nonce": undefined,
                      "expiry": undefined,
                      "executionEnergyAmount": 300
                    },
                    "payload": {
                      "type": "transferWithMemo",
                      "toAddress": "4HhAcToZs6rtxGcgsBRS3VcjeAECPTTSTFVUKS6rBSVEZAPL6d",
                      "memo": "000968656c6c6f20636364",
                      "amount": "1"
                    }
                  }
                }

                ```
              title: Transaction
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Psbt
                psbt:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: The hex encoded PSBT.
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - psbt
              additionalProperties: false
              description: Signs a partially signed Bitcoin / Litecoin transaction.
              title: PSBT
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - SignDocDirect
                signDoc:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - signDoc
              additionalProperties: false
              description: >-
                Signs an unsigned transaction using [sign mode
                direct](https://docs.cosmos.network/main/learn/advanced/transactions#sign_mode_direct-preferred).
              title: SignDocDirect
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - UserOperations
                userOperations:
                  type: array
                  items:
                    type: object
                    properties:
                      to:
                        type: string
                        pattern: ^0x[0-9a-fA-F]{40}$
                        description: The destination address or target contract.
                      value:
                        type: string
                        pattern: ^\d+$
                        description: >-
                          The amount of native tokens to transfer in minimum
                          denomination.
                      data:
                        type: string
                        pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                        description: ABI encoded function call data in hex format.
                    required:
                      - to
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    A fee sponsor id to sponsor the transaction fee by another
                    wallet. (read more
                    [here](https://docs.dfns.co/features/fee-sponsors))
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - userOperations
                - feeSponsorId
              additionalProperties: false
              description: >-
                Signs one or more user operations and broadcasts to chain using
                a sponsored transaction. Used for invoking arbitrary smart
                contract calls, including batch operations, with a [fee
                sponsor](https://docs.dfns.co/features/fee-sponsors).


                Can only be used with a fee sponsor. Unsponsored user operations
                are not supported.
              title: EVM Sponsored transaction
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - FunctionCall
                call:
                  type: object
                  properties: {}
                  description: Function call arguments
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - call
              additionalProperties: false
              description: Calls an on-chain function that mutates state.
              title: Function Call
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - TransferPreapproval
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
              additionalProperties: false
              description: Enable canton coin auto approval.
              title: Canton Transfer Preapproval
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Evm
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                value:
                  anyOf:
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                data:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                nonce:
                  anyOf:
                    - type: integer
                      minimum: 0
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                  description: The current nonce of the signer EOA.
                gasLimit:
                  anyOf:
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
              additionalProperties: false
              description: >-
                Deprecated. Only support type 2 transactions. Use the new JSON
                format with `Transaction` kind instead which has support for
                legacy and type 4 transactions.
              title: <Deprecated> EVM Transaction
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Eip1559
                to:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                value:
                  anyOf:
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                data:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                nonce:
                  anyOf:
                    - type: integer
                      minimum: 0
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                gasLimit:
                  anyOf:
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                maxFeePerGas:
                  anyOf:
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                maxPriorityFeePerGas:
                  anyOf:
                    - type: string
                      pattern: ^\d+$
                    - type: string
                      pattern: ^0x[0-9a-fA-F]*$
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
              additionalProperties: false
              description: >-
                Deprecated. Only support type 2 transactions. Use the new JSON
                format with `Transaction` kind instead which has support for
                legacy and type 4 transactions.
              title: <Deprecated> EVM EIP-1559
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - SettleOffer
                txHash:
                  type: string
                decision:
                  type: string
                  enum:
                    - Accept
                    - Reject
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - txHash
                - decision
              additionalProperties: false
              description: Transaction for accepting or refusing a transfer offer.
              title: Offer Settlement
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - ActivateAccount
                args:
                  type: object
                  properties: {}
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
              additionalProperties: false
              description: Transaction for activating an account after creation.
              title: Account Activation
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - CancelTransaction
                txHash:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                signedTx:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - signedTx
              additionalProperties: false
              description: Transaction cancelling a previously sent transaction.
              title: Transaction Cancellation
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - SpeedUpTransaction
                txHash:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                signedTx:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - txHash
                - signedTx
              additionalProperties: false
              description: Transaction speeding up a previously sent transaction.
              title: Transaction Speed Up
        status:
          type: string
          enum:
            - Pending
            - Executing
            - Broadcasted
            - Confirmed
            - Failed
            - Rejected
        reason:
          type: string
        txHash:
          type: string
        fee:
          type: string
        approvalId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^ap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          example: ap-2a9in-tt2a1-983lho480p35ejd0
        dateRequested:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transaction was requested.
          example: '2023-04-14T20:41:28.715Z'
        datePolicyResolved:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transaction was approved by policy reviewers.
          example: '2023-04-14T20:41:28.715Z'
        dateBroadcasted:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transaction was broadcasted to the blockchain.
          example: '2023-04-14T20:41:28.715Z'
        dateConfirmed:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the transaction was confirmed on chain.
          example: '2023-04-14T20:41:28.715Z'
        externalId:
          type: string
      required:
        - id
        - walletId
        - network
        - requester
        - requestBody
        - status
        - dateRequested
    SignatureRequest:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^sig-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Signature id.
          example: sig-4sfvl-f4iha-umighfi3hk4t54dr
        keyId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^key-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Key id.
          example: key-01snl-t56gb-j8tsok0vn802p80i
        requester:
          $ref: '#/components/schemas/Requester'
        requestBody:
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Hash
                hash:
                  type: string
                  pattern: ^(0x)?[0-9a-fA-F]{64}$
                  description: 32-byte hash in hex encoded format.
                taprootMerkleRoot:
                  type: string
                  pattern: ^(0x)?([0-9A-Fa-f]{64})?$
                  description: >-
                    Required when signing with a Schnorr key. Specify the merkle
                    root for tweaking the signing key, or the empty string "" to
                    tweak with the default merkle root.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - hash
              additionalProperties: false
              description: >-
                All cryptographic scheme support hash signing. Different
                blockchains will apply different hash functions to compute the
                hash.
              title: Hash
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Message
                message:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: An arbitrary hex encoded message.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - message
              additionalProperties: false
              description: Signs an arbitrary hex encoded arbitrary message.
              title: Message
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Transaction
                transaction:
                  anyOf:
                    - type: string
                      pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                    - type: object
                      properties: {}
                  description: >-
                    The unsigned hex encoded transaction or JSON object for
                    compatible networks
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - transaction
              additionalProperties: false
              description: >-
                Signs an unsigned transaction. The transaction parameter accepts
                hex-encoded transactions or JSON objects for compatible networks
                (Concordium, Starknet, Evm).


                The following blockchains only accept JSON transaction objects
                (not hex strings): Concordium, Starknet.


                For Starknet transactions, you may use invocation request
                objects
                (https://github.com/starkware-libs/starknet-specs/blob/v0.8.1/api/starknet_api_openrpc.json#L2621):


                | Field                         |
                Description                                                                                        
                | Type - Optional                  |

                |-------------------------------|-----------------------------------------------------------------------------------------------------|----------------------------------|

                | type                          | transaction type (always
                INVOKE             
                )                                                      | String
                (required)                |

                | calldata                      | **Array** of encoded function
                call
                parameters                                                      
                | **Array of Strings** (required)  |

                | nonce                         | Transaction nonce in hex
                format                                                                    
                | String (required)                |

                | version                       | Transaction version in hex
                format. Typically "0x3" for current
                transactions                         | String
                (required)                |

                | resourceBounds                | Gas bounds for L1, L2, and L1
                data
                gas                                                             
                | Object (required)                |

                | ↳ resourceBounds.l1Gas        | L1 gas configuration with
                maxAmount and
                maxPricePerUnit                                             |
                Object (required)                |

                | ↳ resourceBounds.l2Gas        | L2 gas configuration with
                maxAmount and
                maxPricePerUnit                                             |
                Object (required)                |

                | ↳ resourceBounds.l1DataGas    | L1 data gas configuration with
                maxAmount and
                maxPricePerUnit                                        | Object
                (required)                |

                | tip                           | Transaction tip in hex format.
                Typically
                "0x0"                                                      |
                String (required)                |

                | paymasterData                 | Paymaster data
                array                                                                               
                | Array of Strings (required)      |

                | accountDeploymentData         | Account deployment data
                array                                                                      
                | Array of Strings (required)      |

                | nonceDataAvailabilityMode     | Data availability mode for
                nonce. Typically "L1" for
                now                                            | String
                (required)                |

                | feeDataAvailabilityMode       | Data availability mode for
                fee. Typically "L1" for
                now                                              | String
                (required)                |

                | chainId                       | The chain identifier in hex
                format                                                                 
                | String (required)                |

                | senderAddress                 | The address of the account
                sending the
                transaction                                                  |
                String (required)                |


                For Concordium transactions, use account transaction objects
                (https://developer.concordium.software/concordium-node-sdk-js/classes/ccd_js_gen.ConcordiumGRPCClient.html):


                | Field                          |
                Description                                                                 
                | Type - Optional              |

                |--------------------------------|------------------------------------------------------------------------------|------------------------------|

                | header.sender                  | Account address
                (base58)                                                     |
                String (required)            |

                | header.nonce                   | Account
                nonce                                                               
                | String (required)            |

                | header.expiry                  | Unix epoch seconds
                expiry                                                    |
                Number (required)            |

                | header.executionEnergyAmount   | Max NRG for
                execution                                                       
                | String (required)            |

                | header.numSignatures           | Number of
                signatures                                                        
                | Number (optional)            |

                | payload                        | Transaction payload
                (type-specific, e.g. Transfer, RegisterData)             |
                Object (required)            |


                ```json

                {
                  "kind": "Transaction",
                  "blockchainKind": "Concordium",
                  "transaction": {
                    "header": {
                      "sender": "4FmiTW2L2AccyR36ZBRKNqwQvBJBH8CAXWMLB1dbX5WyZmRo6N",
                      "nonce": "42",
                      "expiry": 1709510400,
                      "executionEnergyAmount": "501"
                    },
                    "payload": {
                      "Transfer": {
                        "amount": "1000000",
                        "toAddress": "3U4sfVSqGG6XK8g6eho2qRYtnHc4MWJBG1dfxdtPGbfHwFxini"
                      }
                    }
                  }
                }

                ```


                ```json

                {
                  "kind": "Transaction",
                  "transaction": "0xe703847735941a82520894f0965f5eb35ace69f01b77031f2cff22daca622887470de4df82000080"
                }

                ```


                ```json

                {
                  "kind": "Transaction",
                  "transaction": {
                    "type": "INVOKE",
                    "calldata": [
                      "1",
                      "2009894490435840142178314390393166646092438090257831307886760648929397478285",
                      "232670485425082704932579856502088130646006032362877466777181098476241604910",
                      "3",
                      "296727860213112272332383824629975240127004024814636931420022890499591637514",
                      "1",
                      "0"
                    ],
                    "nonce": "0x51",
                    "version": "0x3",
                    "resourceBounds": {
                      "l1Gas": { "maxAmount": "0x0", "maxPricePerUnit": "0x239a01ff6e6c" },
                      "l2Gas": { "maxAmount": "0x1694a0", "maxPricePerUnit": "0x10c388d00" },
                      "l1DataGas": { "maxAmount": "0x120", "maxPricePerUnit": "0x98e8" }
                    },
                    "tip": "0x0",
                    "paymasterData": [],
                    "accountDeploymentData": [],
                    "nonceDataAvailabilityMode": "L1",
                    "feeDataAvailabilityMode": "L1",
                    "chainId": "0x534e5f5345504f4c4941",
                    "senderAddress": "0x0535a9762b984c876abe0b164b0ccedb0d23a78978c9fe87e29deae0ea890c72"
                  }
                }

                ```
              title: Transaction
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Eip191
                message:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: Hex-encoded message.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - message
              additionalProperties: false
              description: >-
                Signs an personal_sign message as defined in
                [EIP-191](https://eips.ethereum.org/EIPS/eip-191).
              title: EIP-191 personal_sign Message
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Eip712
                types:
                  type: object
                  additionalProperties:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        type:
                          type: string
                      required:
                        - name
                        - type
                      additionalProperties: false
                  description: Type definitions.
                domain:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the signing domain.
                    version:
                      type: string
                      description: Current major version of the signing domain.
                    chainId:
                      anyOf:
                        - type: integer
                          exclusiveMinimum: 0
                        - type: string
                      description: Chain ID.
                    verifyingContract:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{40}$
                      description: >-
                        The address of the contract that will verify the
                        signature.
                    salt:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{64}$
                      description: 32-byte value as a last-resort domain separator.
                  additionalProperties: false
                  description: Domain separator.
                message:
                  type: object
                  additionalProperties: {}
                  description: Structured message to sign.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - types
                - domain
                - message
              additionalProperties: false
              description: >-
                Signs a typed structured data as defined in
                [EIP-712](https://eips.ethereum.org/EIPS/eip-712).
              title: EIP-712 TypedData
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Eip7702
                address:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: >-
                    The address of the contract the signer's EOA will be
                    delegated to.
                nonce:
                  type: number
                  description: The current nonce of the signer EOA.
                chainId:
                  type: number
                  description: Chain ID.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - address
                - nonce
                - chainId
              additionalProperties: false
              description: >-
                Signs an authorization tuple for type 4 set code transaction
                defined in [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702).
              title: EIP-7702 Authorization
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Snip12
                primaryType:
                  type: string
                  description: The primary type of the message.
                types:
                  type: object
                  additionalProperties:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        type:
                          type: string
                      required:
                        - name
                        - type
                      additionalProperties: false
                  description: Type definitions.
                domain:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the signing domain.
                    version:
                      type: string
                      description: Current major version of the signing domain.
                    chainId:
                      anyOf:
                        - type: integer
                          exclusiveMinimum: 0
                        - type: string
                      description: Chain ID.
                    revision:
                      anyOf:
                        - type: number
                        - type: string
                      description: Revision of the domain.
                  description: Domain separator.
                message:
                  type: object
                  additionalProperties: {}
                  description: Structured message to sign.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - primaryType
                - types
                - domain
                - message
              additionalProperties: false
              description: >-
                Signs a typed structured data as defined in
                [SNIP-12](https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-12.md).
              title: SNIP-12 TypedData
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Psbt
                psbt:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: The hex encoded PSBT.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - psbt
              additionalProperties: false
              description: Signs a partially signed Bitcoin / Litecoin transaction.
              title: PSBT
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Bip322
                message:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: The generic message hex encoded.
                format:
                  type: string
                  enum:
                    - Simple
                    - Full
                  description: >-
                    Defaults to Simple if not present. The formatted signature
                    is returned in the `signedData` field in the response.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - message
              additionalProperties: false
              description: >-
                Signs a generic message using
                [BIP-322](https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki).
                Note: signing payload construction depends on the targeted
                blockchain. Therefore it's tied to a specific `network` rather
                than the blockchain kind.
              title: BIP-322
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - SignDocDirect
                signDoc:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: The hex encoded `SignDoc` Protobuf.
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - signDoc
              additionalProperties: false
              description: >-
                Signs an unsigned transaction using [sign mode
                direct](https://docs.cosmos.network/main/learn/advanced/transactions#sign_mode_direct-preferred).
              title: SignDocDirect
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - SignerPayload
                payload:
                  anyOf:
                    - type: string
                      pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                    - type: object
                      properties: {}
                  description: >
                    The unsigned Signer Payload formatted as JSON, or as a
                    serialized hex-encoded buffer.


                    Please refer to the original Polkadot definition for more
                    details:
                    [SignerPayloadJson](https://github.com/polkadot-js/api/blob/v16.2.2/packages/types/src/types/extrinsic.ts#L32).
                    Note that additional fields will be rejected.


                    | Field                |
                    Description                                                                             
                    | Type - Optional      |

                    | -------------------- |
                    ----------------------------------------------------------------------------------------
                    | -------------------- |

                    | `address`            | ss58-encoded address of the sending
                    account.                                             |
                    String               |

                    | `blockHash`          | The hash of the checkpoint block,
                    hex encoded.                                           |
                    String               |

                    | `blockNumber`        | The checkpoint block number, hex
                    encoded.                                                |
                    String               |

                    | `era`                | The number of blocks after the
                    checkpoint for which a transaction is valid, hex encoded. |
                    String               |

                    | `genesisHash`        | The genesis hash of the chain, hex
                    encoded.                                              |
                    String               |

                    | `metadataHash`       | The metadataHash for the
                    CheckMetadataHash SignedExtension, hex
                    encoded.                 | String *(optional)*  |

                    | `mode`               | flag indicating whether to verify
                    the metadata hash or not.                              |
                    Integer *(optional)* |

                    | `method`             | The encoded method with arguments,
                    hex encoded.                                          |
                    String               |

                    | `nonce`              | The nonce for the transaction, hex
                    encoded.                                              |
                    String               |

                    | `tip`                | The tip to increase transaction
                    priority, hex encoded.                                   |
                    String               |

                    | `version`            | The version of the
                    extrinsic.                                                           
                    | Integer              |

                    | `specVersion`        | The current spec version for the
                    runtime, hex encoded.                                   |
                    String               |

                    | `transactionVersion` | The current transaction version for
                    the runtime, hex encoded.                            |
                    String               |

                    | `signedExtensions`   | The applicable signed extensions
                    for this runtime.                                       |
                    Array<String>       |


                    ```json

                    {
                      "network": "Polymesh",
                      "kind": "SignerPayload",
                      "payload": {
                        "address": "5H5tTnmLUqRgvTZvTwCdBKYjKLBm2gkp7u38Q9UUdJa8m6rX",
                        "blockHash": "0x2ace05e703aa50b48c0ccccfc8b424f7aab9a1e2c424ed12e45d20b1e8ffd0d6",
                        "blockNumber": "0x00000000",
                        "era": "0x00",
                        "genesisHash": "0x2ace05e703aa50b48c0ccccfc8b424f7aab9a1e2c424ed12e45d20b1e8ffd0d6",
                        "method": "0x07141f3da32e72ac6eb6cb40d9e757594363a617b2c3964a2b6ec6895c6648f48d500000",
                        "nonce": "0x00000000",
                        "tip": "0x00000000000000000000000000000000",
                        "version": 4,
                        "specVersion": "0x006adb7a",
                        "transactionVersion": "0x00000007",
                        "signedExtensions": []
                      }
                    }

                    ```
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - payload
              additionalProperties: false
              description: >-
                Signs a [generic Signer
                Payload](https://github.com/polkadot-js/api/blob/v15.0.1/packages/types/src/extrinsic/SignerPayload.ts#L47-L51).
                Note: converting the generic signer payload to a signable
                extrinsic requires fetching metadata from the targeted
                blockchain. Therefore it's tied to a specific `network` rather
                than the blockchain kind.
              title: SignerPayload
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Cip8
                payload:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: The generic message hex encoded.
                externalAad:
                  type: string
                  pattern: ^(0x)?([0-9a-fA-F][0-9a-fA-F])*$
                  description: >-
                    Allows an application to ask the user to sign some extra
                    data but NOT put it inside the COSE structure (only as part
                    of the data to sign).
                context:
                  type: string
                  enum:
                    - Signature1
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - context
              additionalProperties: false
              description: >-
                Signs an arbitrary message using
                [CIP-8](https://cips.cardano.org/cip/CIP-0008). Note: signing
                address depends on the targeted blockchain. Therefore it's tied
                to a specific `network` rather than the blockchain kind.
              title: CIP-8
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - DfnsSmartAccountTransaction
                structured:
                  type: object
                  properties:
                    address:
                      type: string
                    userOperations:
                      type: array
                      items:
                        type: object
                        properties:
                          to:
                            type: string
                          value:
                            type: string
                          data:
                            type: string
                        required:
                          - to
                    message:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Eip712
                        domain:
                          type: object
                          properties:
                            name:
                              type: string
                            version:
                              type: string
                            chainId:
                              anyOf:
                                - type: number
                                - type: string
                            verifyingContract:
                              type: string
                            salt:
                              type: string
                        types:
                          type: object
                          additionalProperties:
                            type: array
                            items:
                              type: object
                              properties:
                                name:
                                  type: string
                                type:
                                  type: string
                              required:
                                - name
                                - type
                        message:
                          type: object
                          additionalProperties: {}
                      required:
                        - kind
                        - domain
                        - types
                        - message
                    authorization:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Eip7702
                        address:
                          type: string
                        nonce:
                          type: number
                        chainId:
                          type: number
                      required:
                        - kind
                        - address
                        - nonce
                        - chainId
                  required:
                    - address
                    - userOperations
                    - message
                signatures:
                  type: object
                  additionalProperties:
                    type: object
                    properties:
                      r:
                        type: string
                      s:
                        type: string
                      recid:
                        type: number
                      encoded:
                        type: string
                    required:
                      - r
                      - s
                transactionReference:
                  type: string
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - structured
                - signatures
                - transactionReference
              additionalProperties: false
              title: Dfns Smart Account Transaction
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - StellarFeeBumpTransaction
                innerTransaction:
                  type: string
                transactionReference:
                  type: string
                network:
                  $ref: '#/components/schemas/Network'
                blockchainKind:
                  $ref: '#/components/schemas/BlockchainKind'
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    A unique ID from your system. It can be leveraged to be used
                    as an idempotency key (read more
                    [here](https://docs.dfns.co/api-reference/idempotency)).
              required:
                - kind
                - innerTransaction
                - transactionReference
              additionalProperties: false
              title: Stellar Fee Bump Transaction
        status:
          type: string
          enum:
            - Pending
            - Executing
            - Signed
            - Confirmed
            - Failed
            - Rejected
        reason:
          type: string
        signature:
          type: object
          properties:
            r:
              type: string
            s:
              type: string
            recid:
              type: number
            encoded:
              type: string
          required:
            - r
            - s
        signatures:
          type: array
          items:
            type: object
            properties:
              r:
                type: string
              s:
                type: string
              recid:
                type: number
              encoded:
                type: string
            required:
              - r
              - s
        signedData:
          type: string
        network:
          $ref: '#/components/schemas/Network'
        txHash:
          type: string
        fee:
          type: string
        approvalId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^ap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          example: ap-2a9in-tt2a1-983lho480p35ejd0
        dateRequested:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the signature was requested.
          example: '2023-04-14T20:41:28.715Z'
        datePolicyResolved:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the signature was approved by policy reviewers.
          example: '2023-04-14T20:41:28.715Z'
        dateSigned:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the signature was signed.
          example: '2023-04-14T20:41:28.715Z'
        dateConfirmed:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the signature was confirmed on chain.
          example: '2023-04-14T20:41:28.715Z'
        externalId:
          type: string
      required:
        - id
        - keyId
        - requester
        - requestBody
        - status
        - dateRequested
    Swap:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^swap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Swap id.
          example: swap-5ch70-fc3n7-3k2cbo8d7q5lnts4
        quoteId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^swapQuote-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Id of the quote this swap is based on.
          example: swapQuote-7n9p0-cth75-6l74n2sj7u73ooeq
        reference:
          type:
            - string
            - 'null'
          description: Optional user-defined reference for this Swap.
        walletId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Id of the Dfns wallet spending the sourceAsset.
          example: wa-5pfuu-9euek-h0odgb6snva8ph3k
        targetWalletId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: >-
            Id of the Dfns wallet receiving the target asset. Currently this
            value must be the same as the `walletId`.
          example: wa-5pfuu-9euek-h0odgb6snva8ph3k
        status:
          type: string
          enum:
            - PendingPolicyApproval
            - InProgress
            - Completed
            - Failed
            - Rejected
          description: Swap status.
        provider:
          type: string
          enum:
            - UniswapX
            - UniswapClassic
          description: Swap provider.
        quotedSourceAsset:
          allOf:
            - oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Native
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - amount
                  title: Native Asset
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Erc20
                    contract:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{40}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - contract
                    - amount
                  title: EVM Fungible Token (ERC-20)
            - type: object
              properties:
                metadata:
                  type: object
                  properties:
                    network:
                      $ref: '#/components/schemas/Network'
                    name:
                      type: string
                    symbol:
                      type: string
                    decimals:
                      type: number
                    tid:
                      type: string
                  required:
                    - network
                    - decimals
              required:
                - metadata
          description: The source asset for this swap transaction.
        quotedTargetAsset:
          allOf:
            - oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Native
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - amount
                  title: Native Asset
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Erc20
                    contract:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{40}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - contract
                    - amount
                  title: EVM Fungible Token (ERC-20)
            - type: object
              properties:
                metadata:
                  type: object
                  properties:
                    network:
                      $ref: '#/components/schemas/Network'
                    name:
                      type: string
                    symbol:
                      type: string
                    decimals:
                      type: number
                    tid:
                      type: string
                  required:
                    - network
                    - decimals
              required:
                - metadata
          description: The target asset for this swap transaction.
        slippageBps:
          type: number
          description: >-
            The slippage tolerance for this trade in [basis
            point](https://en.wikipedia.org/wiki/Basis_point) (BPS). Slippage
            tolerance defines the maximum price difference you are willing to
            accept during a trade from the estimated quote, ensuring you still
            receive at least a minimum number of tokens if the price shifts. One
            basis point equals one-hundredth of a percentage point, or 0.01%.
        dateCreated:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the swap was initiated.
        requestBody:
          anyOf:
            - type: object
              properties:
                quoteId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^swapQuote-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: Quote to use for this swap.
                  example: swapQuote-7n9p0-cth75-6l74n2sj7u73ooeq
                reference:
                  type: string
                  description: An optional reference for this Swap.
                provider:
                  type: string
                  enum:
                    - UniswapX
                    - UniswapClassic
                  description: >-
                    Provided for this swap. Used for attesting that the swap is
                    being created with the same parameters as the quote.
                walletId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the Dfns wallet spending the sourceAsset. Used for
                    attesting that the swap is being created with the same
                    parameters as the quote.
                  example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                targetWalletId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the Dfns wallet receiving the target asset. Currently
                    this value must be the same as the `walletId`. Used for
                    attesting that the swap is being created with the same
                    parameters as the quote.
                  example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                slippageBps:
                  type: number
                  description: >-
                    The slippage tolerance for this trade in [basis
                    point](https://en.wikipedia.org/wiki/Basis_point) (BPS).
                    Slippage tolerance defines the maximum price difference you
                    are willing to accept during a trade from the estimated
                    quote, ensuring you still receive at least a minimum number
                    of tokens if the price shifts. One basis point equals
                    one-hundredth of a percentage point, or 0.01%. Used for
                    attesting that the swap is being created with the same
                    parameters as the quote. 
                sourceAsset:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Native
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - amount
                      title: Native Asset
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Erc20
                        contract:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - contract
                        - amount
                      title: EVM Fungible Token (ERC-20)
                  description: >-
                    The source asset that will be spent on the Swap transaction.
                    Used for attesting that the swap is being created with the
                    same parameters as the quote.
                targetAsset:
                  oneOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Native
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - amount
                      title: Native Asset
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Erc20
                        contract:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - contract
                        - amount
                      title: EVM Fungible Token (ERC-20)
                  description: >-
                    The target asset that will be received with the Swap
                    transaction. Used for attesting that the swap is being
                    created with the same parameters as the quote.
              required:
                - quoteId
                - provider
                - walletId
                - slippageBps
                - sourceAsset
                - targetAsset
            - type: object
              properties: {}
          description: The full request used for initiating this swap.
        requester:
          $ref: '#/components/schemas/Requester'
        failureReason:
          type: string
          description: The failure reason, if any. Only present when status is Failed.
      required:
        - id
        - quoteId
        - reference
        - walletId
        - targetWalletId
        - status
        - provider
        - quotedSourceAsset
        - quotedTargetAsset
        - slippageBps
        - dateCreated
        - requestBody
        - requester
      example:
        id: swap-6a3ku-bn8d7-8u5rs1oukojms7k8
        quoteId: swapQuote-3hgv4-q8tbf-8v2ajmrbmg6m4i9t
        reference: null
        walletId: wa-3l3cj-l8mq7-8q78f9nopq7f1qjv
        targetWalletId: wa-3l3cj-l8mq7-8q78f9nopq7f1qjv
        status: PendingPolicyApproval
        provider: UniswapClassic
        quotedSourceAsset:
          kind: Native
          amount: '10000000000'
          metadata:
            network: EthereumSepolia
            name: Ethereum
            symbol: SepoliaETH
            decimals: 18
            tid: native:eth
        quotedTargetAsset:
          kind: Erc20
          contract: '0xda0be7efd234295395d4204d0df4358339b57b27'
          amount: '6467571553831928182'
          metadata:
            network: EthereumSepolia
            name: Test
            symbol: Test
            decimals: 18
            tid: erc20:0xda0be7efd234295395d4204d0df4358339b57b27
        slippageBps: 100
        dateCreated: '2025-09-11T10:57:55.758Z'
        requestBody:
          quoteId: swapQuote-3hgv4-q8tbf-8v2ajmrbmg6m4i9t
          walletId: wa-3l3cj-l8mq7-8q78f9nopq7f1qjv
          targetWalletId: wa-3l3cj-l8mq7-8q78f9nopq7f1qjv
          provider: UniswapClassic
          slippageBps: 100
          sourceAsset:
            kind: Native
            amount: '10000000000'
          targetAsset:
            kind: Erc20
            contract: '0xda0be7efd234295395d4204d0df4358339b57b27'
            amount: '653003161'
        requester:
          userId: us-48r5q-eshfg-9pmr2lo6bmpr4i4i
          tokenId: to-4etah-smoal-9n3rmhul4dpaueg5
    BlockchainEvent:
      oneOf:
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - NativeTransfer
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            memo:
              type: string
            liquidityPool:
              type: string
            balanceId:
              type: string
            symbol:
              type: string
              description: '@deprecated use metadata.asset.symbol instead'
            decimals:
              type: number
              description: '@deprecated use metadata.asset.decimals instead'
            verified:
              type: boolean
              description: '@deprecated use metadata.asset.verified instead'
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - value
            - symbol
            - decimals
          title: Native Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Aip21Transfer
            metadataAddress:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - metadataAddress
            - from
            - to
            - value
          title: Aptos Fungible Asset (AIP-21) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - AsaTransfer
            assetId:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            optIn:
              type: boolean
            optOut:
              type: boolean
            clawback:
              type: boolean
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - assetId
            - from
            - to
            - value
          title: Algorand Standard Asset Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - AssetTransfer
            assetId:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - assetId
            - value
          title: Cardano Asset Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Cip56Transfer
            instrumentId:
              type: string
            instrumentAdmin:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            memo:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - instrumentId
            - instrumentAdmin
            - from
            - to
            - value
          title: Canton Standard Token (CIP-56) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - CoinTransfer
            coin:
              type: string
            from:
              type: string
            tos:
              type: array
              items:
                type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - coin
            - from
            - value
          title: Sui Coin Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Cis2Transfer
            from:
              type: string
            to:
              type: string
            value:
              type: string
            tokenAddress:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - value
            - tokenAddress
          title: Concordium CIS2 Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Cis7Transfer
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            tokenId:
              type: string
            memo:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - value
            - tokenId
          title: Concordium CIS7 Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Erc20Transfer
            contract:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            symbol:
              type: string
              description: '@deprecated use metadata.asset.symbol instead'
            decimals:
              type: number
              description: '@deprecated use metadata.asset.decimals instead'
            verified:
              type: boolean
              description: '@deprecated use metadata.asset.verified instead'
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - contract
            - from
            - to
            - value
            - decimals
          title: EVM Fungible Token (ERC-20) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Erc721Transfer
            contract:
              type: string
            from:
              type: string
            to:
              type: string
            tokenId:
              type: string
            fee:
              type: string
            symbol:
              type: string
              description: '@deprecated use metadata.asset.symbol instead'
            verified:
              type: boolean
              description: '@deprecated use metadata.asset.verified instead'
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - contract
            - from
            - to
            - tokenId
          title: EVM Non Fungible Token (ERC-721) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Erc7984Transfer
            contract:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            symbol:
              type: string
              description: '@deprecated use metadata.asset.symbol instead'
            decimals:
              type: number
              description: '@deprecated use metadata.asset.decimals instead'
            verified:
              type: boolean
              description: '@deprecated use metadata.asset.verified instead'
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - contract
            - from
            - to
            - value
            - decimals
          title: EVM Confidential Token (ERC-7984) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Hip17Transfer
            tokenId:
              type: string
            serialNumber:
              type: string
            from:
              type: string
            to:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - tokenId
            - serialNumber
          title: HIP17 Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - HtsTransfer
            tokenId:
              type: string
            froms:
              type: array
              items:
                type: string
            tos:
              type: array
              items:
                type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - froms
            - tos
            - value
          title: HTS Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - IouTransfer
            currency:
              type: string
            issuer:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            memo:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - currency
            - issuer
            - value
          title: XRPL IOU Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - LockedCoinTransfer
            coin:
              type: string
            from:
              type: string
            tos:
              type: array
              items:
                type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - coin
            - from
            - value
          title: Locked Coin Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Xls33Transfer
            issuanceId:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            memo:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - issuanceId
            - value
          title: XRPL XLS-33 Token Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Sep41Transfer
            issuer:
              type: string
            assetCode:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
            memo:
              type: string
            liquidityPool:
              type: string
            balanceId:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - issuer
            - assetCode
            - from
            - to
            - value
          title: Stellar Classic Assets (SEP-41) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Snip2Transfer
            contract:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - contract
            - from
            - to
            - value
          title: Snip2 Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Snip3Transfer
            contract:
              type: string
            from:
              type: string
            to:
              type: string
            tokenId:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - contract
            - from
            - to
            - tokenId
          title: Snip3 Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - SplTransfer
                - Spl2022Transfer
            from:
              type: string
            to:
              type: string
            mint:
              type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - mint
            - value
          title: Solana Program Library Token (SPL and SPL 2022) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Tep74Transfer
            master:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - master
            - from
            - value
          title: TON Jetton (TEP-74) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Trc10Transfer
            tokenId:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - tokenId
            - from
            - to
            - value
          title: TRON Native Fungible Token (TRC-10) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Trc20Transfer
            contract:
              type: string
            from:
              type: string
            to:
              type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - contract
            - from
            - to
            - value
          title: TRON Smart Contract Fungible Token (TRC-20) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - Trc721Transfer
            contract:
              type: string
            from:
              type: string
            to:
              type: string
            tokenId:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - contract
            - from
            - to
            - tokenId
          title: TRON Non Fungible Token (TRC-721) Transfer
        - type: object
          properties:
            walletId:
              type: string
            direction:
              type: string
              enum:
                - In
                - Out
            network:
              $ref: '#/components/schemas/Network'
            blockNumber:
              type: number
            txHash:
              type: string
            index:
              type: string
            timestamp:
              type: string
            metadata:
              type: object
              properties:
                asset:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
                fee:
                  type: object
                  properties:
                    symbol:
                      type: string
                    decimals:
                      type: integer
                      description: >-
                        Number of decimals used by the asset, see [this
                        guide](https://docs.dfns.co/guides/developers/displaying-balances)
                        for more details.
                    verified:
                      type: boolean
                      description: Whether the asset is verified by DFNS as legitimate.
                    quotes:
                      type: object
                      properties:
                        EUR:
                          type: number
                        USD:
                          type: number
                      description: >-
                        Corresponding asset price in USD at the time of
                        transfer.
              required:
                - asset
            kind:
              type: string
              enum:
                - UtxoTransfer
            froms:
              type: array
              items:
                type: string
            tos:
              type: array
              items:
                type: string
            value:
              type: string
            fee:
              type: string
          required:
            - walletId
            - direction
            - network
            - blockNumber
            - txHash
            - timestamp
            - metadata
            - kind
            - froms
            - tos
            - value
          title: UTXO Transfer
      example:
        kind: Erc20Transfer
        walletId: wa-1f04s-lqc9q-xxxxxxxxxxxxxxxx
        network: Ethereum
        direction: Out
        blockNumber: 19036906
        timestamp: '2024-01-18T23:03:59.000Z'
        txHash: '0x8e88793607610a83798eb5ec6dde861f3e459c7e4a22e78b0d2e675b86d0d1e7'
        index: '134'
        contract: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
        from: '0xea09cf8a006493566f8a8fd3d0b32ebff5939d6a'
        to: '0xc42754e6f79f15082613b2b4ebead83dcf8116b6'
        value: '1000000'
        decimals: 6
        fee: '1542993669053672'
        metadata:
          asset:
            symbol: USDC
            decimals: 6
            verified: true
          fee:
            symbol: ETH
            decimals: 18
            verified: true
    ChangeRequestRequester:
      type: object
      properties:
        userId:
          type: string
        tokenId:
          type: string
        appId:
          type: string
      required:
        - userId
      description: The user who initiated the change request.
    Policy:
      oneOf:
        - type: object
          properties:
            id:
              type: string
            name:
              type: string
            status:
              type: string
              enum:
                - Active
                - Archived
            dateCreated:
              type: string
            dateUpdated:
              type: string
            activityKind:
              type: string
              enum:
                - Registry:Addresses:Modify
            rule:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - AlwaysTrigger
                configuration:
                  type: object
                  properties: {}
                  additionalProperties: false
              required:
                - kind
              additionalProperties: false
              description: >-
                This rule will always be triggered, meaning that if this rule is
                defined on a policy, the policy will always trigger the policy
                action, regardless of the activity details.
              title: AlwaysTrigger
            action:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - RequestApproval
                    approvalGroups:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          quorum:
                            type: integer
                            minimum: 1
                          approvers:
                            type: object
                            properties:
                              userId:
                                type: object
                                properties:
                                  in:
                                    type: array
                                    items:
                                      type: string
                                      minLength: 1
                                    minItems: 1
                                    maxItems: 100
                                required:
                                  - in
                                additionalProperties: false
                            additionalProperties: false
                          initiatorCanApprove:
                            type: boolean
                            description: >-
                              Whether the initiator of the activity can
                              participate in the approval.
                          serviceAccountsCanApprove:
                            type: boolean
                            description: >-
                              Whether service accounts can participate in the
                              approval for this group.
                        required:
                          - quorum
                          - approvers
                        additionalProperties: false
                      minItems: 1
                    autoRejectTimeout:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                  required:
                    - kind
                    - approvalGroups
                  additionalProperties: false
                  description: >-

                    This action means that activity will first require an
                    Approval process to be completed before it can  be executed
                    (or be aborted if someone rejects it during the approval
                    process).


                    One or several groups of approvers need to be specified.
                    These groups define who is allowed to approve / reject an
                    activity.


                    The activity will only be executed if all approver groups
                    reach their "quorum" of approvals. Otherwise, if any one
                    user within any approver group rejects, then the activity is
                    aborted and the call is not executed.


                    The example below shows a `RequestApproval` action,
                    configured with one approval group requiring 2 approvals
                    amongst three specific users.


                    ```json

                    {
                      "action": {
                        "kind": "RequestApproval",
                        "autoRejectTimeout": 60, // minutes
                        "approvalGroups": [
                          {
                            "name": "Admins",
                            "quorum": 2, // only 2 approvers required in that group 
                            "approvers": {
                              "userId": {
                                "in": ["us-...1", "us-...2", "us-...3"],
                              }
                            }
                          }
                        ],

                      }
                    }

                    ```


                    **Don't lock yourself up**


                    By default, users cannot approve an activity they initiated
                    themselves, even if they are in an approval group. To allow
                    this, you must set `initiatorCanApprove: true`.


                    *Example 1:* For any wallet transfer, a policy is setup to
                    require approval from **1 specific admin user** (eg. the
                    CEO). `initiatorCanApprove` was not set to `true`. If the
                    CEO himself initiates a transfer, no-one can approve his
                    transfer and it's stuck.


                    *Example 2:* Company has only 3 users. A policy is setup to
                    require approval from **any 3 users** (`quorum: 3`) for any
                    modification of a policy. `initiatorCanApprove` was not set
                    to `true`. In this case, they are locked, and the policy
                    cannot be modified: whoever requests a modification cannot
                    approve, and the policy is therefore always missing one
                    approver. To unlock, they would need to invite a new user
                    and give him the rights to approve as well.
                        
                  title: RequestApproval
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Block
                  required:
                    - kind
                  additionalProperties: false
                  description: >
                    This action means that the activity will be blocked if the
                    policy is triggered.


                    ```json

                    {
                      "action": {
                        "kind": "Block"
                      }
                    }

                    ```
                  title: Block
            filters:
              type: object
              properties: {}
          required:
            - id
            - name
            - status
            - activityKind
            - rule
            - action
          additionalProperties: false
          title: Registry:Addresses:Modify
        - type: object
          properties:
            id:
              type: string
            name:
              type: string
            status:
              type: string
              enum:
                - Active
                - Archived
            dateCreated:
              type: string
            dateUpdated:
              type: string
            activityKind:
              type: string
              enum:
                - Permissions:Assign
            rule:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - AlwaysTrigger
                configuration:
                  type: object
                  properties: {}
                  additionalProperties: false
              required:
                - kind
              additionalProperties: false
              description: >-
                This rule will always be triggered, meaning that if this rule is
                defined on a policy, the policy will always trigger the policy
                action, regardless of the activity details.
              title: AlwaysTrigger
            action:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - RequestApproval
                    approvalGroups:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          quorum:
                            type: integer
                            minimum: 1
                          approvers:
                            type: object
                            properties:
                              userId:
                                type: object
                                properties:
                                  in:
                                    type: array
                                    items:
                                      type: string
                                      minLength: 1
                                    minItems: 1
                                    maxItems: 100
                                required:
                                  - in
                                additionalProperties: false
                            additionalProperties: false
                          initiatorCanApprove:
                            type: boolean
                            description: >-
                              Whether the initiator of the activity can
                              participate in the approval.
                          serviceAccountsCanApprove:
                            type: boolean
                            description: >-
                              Whether service accounts can participate in the
                              approval for this group.
                        required:
                          - quorum
                          - approvers
                        additionalProperties: false
                      minItems: 1
                    autoRejectTimeout:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                  required:
                    - kind
                    - approvalGroups
                  additionalProperties: false
                  description: >-

                    This action means that activity will first require an
                    Approval process to be completed before it can  be executed
                    (or be aborted if someone rejects it during the approval
                    process).


                    One or several groups of approvers need to be specified.
                    These groups define who is allowed to approve / reject an
                    activity.


                    The activity will only be executed if all approver groups
                    reach their "quorum" of approvals. Otherwise, if any one
                    user within any approver group rejects, then the activity is
                    aborted and the call is not executed.


                    The example below shows a `RequestApproval` action,
                    configured with one approval group requiring 2 approvals
                    amongst three specific users.


                    ```json

                    {
                      "action": {
                        "kind": "RequestApproval",
                        "autoRejectTimeout": 60, // minutes
                        "approvalGroups": [
                          {
                            "name": "Admins",
                            "quorum": 2, // only 2 approvers required in that group 
                            "approvers": {
                              "userId": {
                                "in": ["us-...1", "us-...2", "us-...3"],
                              }
                            }
                          }
                        ],

                      }
                    }

                    ```


                    **Don't lock yourself up**


                    By default, users cannot approve an activity they initiated
                    themselves, even if they are in an approval group. To allow
                    this, you must set `initiatorCanApprove: true`.


                    *Example 1:* For any wallet transfer, a policy is setup to
                    require approval from **1 specific admin user** (eg. the
                    CEO). `initiatorCanApprove` was not set to `true`. If the
                    CEO himself initiates a transfer, no-one can approve his
                    transfer and it's stuck.


                    *Example 2:* Company has only 3 users. A policy is setup to
                    require approval from **any 3 users** (`quorum: 3`) for any
                    modification of a policy. `initiatorCanApprove` was not set
                    to `true`. In this case, they are locked, and the policy
                    cannot be modified: whoever requests a modification cannot
                    approve, and the policy is therefore always missing one
                    approver. To unlock, they would need to invite a new user
                    and give him the rights to approve as well.
                        
                  title: RequestApproval
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Block
                  required:
                    - kind
                  additionalProperties: false
                  description: >
                    This action means that the activity will be blocked if the
                    policy is triggered.


                    ```json

                    {
                      "action": {
                        "kind": "Block"
                      }
                    }

                    ```
                  title: Block
            filters:
              type: object
              properties:
                permissionId:
                  type: object
                  properties:
                    in:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                  required:
                    - in
                  additionalProperties: false
              required:
                - permissionId
              additionalProperties: false
          required:
            - id
            - name
            - status
            - activityKind
            - rule
            - action
          additionalProperties: false
          title: Permissions:Assign
        - type: object
          properties:
            id:
              type: string
            name:
              type: string
            status:
              type: string
              enum:
                - Active
                - Archived
            dateCreated:
              type: string
            dateUpdated:
              type: string
            activityKind:
              type: string
              enum:
                - Permissions:Modify
            rule:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - AlwaysTrigger
                configuration:
                  type: object
                  properties: {}
                  additionalProperties: false
              required:
                - kind
              additionalProperties: false
              description: >-
                This rule will always be triggered, meaning that if this rule is
                defined on a policy, the policy will always trigger the policy
                action, regardless of the activity details.
              title: AlwaysTrigger
            action:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - RequestApproval
                    approvalGroups:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          quorum:
                            type: integer
                            minimum: 1
                          approvers:
                            type: object
                            properties:
                              userId:
                                type: object
                                properties:
                                  in:
                                    type: array
                                    items:
                                      type: string
                                      minLength: 1
                                    minItems: 1
                                    maxItems: 100
                                required:
                                  - in
                                additionalProperties: false
                            additionalProperties: false
                          initiatorCanApprove:
                            type: boolean
                            description: >-
                              Whether the initiator of the activity can
                              participate in the approval.
                          serviceAccountsCanApprove:
                            type: boolean
                            description: >-
                              Whether service accounts can participate in the
                              approval for this group.
                        required:
                          - quorum
                          - approvers
                        additionalProperties: false
                      minItems: 1
                    autoRejectTimeout:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                  required:
                    - kind
                    - approvalGroups
                  additionalProperties: false
                  description: >-

                    This action means that activity will first require an
                    Approval process to be completed before it can  be executed
                    (or be aborted if someone rejects it during the approval
                    process).


                    One or several groups of approvers need to be specified.
                    These groups define who is allowed to approve / reject an
                    activity.


                    The activity will only be executed if all approver groups
                    reach their "quorum" of approvals. Otherwise, if any one
                    user within any approver group rejects, then the activity is
                    aborted and the call is not executed.


                    The example below shows a `RequestApproval` action,
                    configured with one approval group requiring 2 approvals
                    amongst three specific users.


                    ```json

                    {
                      "action": {
                        "kind": "RequestApproval",
                        "autoRejectTimeout": 60, // minutes
                        "approvalGroups": [
                          {
                            "name": "Admins",
                            "quorum": 2, // only 2 approvers required in that group 
                            "approvers": {
                              "userId": {
                                "in": ["us-...1", "us-...2", "us-...3"],
                              }
                            }
                          }
                        ],

                      }
                    }

                    ```


                    **Don't lock yourself up**


                    By default, users cannot approve an activity they initiated
                    themselves, even if they are in an approval group. To allow
                    this, you must set `initiatorCanApprove: true`.


                    *Example 1:* For any wallet transfer, a policy is setup to
                    require approval from **1 specific admin user** (eg. the
                    CEO). `initiatorCanApprove` was not set to `true`. If the
                    CEO himself initiates a transfer, no-one can approve his
                    transfer and it's stuck.


                    *Example 2:* Company has only 3 users. A policy is setup to
                    require approval from **any 3 users** (`quorum: 3`) for any
                    modification of a policy. `initiatorCanApprove` was not set
                    to `true`. In this case, they are locked, and the policy
                    cannot be modified: whoever requests a modification cannot
                    approve, and the policy is therefore always missing one
                    approver. To unlock, they would need to invite a new user
                    and give him the rights to approve as well.
                        
                  title: RequestApproval
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Block
                  required:
                    - kind
                  additionalProperties: false
                  description: >
                    This action means that the activity will be blocked if the
                    policy is triggered.


                    ```json

                    {
                      "action": {
                        "kind": "Block"
                      }
                    }

                    ```
                  title: Block
            filters:
              type: object
              properties:
                permissionId:
                  type: object
                  properties:
                    in:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                  required:
                    - in
                  additionalProperties: false
              required:
                - permissionId
              additionalProperties: false
          required:
            - id
            - name
            - status
            - activityKind
            - rule
            - action
          additionalProperties: false
          title: Permissions:Modify
        - type: object
          properties:
            id:
              type: string
            name:
              type: string
            status:
              type: string
              enum:
                - Active
                - Archived
            dateCreated:
              type: string
            dateUpdated:
              type: string
            activityKind:
              type: string
              enum:
                - Policies:Modify
            rule:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - AlwaysTrigger
                configuration:
                  type: object
                  properties: {}
                  additionalProperties: false
              required:
                - kind
              additionalProperties: false
              description: >-
                This rule will always be triggered, meaning that if this rule is
                defined on a policy, the policy will always trigger the policy
                action, regardless of the activity details.
              title: AlwaysTrigger
            action:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - RequestApproval
                approvalGroups:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      quorum:
                        type: integer
                        minimum: 1
                      approvers:
                        type: object
                        properties:
                          userId:
                            type: object
                            properties:
                              in:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                maxItems: 100
                            required:
                              - in
                            additionalProperties: false
                        additionalProperties: false
                      initiatorCanApprove:
                        type: boolean
                        description: >-
                          Whether the initiator of the activity can participate
                          in the approval.
                      serviceAccountsCanApprove:
                        type: boolean
                        description: >-
                          Whether service accounts can participate in the
                          approval for this group.
                    required:
                      - quorum
                      - approvers
                    additionalProperties: false
                  minItems: 1
                autoRejectTimeout:
                  type:
                    - integer
                    - 'null'
                  minimum: 1
              required:
                - kind
                - approvalGroups
              additionalProperties: false
              description: >-

                This action means that activity will first require an Approval
                process to be completed before it can  be executed (or be
                aborted if someone rejects it during the approval process).


                One or several groups of approvers need to be specified. These
                groups define who is allowed to approve / reject an activity.


                The activity will only be executed if all approver groups reach
                their "quorum" of approvals. Otherwise, if any one user within
                any approver group rejects, then the activity is aborted and the
                call is not executed.


                The example below shows a `RequestApproval` action, configured
                with one approval group requiring 2 approvals amongst three
                specific users.


                ```json

                {
                  "action": {
                    "kind": "RequestApproval",
                    "autoRejectTimeout": 60, // minutes
                    "approvalGroups": [
                      {
                        "name": "Admins",
                        "quorum": 2, // only 2 approvers required in that group 
                        "approvers": {
                          "userId": {
                            "in": ["us-...1", "us-...2", "us-...3"],
                          }
                        }
                      }
                    ],

                  }
                }

                ```


                **Don't lock yourself up**


                By default, users cannot approve an activity they initiated
                themselves, even if they are in an approval group. To allow
                this, you must set `initiatorCanApprove: true`.


                *Example 1:* For any wallet transfer, a policy is setup to
                require approval from **1 specific admin user** (eg. the CEO).
                `initiatorCanApprove` was not set to `true`. If the CEO himself
                initiates a transfer, no-one can approve his transfer and it's
                stuck.


                *Example 2:* Company has only 3 users. A policy is setup to
                require approval from **any 3 users** (`quorum: 3`) for any
                modification of a policy. `initiatorCanApprove` was not set to
                `true`. In this case, they are locked, and the policy cannot be
                modified: whoever requests a modification cannot approve, and
                the policy is therefore always missing one approver. To unlock,
                they would need to invite a new user and give him the rights to
                approve as well.
                    
              title: RequestApproval
            filters:
              type: object
              properties:
                policyId:
                  type: object
                  properties:
                    in:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                  required:
                    - in
                  additionalProperties: false
              required:
                - policyId
              additionalProperties: false
          required:
            - id
            - name
            - status
            - activityKind
            - rule
            - action
          additionalProperties: false
          title: Policies:Modify
        - type: object
          properties:
            id:
              type: string
            name:
              type: string
            status:
              type: string
              enum:
                - Active
                - Archived
            dateCreated:
              type: string
            dateUpdated:
              type: string
            activityKind:
              type: string
              enum:
                - Registry:ContractSchemas:Modify
            rule:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - AlwaysTrigger
                configuration:
                  type: object
                  properties: {}
                  additionalProperties: false
              required:
                - kind
              additionalProperties: false
              description: >-
                This rule will always be triggered, meaning that if this rule is
                defined on a policy, the policy will always trigger the policy
                action, regardless of the activity details.
              title: AlwaysTrigger
            action:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - RequestApproval
                    approvalGroups:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          quorum:
                            type: integer
                            minimum: 1
                          approvers:
                            type: object
                            properties:
                              userId:
                                type: object
                                properties:
                                  in:
                                    type: array
                                    items:
                                      type: string
                                      minLength: 1
                                    minItems: 1
                                    maxItems: 100
                                required:
                                  - in
                                additionalProperties: false
                            additionalProperties: false
                          initiatorCanApprove:
                            type: boolean
                            description: >-
                              Whether the initiator of the activity can
                              participate in the approval.
                          serviceAccountsCanApprove:
                            type: boolean
                            description: >-
                              Whether service accounts can participate in the
                              approval for this group.
                        required:
                          - quorum
                          - approvers
                        additionalProperties: false
                      minItems: 1
                    autoRejectTimeout:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                  required:
                    - kind
                    - approvalGroups
                  additionalProperties: false
                  description: >-

                    This action means that activity will first require an
                    Approval process to be completed before it can  be executed
                    (or be aborted if someone rejects it during the approval
                    process).


                    One or several groups of approvers need to be specified.
                    These groups define who is allowed to approve / reject an
                    activity.


                    The activity will only be executed if all approver groups
                    reach their "quorum" of approvals. Otherwise, if any one
                    user within any approver group rejects, then the activity is
                    aborted and the call is not executed.


                    The example below shows a `RequestApproval` action,
                    configured with one approval group requiring 2 approvals
                    amongst three specific users.


                    ```json

                    {
                      "action": {
                        "kind": "RequestApproval",
                        "autoRejectTimeout": 60, // minutes
                        "approvalGroups": [
                          {
                            "name": "Admins",
                            "quorum": 2, // only 2 approvers required in that group 
                            "approvers": {
                              "userId": {
                                "in": ["us-...1", "us-...2", "us-...3"],
                              }
                            }
                          }
                        ],

                      }
                    }

                    ```


                    **Don't lock yourself up**


                    By default, users cannot approve an activity they initiated
                    themselves, even if they are in an approval group. To allow
                    this, you must set `initiatorCanApprove: true`.


                    *Example 1:* For any wallet transfer, a policy is setup to
                    require approval from **1 specific admin user** (eg. the
                    CEO). `initiatorCanApprove` was not set to `true`. If the
                    CEO himself initiates a transfer, no-one can approve his
                    transfer and it's stuck.


                    *Example 2:* Company has only 3 users. A policy is setup to
                    require approval from **any 3 users** (`quorum: 3`) for any
                    modification of a policy. `initiatorCanApprove` was not set
                    to `true`. In this case, they are locked, and the policy
                    cannot be modified: whoever requests a modification cannot
                    approve, and the policy is therefore always missing one
                    approver. To unlock, they would need to invite a new user
                    and give him the rights to approve as well.
                        
                  title: RequestApproval
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Block
                  required:
                    - kind
                  additionalProperties: false
                  description: >
                    This action means that the activity will be blocked if the
                    policy is triggered.


                    ```json

                    {
                      "action": {
                        "kind": "Block"
                      }
                    }

                    ```
                  title: Block
            filters:
              type: object
              properties: {}
          required:
            - id
            - name
            - status
            - activityKind
            - rule
            - action
          additionalProperties: false
          title: Registry:ContractSchemas:Modify
        - type: object
          properties:
            id:
              type: string
            name:
              type: string
            status:
              type: string
              enum:
                - Active
                - Archived
            dateCreated:
              type: string
            dateUpdated:
              type: string
            activityKind:
              type: string
              enum:
                - Wallets:Sign
            rule:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - AlwaysTrigger
                    configuration:
                      type: object
                      properties: {}
                      additionalProperties: false
                  required:
                    - kind
                  additionalProperties: false
                  description: >-
                    This rule will always be triggered, meaning that if this
                    rule is defined on a policy, the policy will always trigger
                    the policy action, regardless of the activity details.
                  title: AlwaysTrigger
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - TransactionRecipientWhitelist
                    configuration:
                      type: object
                      properties:
                        addresses:
                          type: array
                          items:
                            type: string
                            minLength: 1
                          description: Whitelisted recipient addresses
                      required:
                        - addresses
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >-
                    This rule will trigger if the destination address *is NOT
                    whitelisted*.
                  title: TransactionRecipientWhitelist
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - TransactionAmountLimit
                    configuration:
                      type: object
                      properties:
                        limit:
                          type: number
                          description: Amount limit in `currency`
                        currency:
                          type: string
                          enum:
                            - USD
                          description: Fiat currency, currently only `USD`
                      required:
                        - limit
                        - currency
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >-
                    This rule will trigger if the wallet activity detected is
                    transferring some value which amount is greater than a given
                    limit. Note: If the fiat amount of the wallet activity
                    cannot be evaluated for any reason (eg. market prices are
                    not available, or eg. the amount cannot be inferred from a
                    wallet signature request, etc.), by default the rule will
                    trigger the policy (this is called "failing closed" and is
                    generally considered a security best practice).
                  title: TransactionAmountLimit
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - TransactionAmountVelocity
                    configuration:
                      type: object
                      properties:
                        limit:
                          type: number
                          description: Amount limit in `currency`
                        currency:
                          type: string
                          enum:
                            - USD
                          description: Currency for the amount limit above
                        timeframe:
                          type: integer
                          minimum: 1
                          maximum: 43200
                          description: Time period in minutes. Minimum 1, Maximum 43,200.
                      required:
                        - limit
                        - currency
                        - timeframe
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >-
                    This rule will trigger if the cumulative amount transferred
                    from a given wallet within a given timeframe is greater than
                    a specified limit.  The aggregate amount evaluated is based
                    only on the wallet that triggered the policy.
                  title: TransactionAmountVelocity
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - TransactionCountVelocity
                    configuration:
                      type: object
                      properties:
                        limit:
                          type: number
                          description: Count limit
                        timeframe:
                          type: integer
                          minimum: 1
                          maximum: 43200
                          description: Time period in minutes. Minimum 1, Maximum 43,200.
                      required:
                        - limit
                        - timeframe
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >-
                    This rule will trigger if the number of wallet activities
                    for a given wallet within a given timeframe, is greater than
                    a specified limit. The aggregate number of transactions
                    evaluated is based only on the wallet that triggered the
                    policy.
                  title: TransactionCountVelocity
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - ChainalysisTransactionPrescreening
                    configuration:
                      type: object
                      properties:
                        alerts:
                          type: object
                          properties:
                            alertLevel:
                              type: string
                              enum:
                                - LOW
                                - MEDIUM
                                - HIGH
                                - SEVERE
                            categoryIds:
                              type: array
                              items:
                                type: integer
                                exclusiveMinimum: 0
                          required:
                            - alertLevel
                            - categoryIds
                        exposures:
                          type: object
                          properties:
                            direct:
                              type: object
                              properties:
                                categoryIds:
                                  type: array
                                  items:
                                    type: integer
                                    exclusiveMinimum: 0
                              required:
                                - categoryIds
                          required:
                            - direct
                        addresses:
                          type: object
                          properties:
                            categoryIds:
                              type: array
                              items:
                                type: integer
                                exclusiveMinimum: 0
                          required:
                            - categoryIds
                        userIdTemplate:
                          type: string
                          minLength: 1
                          maxLength: 50
                          pattern: >-
                            ^([a-zA-Z0-9_:-]|{wallet\.id}|{wallet\.externalId})+$
                          default: dfns
                          description: >-
                            Value sent to Chainalysis as the "user ID". Used by
                            Chainalysis for grouping transaction screenings. 
                              
                            This template can include variables, included in
                            brackets. The following variables are currently
                            supported:  `{wallet.id}` and `{wallet.externalId}`.

                            As an example, if you set `userIdTemplate:
                            "dfns:{wallet.id}_{wallet.externalId}"`, when your
                            wallet receives a transaction that gets screened by
                            a Chainalysis policy, the "user ID" sent to
                            Chainalysis will be `dfns:wa-xxx_yyy` (`wa-xxx`
                            being the wallet ID, and `yyy` being the wallet
                            external ID).
                        fallbackBehaviours:
                          type: object
                          properties:
                            skipUnscreenableTransaction:
                              type: boolean
                            skipUnsupportedNetwork:
                              type: boolean
                            skipUnsupportedAsset:
                              type: boolean
                            skipChainalysisFailure:
                              type: boolean
                          required:
                            - skipUnscreenableTransaction
                            - skipUnsupportedNetwork
                            - skipUnsupportedAsset
                            - skipChainalysisFailure
                      required:
                        - alerts
                        - exposures
                        - addresses
                        - fallbackBehaviours
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >+

                    <Info>

                    This rule can only be used once the Chainalysis integration
                    is activated from the Dfns dashboard settings. (see more on
                    [Chainalysis](https://docs.dfns.co/integrations/aml-kyt/chainalysis)
                    integration page).

                    </Info>


                    It's a rule based on
                    [Chainalysis](https://docs.dfns.co/integrations/aml-kyt/chainalysis)
                    KYT integration (Know-Your-Transaction). Upon transfer
                    attempt, we will first register the transfer with
                    Chainalysis (as a ["withdrawal
                    attempt"](https://docs.chainalysis.com/api/kyt/#registration-register-a-withdrawal-attempt)),
                    and fetch the screening results (alerts, exposures,
                    addresses detected). Based on the results, and the
                    configuration of this rule, the policy will be triggered.


                    It's called "Pre"-screening, because the scanned transaction
                    is not on chain yet, it's still a transaction attempt
                    (before the transaction actually make it on chain).


                    ```json

                    {
                      "rule": {
                        "kind": "ChainalysisTransactionPrescreening",
                        "configuration": {
                          "alerts": {
                            "alertLevel": "LOW",
                            "categoryIds": []
                          },
                          "exposures": {
                            "direct": {
                              "categoryIds": []
                            }
                          },
                          "addresses": {
                            "categoryIds": []
                          },
                          "fallbackBehaviours": {
                            "skipUnscreenableTransaction": false,
                            "skipUnsupportedNetwork": false,
                            "skipUnsupportedAsset": false,
                            "skipChainalysisFailure": false
                          }
                        }
                      }
                    }

                    ```


                    **Configuration**


                    | Property | Type | Description |

                    | --- | --- | --- |

                    | `alerts`<br><br>`.alertLevel`* | `string` | Minimum alert
                    level above which the rule should trigger, if any [alert is
                    returned in Chainalysis
                    results](https://docs.chainalysis.com/api/kyt/#withdrawal-attempts-get-alerts).
                    Can be `LOW`, `MEDIUM`, `HIGH`, or `SEVERE` |

                    | `alerts`<br><br>`.categoryIds`* | list of integers | List
                    of Chainalysis category IDs (see
                    [here](https://docs.chainalysis.com/api/kyt/#categories)).
                    If you leave this list empty, alerts of any category will
                    trigger the rule. Otherwise, if you only want the rule to
                    trigger on specific categories, you can specify some in the
                    list. |

                    | `exposures`<br><br>`.direct`<br><br>`.categoryIds`* | list
                    of integers | List of Chainalysis category IDs (see
                    [here](https://docs.chainalysis.com/api/kyt/#categories)).
                    If you leave this list empty, a [direct
                    exposure](https://docs.chainalysis.com/api/kyt/#withdrawal-attempts-get-direct-exposure)
                    of any category detected by chainalysis will trigger the
                    rule. Otherwise, if you only want the rule to trigger on
                    specific categories, you can specify some in the list. |

                    | `addresses`<br><br>`.categoryIds`* | list of integers |
                    List of Chainalysis category IDs (see
                    [here](https://docs.chainalysis.com/api/kyt/#categories)).
                    If you leave this list empty, an
                    [address](https://docs.chainalysis.com/api/kyt/#withdrawal-attempts-get-address-identifications)
                    of any category identified by chainalysis will trigger the
                    rule. Otherwise, if you only want the rule to trigger on
                    specific categories, you can specify some in the list. |

                    |
                    `fallbackBehaviours`<br><br>`.skipUnscreenableTransaction`*
                    | boolean | Behaviour if the wallet activity is not
                    screenable (eg. if it's a signature request of a hash). If
                    true, a transaction which is "unscreenable" will just be
                    skipped, and policy will not trigger |

                    | `fallbackBehaviours.skipUnsupportedNetwork`* | boolean |
                    Behaviour if the wallet activity is on a network not
                    supported by chainalysis, or not yet supported in the
                    dfns-chainalysis integration. If true, an unsupported
                    network will just be skipped, and policy will not trigger |

                    | `fallbackBehaviours.skipUnsupportedAsset`* | boolean |
                    Behaviour if the wallet activity is with a asset not
                    supported by chainalysis, or not yet supported in the
                    dfns-chainalysis integration. If true, an unsupported asset
                    will just be skipped, and policy will not trigger |

                    | `fallbackBehaviours.skipChainalysisFailure`* | boolean |
                    Behaviour if any issue with Chainalysis calls (timeout,
                    results took too long, rate limiting errors, any error). If
                    true, will skip if any error happens |

                  title: ChainalysisTransactionPrescreening
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - GlobalLedgerTransactionPrescreening
                    configuration:
                      type: object
                      properties:
                        riskScoreThreshold:
                          type: integer
                          minimum: 0
                          maximum: 100
                          description: >-
                            Risk score threshold (0-100). Policy triggers if
                            address/transaction risk score >= threshold
                        fallbackBehaviours:
                          type: object
                          properties:
                            skipUnscreenableTransaction:
                              type: boolean
                              description: >-
                                skip all wallet requests that cannot be screened
                                (eg. raw signatures)
                            skipUnsupportedNetwork:
                              type: boolean
                              description: >-
                                skip transfer requests to a network not
                                supported yet in our GlobalLedger integration
                            skipUnsupportedAsset:
                              type: boolean
                              description: >-
                                skip transfer requests of an asset not supported
                                by our GlobalLedger integration
                            skipGlobalLedgerFailure:
                              type: boolean
                              description: skips any errors from GlobalLedger API request
                          required:
                            - skipUnscreenableTransaction
                            - skipUnsupportedNetwork
                            - skipUnsupportedAsset
                            - skipGlobalLedgerFailure
                      required:
                        - riskScoreThreshold
                        - fallbackBehaviours
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >-
                    This rule uses GlobalLedger KYT for pre-screening outgoing
                    transfers by checking the destination address risk score.


                    Upon transfer attempt, we will query GlobalLedger's address
                    risk API, and check if the risk score (0-100) is at or above
                    the configured threshold, or if any alerts show up. If so,
                    the policy will be triggered.


                    It's called "Pre"-screening, because the scanned transaction
                    is not on chain yet, it's still a transaction attempt.
                  title: GlobalLedgerTransactionPrescreening
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - TravelRuleTransactionPrescreening
                    configuration:
                      type: object
                      properties:
                        vendor:
                          type: string
                          enum:
                            - Notabene
                        autoTriggerTimeoutSeconds:
                          type: integer
                          minimum: 0
                        autoClearAfterDeliveredTimeoutSeconds:
                          type: integer
                          minimum: 0
                      required:
                        - vendor
                        - autoTriggerTimeoutSeconds
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >-
                    This rule can only be used once the Notabene integration is
                    activated from the Dfns dashboard settings (see more on
                    [Notabene](https://docs.dfns.co/integrations/travel-rule/notabene)
                    integration page).
                        
                        It's a rule based on [Notabene](https://docs.dfns.co/integrations/travel-rule/notabene) [TravelRule](https://docs.dfns.co/integrations/travel-rule) integration. It ***ONLY*** applies to Dfns [Transfer Asset](https://docs.dfns.co/api-reference/wallets/transfer-asset) Api Calls. It is NOT supported for Transfers initiated via the dashboard. Upon transfer attempt with an optional [TravelRule](https://docs.dfns.co/api-reference/wallets/transfer-asset#body-travel-rule) payload, we will call Notabene's APIs on your behalf to both confirm the validity of the travel rule message and submit it for processing. Dfns then waits for a response from the counterparty (for custodial transfers) or Notabene (for non-custodial transfers).

                    It's called "Pre"-screening, because the transaction is not
                    on chain yet, it's still a transaction attempt (before the
                    transaction actually make it on chain).
                  title: TravelRuleTransactionPrescreening
            action:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - RequestApproval
                    approvalGroups:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          quorum:
                            type: integer
                            minimum: 1
                          approvers:
                            type: object
                            properties:
                              userId:
                                type: object
                                properties:
                                  in:
                                    type: array
                                    items:
                                      type: string
                                      minLength: 1
                                    minItems: 1
                                    maxItems: 100
                                required:
                                  - in
                                additionalProperties: false
                            additionalProperties: false
                          initiatorCanApprove:
                            type: boolean
                            description: >-
                              Whether the initiator of the activity can
                              participate in the approval.
                          serviceAccountsCanApprove:
                            type: boolean
                            description: >-
                              Whether service accounts can participate in the
                              approval for this group.
                        required:
                          - quorum
                          - approvers
                        additionalProperties: false
                      minItems: 1
                    autoRejectTimeout:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                  required:
                    - kind
                    - approvalGroups
                  additionalProperties: false
                  description: >-

                    This action means that activity will first require an
                    Approval process to be completed before it can  be executed
                    (or be aborted if someone rejects it during the approval
                    process).


                    One or several groups of approvers need to be specified.
                    These groups define who is allowed to approve / reject an
                    activity.


                    The activity will only be executed if all approver groups
                    reach their "quorum" of approvals. Otherwise, if any one
                    user within any approver group rejects, then the activity is
                    aborted and the call is not executed.


                    The example below shows a `RequestApproval` action,
                    configured with one approval group requiring 2 approvals
                    amongst three specific users.


                    ```json

                    {
                      "action": {
                        "kind": "RequestApproval",
                        "autoRejectTimeout": 60, // minutes
                        "approvalGroups": [
                          {
                            "name": "Admins",
                            "quorum": 2, // only 2 approvers required in that group 
                            "approvers": {
                              "userId": {
                                "in": ["us-...1", "us-...2", "us-...3"],
                              }
                            }
                          }
                        ],

                      }
                    }

                    ```


                    **Don't lock yourself up**


                    By default, users cannot approve an activity they initiated
                    themselves, even if they are in an approval group. To allow
                    this, you must set `initiatorCanApprove: true`.


                    *Example 1:* For any wallet transfer, a policy is setup to
                    require approval from **1 specific admin user** (eg. the
                    CEO). `initiatorCanApprove` was not set to `true`. If the
                    CEO himself initiates a transfer, no-one can approve his
                    transfer and it's stuck.


                    *Example 2:* Company has only 3 users. A policy is setup to
                    require approval from **any 3 users** (`quorum: 3`) for any
                    modification of a policy. `initiatorCanApprove` was not set
                    to `true`. In this case, they are locked, and the policy
                    cannot be modified: whoever requests a modification cannot
                    approve, and the policy is therefore always missing one
                    approver. To unlock, they would need to invite a new user
                    and give him the rights to approve as well.
                        
                  title: RequestApproval
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Block
                  required:
                    - kind
                  additionalProperties: false
                  description: >
                    This action means that the activity will be blocked if the
                    policy is triggered.


                    ```json

                    {
                      "action": {
                        "kind": "Block"
                      }
                    }

                    ```
                  title: Block
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - NoAction
                  required:
                    - kind
                  additionalProperties: false
                  description: |2-

                        This action kind means that nothing will happen after policy rule evaluation. It's meant to be used with policy rules "`ChainalysisTransactionPrescreening`" or "`ChainalysisTransactionScreening`". This action is for when you just want the KYT analysis rule to be run, and then if triggered, those result returned in a `policy.triggered` [Webhook Event](https://docs.dfns.co/api-reference/webhook-events).

                    ```json
                    {
                      "action": {
                        "kind": "NoAction"
                      }
                    }
                    ```
                        
                  title: NoAction
            filters:
              type: object
              properties:
                walletId:
                  type: object
                  properties:
                    in:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                  required:
                    - in
                  additionalProperties: false
                walletTags:
                  type: object
                  properties:
                    hasAny:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                    hasAll:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                  additionalProperties: false
              additionalProperties: false
          required:
            - id
            - name
            - status
            - activityKind
            - rule
            - action
          additionalProperties: false
          title: Wallets:Sign
        - type: object
          properties:
            id:
              type: string
            name:
              type: string
            status:
              type: string
              enum:
                - Active
                - Archived
            dateCreated:
              type: string
            dateUpdated:
              type: string
            activityKind:
              type: string
              enum:
                - Wallets:IncomingTransaction
            rule:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - ChainalysisTransactionScreening
                    configuration:
                      type: object
                      properties:
                        alerts:
                          type: object
                          properties:
                            alertLevel:
                              type: string
                              enum:
                                - LOW
                                - MEDIUM
                                - HIGH
                                - SEVERE
                            categoryIds:
                              type: array
                              items:
                                type: integer
                                exclusiveMinimum: 0
                          required:
                            - alertLevel
                            - categoryIds
                        exposures:
                          type: object
                          properties:
                            direct:
                              type: object
                              properties:
                                categoryIds:
                                  type: array
                                  items:
                                    type: integer
                                    exclusiveMinimum: 0
                              required:
                                - categoryIds
                          required:
                            - direct
                        userIdTemplate:
                          type: string
                          minLength: 1
                          maxLength: 50
                          pattern: >-
                            ^([a-zA-Z0-9_:-]|{wallet\.id}|{wallet\.externalId})+$
                          default: dfns
                          description: >-
                            Value sent to Chainalysis as the "user ID". Used by
                            Chainalysis for grouping transaction screenings. 
                              
                            This template can include variables, included in
                            brackets. The following variables are currently
                            supported:  `{wallet.id}` and `{wallet.externalId}`.

                            As an example, if you set `userIdTemplate:
                            "dfns:{wallet.id}_{wallet.externalId}"`, when your
                            wallet receives a transaction that gets screened by
                            a Chainalysis policy, the "user ID" sent to
                            Chainalysis will be `dfns:wa-xxx_yyy` (`wa-xxx`
                            being the wallet ID, and `yyy` being the wallet
                            external ID).
                        fallbackBehaviours:
                          type: object
                          properties:
                            skipUnscreenableTransaction:
                              type: boolean
                            skipUnsupportedNetwork:
                              type: boolean
                            skipUnsupportedAsset:
                              type: boolean
                            skipChainalysisFailure:
                              type: boolean
                          required:
                            - skipUnscreenableTransaction
                            - skipUnsupportedNetwork
                            - skipUnsupportedAsset
                            - skipChainalysisFailure
                      required:
                        - alerts
                        - exposures
                        - fallbackBehaviours
                      additionalProperties: false
                  required:
                    - kind
                    - configuration
                  additionalProperties: false
                  description: >

                    <Info>

                    This rule can only be used once the Chainalysis integration
                    is activated from the Dfns dashboard settings. (see more on
                    [Chainalysis](https://docs.dfns.co/integrations/aml-kyt/chainalysis)
                    integration page).

                    </Info>


                    This rule can be used on a policy of `activityKind` =
                    `Wallets:IncomingTransaction`, and with the action kind
                    `NoAction`. It's a rule based on Chainalysis KYT integration
                    (Know-Your-Transaction). Upon an incoming transaction
                    detectedby our indexers, we will [register the transfer with
                    Chainalysis](https://docs.chainalysis.com/api/kyt/#registration-register-a-transfer),
                    and fetch the results of the analysis (alerts & exposures
                    detected). Based on the results, and the configuration of
                    this rule, the policy will be triggered.


                    The shape of the rule is almost like the
                    `ChainalysisTransactionPrescreening` rule, expect the the
                    `address` property is not supported.


                    ```json

                    {
                      "rule": {
                        "kind": "ChainalysisTransactionPrescreening",
                        "configuration": {
                          "alerts": {
                            "alertLevel": "LOW",
                            "categoryIds": []
                          },
                          "exposures": {
                            "direct": {
                              "categoryIds": []
                            }
                          },
                          "fallbackBehaviours": {
                            "skipUnscreenableTransaction": false,
                            "skipUnsupportedNetwork": false,
                            "skipUnsupportedAsset": false,
                            "skipChainalysisFailure": false
                          }
                        }
                      }
                    }

                    ```


                    **Configuration**


                    Please refer to the configuration for the
                    `ChainalysisTransactionPrescreening` rule.
                  title: ChainalysisTransactionScreening
            action:
              oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - NoAction
                  required:
                    - kind
                  additionalProperties: false
                  description: |2-

                        This action kind means that nothing will happen after policy rule evaluation. It's meant to be used with policy rules "`ChainalysisTransactionPrescreening`" or "`ChainalysisTransactionScreening`". This action is for when you just want the KYT analysis rule to be run, and then if triggered, those result returned in a `policy.triggered` [Webhook Event](https://docs.dfns.co/api-reference/webhook-events).

                    ```json
                    {
                      "action": {
                        "kind": "NoAction"
                      }
                    }
                    ```
                        
                  title: NoAction
            filters:
              type: object
              properties:
                walletId:
                  type: object
                  properties:
                    in:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                  required:
                    - in
                  additionalProperties: false
                walletTags:
                  type: object
                  properties:
                    hasAny:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                    hasAll:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      maxItems: 100
                  additionalProperties: false
              additionalProperties: false
          required:
            - id
            - name
            - status
            - activityKind
            - rule
            - action
          additionalProperties: false
          title: Wallets:IncomingTransaction
    Network:
      type: string
      title: Network
      enum:
        - Algorand
        - AlgorandTestnet
        - Aptos
        - AptosTestnet
        - ArbitrumOne
        - ArbitrumSepolia
        - ArcTestnet
        - AvalancheC
        - AvalancheCFuji
        - BabylonGenesis
        - BabylonTestnet5
        - Base
        - BaseSepolia
        - Berachain
        - BerachainBepolia
        - Bitcoin
        - BitcoinSignet
        - BitcoinTestnet3
        - BitcoinCash
        - Bob
        - BobSepolia
        - Bsc
        - BscTestnet
        - Canton
        - CantonTestnet
        - Cardano
        - CardanoPreprod
        - Concordium
        - ConcordiumTestnet
        - Celo
        - CeloAlfajores
        - Codex
        - CodexSepolia
        - CosmosHub4
        - CosmosIcsTestnet
        - Dogecoin
        - DogecoinTestnet
        - Ethereum
        - EthereumClassic
        - EthereumClassicMordor
        - EthereumSepolia
        - EthereumHolesky
        - EthereumHoodi
        - FantomOpera
        - FantomTestnet
        - FlareC
        - FlareCCoston2
        - FlowEvm
        - FlowEvmTestnet
        - Hedera
        - HederaTestnet
        - Ink
        - InkSepolia
        - InternetComputer
        - Ion
        - IonTestnet
        - Iota
        - IotaTestnet
        - Kaspa
        - Kusama
        - KusamaAssetHub
        - Litecoin
        - LitecoinTestnet
        - Near
        - NearTestnet
        - Optimism
        - OptimismSepolia
        - Origyn
        - Plasma
        - PlasmaTestnet
        - Plume
        - PlumeSepolia
        - Paseo
        - PaseoAssetHub
        - Polkadot
        - PolkadotAssetHub
        - Polygon
        - PolygonAmoy
        - Polymesh
        - PolymeshTestnet
        - Race
        - RaceSepolia
        - SeiAtlantic2
        - SeiPacific1
        - Solana
        - SolanaDevnet
        - Starknet
        - StarknetSepolia
        - Stellar
        - StellarTestnet
        - Sui
        - SuiTestnet
        - Tezos
        - TezosGhostnet
        - Tempo
        - TempoModerato
        - Tsc
        - TscTestnet1
        - Ton
        - TonTestnet
        - Tron
        - TronNile
        - Westend
        - WestendAssetHub
        - Xdc
        - XdcApothem
        - XLayer
        - XLayerSepolia
        - XrpLedger
        - XrpLedgerTestnet
    Requester:
      type: object
      properties:
        userId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^us-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: User id.
          example: us-6b58p-r53sr-rlrd3l5cj3uc4ome
        tokenId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^to-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Token id.
          example: to-202a0-cdo33-o65mbt6q758lvvnt
      required:
        - userId
      description: The user who initiated the request.
    BlockchainKind:
      type: string
      enum:
        - Algorand
        - Aptos
        - Bitcoin
        - BitcoinCash
        - Canton
        - Cardano
        - Concordium
        - Cosmos
        - Evm
        - Hedera
        - Icp
        - Iota
        - Kaspa
        - Near
        - Polymesh
        - Solana
        - Starknet
        - Stellar
        - Substrate
        - Sui
        - Tezos
        - Ton
        - Tron
        - Xrpl
  securitySchemes:
    authenticationToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        **Bearer Token:** Used to authenticate API requests.

        More details how to generate the token: [Authentication
        flows](https://docs.dfns.co/api-reference/auth/login-flows)

````