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

# Execute Payments

> Execute payments by signing the typed data and sending the signature along with the request.



## OpenAPI

````yaml /api-reference/openapi.yaml put /v2/payments
openapi: 3.0.3
info:
  title: Rise
  description: Web3-enabled payroll and compliance for the modern workforce
  version: 2.0.0
servers:
  - url: https://b2b-api.dev-riseworks.io
    description: Development
  - url: https://integrations-api.staging-riseworks.io
    description: Staging
  - url: https://integrations-api.riseworks.io
    description: Production
security: []
paths:
  /v2/payments:
    put:
      tags:
        - B2B Payments
      summary: Execute Payments
      description: >-
        Execute payments by signing the typed data and sending the signature
        along with the request.
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 255
          in: header
          name: x-idempotency-key
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                from:
                  type: string
                  minLength: 15
                  maxLength: 15
                  pattern: ^te-.*
                  description: >-
                    Identifier of a Rise team (a workspace below a company).
                    15-character nanoid prefixed with `te-`.
                to:
                  type: array
                  items:
                    type: object
                    properties:
                      to:
                        type: string
                        minLength: 15
                        maxLength: 15
                        pattern: ^us-.*
                        description: >-
                          Identifier of a Rise user. 15-character nanoid
                          prefixed with `us-`.
                      amount_cents:
                        type: integer
                        minimum: 100
                        maximum: 10000000000
                      currency_symbol:
                        default: USD
                        type: string
                        enum:
                          - USD
                      invoice_description:
                        type: string
                        maxLength: 5000
                    required:
                      - to
                      - amount_cents
                pay_now:
                  type: boolean
                network:
                  default: arbitrum
                  type: string
                  enum:
                    - arbitrum
                signer:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
                  description: EVM address (0x + 40 hex chars) or null/empty for unknown.
                typed_data:
                  anyOf:
                    - type: object
                      properties:
                        from:
                          type: string
                          pattern: ^0x[a-fA-F0-9]{40}$
                          description: >-
                            EVM address (0x + 40 hex chars) or null/empty for
                            unknown.
                        to:
                          type: string
                          pattern: ^0x[a-fA-F0-9]{40}$
                          description: >-
                            EVM address (0x + 40 hex chars) or null/empty for
                            unknown.
                        salt:
                          type: string
                        expires:
                          type: string
                        data:
                          type: object
                          properties:
                            groupID:
                              type: string
                            merkleRoot:
                              type: string
                            paymentsCount:
                              type: string
                            maxAmountPerPayment:
                              type: string
                            deadline:
                              type: string
                          required:
                            - groupID
                            - merkleRoot
                            - paymentsCount
                            - maxAmountPerPayment
                            - deadline
                      required:
                        - from
                        - to
                        - salt
                        - expires
                        - data
                    - type: object
                      properties:
                        from:
                          type: string
                          pattern: ^0x[a-fA-F0-9]{40}$
                          description: >-
                            EVM address (0x + 40 hex chars) or null/empty for
                            unknown.
                        to:
                          type: string
                          pattern: ^0x[a-fA-F0-9]{40}$
                          description: >-
                            EVM address (0x + 40 hex chars) or null/empty for
                            unknown.
                        salt:
                          type: string
                        expires:
                          type: string
                        data:
                          type: object
                          properties:
                            groupID:
                              type: string
                            token:
                              type: string
                              pattern: ^0x[a-fA-F0-9]{40}$
                              description: >-
                                EVM address (0x + 40 hex chars) or null/empty
                                for unknown.
                            payments:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                  recipient:
                                    type: string
                                    pattern: ^0x[a-fA-F0-9]{40}$
                                    description: >-
                                      EVM address (0x + 40 hex chars) or
                                      null/empty for unknown.
                                  amount:
                                    type: string
                                required:
                                  - id
                                  - recipient
                                  - amount
                          required:
                            - groupID
                            - token
                            - payments
                      required:
                        - from
                        - to
                        - salt
                        - expires
                        - data
                signature:
                  type: string
                  pattern: ^0x(?!0{130}$)[a-fA-F0-9]{130}$
                  description: >-
                    ECDSA signature over an EVM message (0x + 130 hex chars
                    covering r, s, v).
                payment_data:
                  type: object
                  properties:
                    checksum:
                      type: string
                  required:
                    - checksum
              required:
                - from
                - to
                - pay_now
                - signer
                - typed_data
                - signature
                - payment_data
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: object
                    properties:
                      transaction:
                        type: string
                        minLength: 15
                        maxLength: 15
                        pattern: ^tx-.*
                        description: >-
                          Identifier of a Rise transaction (the unit tracked
                          end-to-end across the payment-handler pipeline).
                          15-character nanoid prefixed with `tx-`. Distinct from
                          on-chain tx hashes.
                    required:
                      - transaction
                    additionalProperties: false
                required:
                  - success
                  - data
                additionalProperties: false
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Bad Request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````