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

# Create Recipient

Create and manage payout and settlement destinations for your account. HashRails supports two recipient types:

* **Bank account** - settle to a local bank account
* **Crypto** - settle in USDC or USDT to a wallet address

### Crypto Recipients

For crypto recipients, you need:

* `wallet_address` - Ethereum wallet address (required for crypto)
* `network` - Blockchain network (e.g., Polygon, Ethereum)
* `symbol` - Cryptocurrency symbol (e.g., USDC, USDT)

### Fiat Recipients

For fiat recipients, you need:

* `account_number` - Bank account number (10 digits)
* `bank_code` - Bank code (get available codes from [Get Banks](/api-reference/bank/get))
* `currency` - Fiat currency (e.g., NGN, USD, EUR)

### Common Fields

Both types require:

* `name` - Recipient name
* `type` - Either "crypto" or "fiat"


## OpenAPI

````yaml POST /v1/recipients
openapi: 3.1.0
info:
  title: Hashrails API
  description: >-
    Comprehensive API documentation for Hashrails – easily create, manage, and
    query virtual accounts, recipients, and bank integrations. Secure, scalable,
    and developer-friendly.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.railsfromthecrypt.com
  - url: https://api.hashrails.com
security: []
paths:
  /v1/recipients:
    post:
      tags:
        - Recipients
      summary: Create a new recipient (crypto or fiat)
      operationId: PublicRecipientController_
      parameters:
        - name: x-api-key
          in: header
          description: API key for authentication
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: Idempotency key for the create recipient request
          required: false
          schema:
            example: 1234567890-1234567890-1234567890
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - title: Crypto Recipient
                  type: object
                  description: >-
                    Create a crypto recipient to receive settlement in USDC or
                    USDT.
                  properties:
                    type:
                      type: string
                      description: Recipient type.
                      enum:
                        - crypto
                      example: crypto
                    name:
                      type: string
                      description: A label for this recipient.
                      example: My USDT Wallet
                    wallet_address:
                      type: string
                      description: The destination wallet address.
                      example: '0x3fA91D6b84bE2c0BFD7647a92E5B1A2Ec6F8C91e'
                    network:
                      type: string
                      description: Blockchain network for settlement.
                      enum:
                        - Polygon
                        - Ethereum
                        - BSC
                        - Arbitrum
                        - TRC20
                      example: Polygon
                    symbol:
                      type: string
                      description: Cryptocurrency to settle in.
                      enum:
                        - USDC
                        - USDT
                      example: USDT
                  required:
                    - type
                    - name
                    - wallet_address
                    - network
                    - symbol
                - title: Fiat Recipient
                  type: object
                  description: >-
                    Create a fiat recipient to receive settlement in a local
                    currency via bank account or mobile money.
                  properties:
                    type:
                      type: string
                      description: Recipient type.
                      enum:
                        - fiat
                      example: fiat
                    name:
                      type: string
                      description: A label for this recipient.
                      example: Acme Ltd
                    account_number:
                      type: string
                      description: >-
                        Bank account number (10 digits). Required for bank
                        account recipients.
                      example: '0123456789'
                    bank_code:
                      type: string
                      description: >-
                        Bank code from the Get Banks endpoint. Required for bank
                        account recipients.
                      example: '035'
                    currency:
                      type: string
                      description: Fiat currency for settlement.
                      enum:
                        - NGN
                        - GHS
                        - KES
                        - UGX
                        - ZAR
                        - USD
                        - EUR
                        - GBP
                      example: NGN
                    phone_number:
                      type: string
                      description: >-
                        Phone number in E.164 format. Use instead of
                        account_number and bank_code for mobile money recipients
                        (KES, UGX, GHS, ZAR).
                      example: '+254712345678'
                  required:
                    - type
                    - name
                    - currency
      responses:
        '201':
          description: Recipient created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Recipient created successfully
                  data:
                    oneOf:
                      - $ref: '#/components/schemas/PublicCryptoRecipientResponseDto'
                      - $ref: '#/components/schemas/PublicFiatRecipientResponseDto'
components:
  schemas:
    PublicCryptoRecipientResponseDto:
      type: object
      properties:
        id:
          type: string
          example: rec_01J8V9ZP3A7
        type:
          type: string
          example: crypto
        name:
          type: string
          example: Vendor Payment
        active:
          type: boolean
          example: true
        details:
          type: object
          properties:
            network:
              type: string
              example: Polygon
            wallet_address:
              type: string
              example: '0x3fA91D6b84bE2c0BFD7647a92E5B1A2Ec6F8C91e'
            symbol:
              type: string
              example: USDT
        created_at:
          type: string
          example: '2025-10-10T09:15:21Z'
      required:
        - id
        - type
        - name
        - active
        - details
        - created_at
    PublicFiatRecipientResponseDto:
      type: object
      properties:
        id:
          type: string
          example: rec_01J8V9ZP3A7
        type:
          type: string
          example: fiat
        name:
          type: string
          example: Acme Ltd
        active:
          type: boolean
          example: true
        details:
          type: object
          properties:
            bank_name:
              type: string
              example: Wema Bank
            account_number:
              type: string
              example: '0123456789'
            account_name:
              type: string
              example: ACME LTD
            currency:
              type: string
              example: NGN
        created_at:
          type: string
          example: '2025-10-10T09:15:21Z'
      required:
        - id
        - type
        - name
        - active
        - details
        - created_at

````