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

# Add Fiat / Onchain Recipient

> Add a new fiat or cryptocurrency recipient for withdrawals. The request body varies depending on the currency. All withdrawal requests require approved KYC.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/ramp/{subaccountId}/banking/recipients
openapi: 3.0.0
info:
  title: Bullring Finance API
  description: >-
    The Bullring Finance API allows you to build powerful cross-border payment
    solutions.
  version: 1.0.0
servers:
  - url: https://api.bullring.finance
    description: Production Server
  - url: https://staging-api.bullring.finance
    description: Sandbox Server
security:
  - x-api-key: []
tags:
  - name: Subaccounts
    description: Operations related to user subaccounts.
  - name: Verification
    description: Endpoints for subaccount verification, including KYC and KYB processes.
  - name: Balances
    description: Endpoints for retrieving account balances.
  - name: Deposits
    description: Endpoints for handling deposits into subaccounts.
  - name: Recipients
    description: Manage payment recipients for withdrawals.
  - name: Withdrawals
    description: Endpoints for handling withdrawals from subaccounts.
  - name: Conversions
    description: Endpoints for currency conversions.
  - name: Rates
    description: Endpoints for currency conversion rates.
  - name: Fees
    description: Endpoints for checking transaction fees.
  - name: Offramp
    description: Endpoints for handling offramp operations.
  - name: Onramp
    description: Endpoints for handling onramp operations.
