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

# Send a token transfer

> Transfers tokens from a managed wallet (master or child) to a destination
address. Routing (direct transfer, swap, bridge) is selected automatically from
fromChain, fromToken, toChain, and toToken.




## OpenAPI

````yaml post /wallet-infra/transfer
openapi: 3.0.0
info:
  title: Prudra API
  version: 1.0.0
  description: |-
    The Infrastructure Layer for Enterprise AI Agents.

    **Base URL:** `https://api.prudra.dev`

    **Authentication:** All endpoints require a Bearer token.
    Pass your API key in the `Authorization` header:
    `Authorization: Bearer prv_live_sk_...`

    Use `prv_test_sk_...` keys for development.
    Test keys accept `PAYMENT_STUB_MODE` payments.
  contact:
    name: Prudra Support
    email: support@prudra.com
    url: https://prudra.com
servers:
  - url: https://api.prudra.dev
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Payments
    description: Payment verification and challenge generation
  - name: Sessions
    description: Multi-step session payment management
  - name: Vaults
    description: Persistent agent workspace storage
  - name: Wallets
    description: Managed wallet provisioning and BYO wallet registration
  - name: Transfers
    description: Token transfers between addresses
  - name: Withdrawals
    description: Fund withdrawals to bank accounts
  - name: Webhooks
    description: Outbound event delivery
  - name: Billing
    description: Usage monitoring and plan management
  - name: Organisation
    description: API key and organisation management
  - name: Account
    description: Account profile and organisation payment logs
  - name: Registry
    description: Pay-walled route registry snapshots
  - name: Chains
    description: Supported chain and token metadata
  - name: Organisation wallet
    description: Legacy Tempo receiving wallet (single wallet per org)
paths:
  /wallet-infra/transfer:
    post:
      tags:
        - Transfers
      summary: Send a token transfer
      description: >
        Transfers tokens from a managed wallet (master or child) to a
        destination

        address. Routing (direct transfer, swap, bridge) is selected
        automatically from

        fromChain, fromToken, toChain, and toToken.
      operationId: transferTokens
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - fromWalletId
                - fromWalletType
                - fromChain
                - fromToken
                - toAddress
                - toChain
                - toToken
                - amount
              properties:
                fromWalletId:
                  type: string
                  example: mwt_abc123
                fromWalletType:
                  type: string
                  enum:
                    - master
                    - child
                fromChain:
                  type: string
                  enum:
                    - base
                    - ethereum
                    - optimism
                    - arbitrum
                    - polygon
                    - tempo
                    - base-sepolia
                    - eth-sepolia
                    - tempo-moderato
                fromToken:
                  type: string
                  example: USDC
                toAddress:
                  type: string
                  example: 0x...
                toChain:
                  type: string
                toToken:
                  type: string
                  example: USDC
                amount:
                  type: string
                  example: '10.00'
                  description: Human-readable decimal amount
      responses:
        '200':
          description: Transfer complete or initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferResult'
        '400':
          description: Invalid request
        '402':
          description: Insufficient balance
        '404':
          description: Wallet not found
        '422':
          description: Unsupported chain or token
components:
  schemas:
    TransferResult:
      type: object
      properties:
        txHash:
          type: string
          example: 0xabc...
        fromChain:
          type: string
          example: base
        toChain:
          type: string
          example: polygon
        fromToken:
          type: string
          example: USDC
        toToken:
          type: string
          example: USDC
        amount:
          type: string
          example: '10.00'
        route:
          type: string
          enum:
            - direct
            - lifi-swap
            - lifi-bridge
        status:
          type: string
          enum:
            - confirmed
            - pending
      required:
        - txHash
        - fromChain
        - toChain
        - fromToken
        - toToken
        - amount
        - route
        - status
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: Prudra API Key
      description: Your Prudra API key. Get one at dashboard.prudra.com/settings/api-keys

````