paths:
  /v1/ramp/{subaccountId}/banking/recipients:
    post:
      tags:
        - Recipients
      summary: Add Fiat / Onchain Recipient
      description: >-
        Add a new fiat or cryptocurrency recipient for withdrawals. The request
        body varies depending on the currency. All withdrawal requests require
        approved KYC.
      parameters:
        - name: subaccountId
          in: path
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: BRL
                  type: object
                  description: Requires approved KYC.
                  properties:
                    currency:
                      type: string
                      enum:
                        - BRL
                    pix_key:
                      type: string
                  required:
                    - currency
                    - pix_key
                - title: NGN
                  type: object
                  description: Requires approved KYC.
                  properties:
                    currency:
                      type: string
                      enum:
                        - NGN
                    account_number:
                      type: string
                    account_owner_name:
                      type: string
                    bank_code:
                      type: string
                    bank_name:
                      type: string
                    country:
                      type: string
                  required:
                    - currency
                    - account_number
                    - account_owner_name
                    - bank_code
                    - bank_name
                    - country
                - title: USD
                  type: object
                  description: >-
                    Requires approved KYC. USD business recipients are
                    identified by business_name. If the recipient will be used
                    for named withdrawals, provide business_name plus
                    beneficiary_date_of_formation,
                    beneficiary_country_of_formation, and
                    beneficiary_national_identification_number.
                  properties:
                    currency:
                      type: string
                      enum:
                        - USD
                    account_owner_name:
                      type: string
                    bank_name:
                      type: string
                    account_number:
                      type: string
                    routing_number:
                      type: string
                    country:
                      type: string
                    address:
                      type: object
                      properties:
                        street_line_1:
                          type: string
                        street_line_2:
                          type: string
                        city:
                          type: string
                        state:
                          type: string
                        postal_code:
                          type: string
                        country:
                          type: string
                      required:
                        - street_line_1
                        - city
                        - state
                        - postal_code
                        - country
                    business_name:
                      type: string
                      description: >-
                        Business legal name. Business recipients are identified
                        by business_name.
                    email:
                      type: string
                      format: email
                    beneficiary_date_of_formation:
                      type: string
                      format: date
                      description: >-
                        Business formation date. Required if this recipient will
                        be used for named withdrawals.
                    beneficiary_country_of_formation:
                      type: string
                      description: >-
                        Business country of formation. Required if this
                        recipient will be used for named withdrawals.
                    beneficiary_national_identification_number:
                      type: string
                      description: >-
                        Business national identification or tax number. Required
                        if this recipient will be used for named withdrawals.
                    account_type:
                      type: string
                      enum:
                        - CHECKING
                        - SAVINGS
                      description: >-
                        USD bank account type when required for the recipient
                        account.
                  required:
                    - currency
                    - bank_name
                    - account_number
                    - routing_number
                    - address
                - title: GHS
                  type: object
                  description: Requires approved KYC.
                  properties:
                    currency:
                      type: string
                      enum:
                        - GHS
                    phone_number:
                      type: string
                    account_owner_name:
                      type: string
                  required:
                    - currency
                    - phone_number
                    - account_owner_name
                - title: USDC
                  type: object
                  description: Requires approved Tier 2 KYC.
                  properties:
                    currency:
                      type: string
                      enum:
                        - USDC
                      description: USDC recipient
                    wallet_address:
                      type: string
                      description: Cryptocurrency wallet address for USDC transfers
                    nick_name:
                      type: string
                      description: Nickname for the USDC wallet address
                    chain:
                      type: string
                      enum:
                        - ethereum
                        - solana
                        - tron
                        - trx
                        - eth
                        - erc20
                        - sol
                        - polygon
                        - avax
                        - matic
                        - poly
                      description: The blockchain on which the USDC is held
                  required:
                    - currency
                    - wallet_address
                    - nick_name
                - title: USDT
                  type: object
                  description: Requires approved Tier 2 KYC.
                  properties:
                    currency:
                      type: string
                      enum:
                        - USDC
                      description: USDC recipient
                    wallet_address:
                      type: string
                      description: Cryptocurrency wallet address for USDC transfers
                    nick_name:
                      type: string
                      description: Nickname for the USDC wallet address
                    chain:
                      type: string
                      enum:
                        - ethereum
                        - solana
                        - tron
                        - trx
                        - eth
                        - erc20
                        - sol
                        - polygon
                        - avax
                        - matic
                        - poly
                      description: The blockchain on which the USDC is held
                  required:
                    - currency
                    - wallet_address
                    - nick_name
            examples:
              BRL:
                summary: BRL recipient example
                value:
                  currency: BRL
                  pix_key: '71719844194'
              NGN:
                summary: NGN recipient example
                value:
                  account_number: '0062881117'
                  account_owner_name: Test Account
                  bank_code: '270'
                  bank_name: Access Bank Nigeria Plc
                  country: NG
                  currency: NGN
              USD:
                summary: USD business recipient for named withdrawals
                value:
                  currency: USD
                  bank_name: JPMorgan Chase Bank
                  account_number: '123456789012'
                  routing_number: '021000021'
                  business_name: Recipient Company LLC
                  email: finance@recipient-company.com
                  address:
                    street_line_1: 123 Market St
                    street_line_2: Suite 400
                    city: New York
                    state: NY
                    postal_code: '10001'
                    country: US
                  beneficiary_date_of_formation: '2020-01-31'
                  beneficiary_country_of_formation: US
                  beneficiary_national_identification_number: 12-3456789
                  account_type: CHECKING
              GHS:
                summary: GHS recipient example
                value:
                  currency: GHS
                  phone_number: '+233241234567'
                  account_owner_name: test two
      responses:
        '201':
          description: Successful fiat recipient creation
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  account_owner_name:
                    type: string
                  active:
                    type: boolean
                  currency:
                    type: string
                  is_verified:
                    type: boolean
                  account_id:
                    type: string
              examples:
                BRL:
                  summary: BRL example
                  value:
                    id: 0bf68a2a-72e1-4846-82a6-c9023efd9907
                    account_owner_name: Hugo Gonzalez
                    active: true
                    currency: BRL
                    is_verified: false
                    account_id: 667.136.083-96
                GHS:
                  summary: GHS example
                  value:
                    id: d1d89633-0a87-4324-9976-7708f5d70933
                    account_owner_name: test two
                    active: true
                    currency: GHS
                    is_verified: false
                    account_id: '+233241234567'
                USDC:
                  summary: USDC example
                  value:
                    id: 334e9024-28de-4247-9f01-d7c74163dd40
                    account_owner_name: test two
                    active: true
                    currency: USDC
                    is_verified: false
                    account_id: '0x1234567890123456789012345678901234567890'
                    payment_rail: ethereum
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 400
                timestamp: '2025-11-20T21:53:30.125Z'
                error: Error
                message: Failed to validate PIX key. Please check and try again.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 403
                timestamp: '2025-11-25T02:42:56.154Z'
                error: Error
                message: >-
                  You cannot add a bank account until your KYC verification is
                  complete for the payment rails
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 404
                message: Not Found
components:
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````