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

# Create external fiat account

> Creates an external fiat account linked to a user for use in offramp transfers.



## OpenAPI

````yaml post /v1/users/{user_id}/external_fiat_accounts
openapi: 3.1.0
info:
  version: 0.0.1
  title: Privy API
  description: >-
    REST API for Privy's wallet infrastructure — provision and manage wallets
    across EVM, Solana, and Bitcoin, authenticate users, sign transactions, and
    configure programmable policies and authorization intents.
  contact:
    name: Privy
    url: https://www.privy.io/
    email: support@privy.io
servers:
  - url: https://api.privy.io
security: []
tags:
  - name: Accounts
    description: Operations related to asset accounts
  - name: Aggregations
    description: Operations related to aggregations for tracking and measuring metrics
  - name: Apps
    description: Operations related to app settings and allowlist management
  - name: Cards
    description: Operations related to stablecoin-backed card issuing
  - name: Client Auth
    description: OAuth token exchange and device authorization operations
  - name: Condition Sets
    description: Operations related to condition sets
  - name: Embedded wallets
    description: Operations related to embedded wallet creation and authentication
  - name: Fiat
    description: Operations related to fiat onramping and offramping
  - name: Intents
    description: Operations related to authorization intents for wallet actions
  - name: Key quorums
    description: Operations related to key quorums
  - name: Kraken Embed
    description: >-
      Operations for Kraken Embed integration, including quotes, trades, user
      management, and portfolio operations
  - name: OAuth
    description: >-
      OAuth 2.0 endpoints including Device Authorization Grant (RFC 8628) for
      CLI and limited-input device login flows
  - name: Organizations
    description: Operations related to organizations
  - name: Policies
    description: Operations related to policies
  - name: Shared
    description: Common schemas shared across resources
  - name: Swaps
    description: Operations for swapping tokens within wallets
  - name: Teams
    description: Operations related to dashboard team management
  - name: Transactions
    description: Operations related to transactions
  - name: User signers
    description: Operations related to user signers
  - name: Users
    description: Operations related to users
  - name: Wallet Actions
    description: Operations related to wallet actions
  - name: Wallet Automations
    description: Operations related to wallet automations
  - name: Wallets
    description: Operations related to wallets
  - name: Webhooks
    description: >-
      Webhook events that Privy sends to your configured endpoint when specific
      actions occur in your app
  - name: Yield
    description: >-
      Operations for depositing and withdrawing funds from ERC-4626 yield vaults
      (Morpho, Aave)
paths:
  /v1/users/{user_id}/external_fiat_accounts:
    post:
      tags:
        - Fiat
      summary: Create an external fiat account
      description: >-
        Creates an external fiat account linked to a user for use in offramp
        transfers.
      operationId: createExternalFiatAccount
      parameters:
        - schema:
            type: string
            description: The DID of the user to create the external fiat account for.
          required: true
          name: user_id
          in: path
        - schema:
            type: string
            description: ID of your Privy app.
          required: true
          name: privy-app-id
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExternalFiatAccountRequestBody'
      responses:
        '200':
          description: The created external fiat account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalFiatAccountResponse'
      security:
        - appSecretAuth: []
components:
  schemas:
    CreateExternalFiatAccountRequestBody:
      oneOf:
        - $ref: '#/components/schemas/BridgeCreateExternalFiatAccountRequestBody'
      discriminator:
        propertyName: provider
        mapping:
          bridge:
            $ref: '#/components/schemas/BridgeCreateExternalFiatAccountRequestBody'
      description: >-
        Request body for creating an external fiat account. The shape varies by
        provider.
      title: CreateExternalFiatAccountRequestBody
      x-stainless-model: fiat.create_external_fiat_account_request_body
    ExternalFiatAccountResponse:
      type: object
      properties:
        external_fiat_account:
          $ref: '#/components/schemas/ExternalFiatAccount'
      required:
        - external_fiat_account
      description: Response containing a single external fiat account.
      title: ExternalFiatAccountResponse
      x-stainless-model: fiat.external_fiat_account_response
    BridgeCreateExternalFiatAccountRequestBody:
      type: object
      properties:
        provider:
          type: string
          enum:
            - bridge
          description: 'Discriminator: the external fiat account is orchestrated via Bridge.'
        environment:
          $ref: '#/components/schemas/Environment'
        currency:
          type: string
        account_owner_name:
          type: string
          minLength: 3
          maxLength: 256
        bank_name:
          type: string
          minLength: 1
          maxLength: 256
        account:
          $ref: '#/components/schemas/ExternalFiatAccountData'
        address:
          $ref: '#/components/schemas/ExternalFiatAccountAddress'
      required:
        - provider
        - currency
        - account_owner_name
        - account
      additionalProperties: false
      description: Request body for creating a Bridge external fiat account.
      title: BridgeCreateExternalFiatAccountRequestBody
      x-stainless-model: fiat.bridge_create_external_fiat_account_request_body
    ExternalFiatAccount:
      oneOf:
        - $ref: '#/components/schemas/BridgeExternalFiatAccount'
      discriminator:
        propertyName: provider
        mapping:
          bridge:
            $ref: '#/components/schemas/BridgeExternalFiatAccount'
      description: An external fiat account linked to a user. The shape varies by provider.
      title: ExternalFiatAccount
      x-stainless-model: fiat.external_fiat_account
    Environment:
      type: string
      enum:
        - sandbox
        - production
      description: The Privy API environment.
      title: Environment
      example: sandbox
      x-stainless-model: shared.environment
    ExternalFiatAccountData:
      oneOf:
        - $ref: '#/components/schemas/ExternalFiatAccountUsData'
        - $ref: '#/components/schemas/ExternalFiatAccountGbData'
        - $ref: '#/components/schemas/ExternalFiatAccountPixData'
        - $ref: '#/components/schemas/ExternalFiatAccountIbanData'
        - $ref: '#/components/schemas/ExternalFiatAccountSwiftData'
      discriminator:
        propertyName: type
        mapping:
          us:
            $ref: '#/components/schemas/ExternalFiatAccountUsData'
          gb:
            $ref: '#/components/schemas/ExternalFiatAccountGbData'
          pix:
            $ref: '#/components/schemas/ExternalFiatAccountPixData'
          iban:
            $ref: '#/components/schemas/ExternalFiatAccountIbanData'
          swift:
            $ref: '#/components/schemas/ExternalFiatAccountSwiftData'
      description: >-
        Bank account details. The `type` field discriminates which shape
        applies.
      title: ExternalFiatAccountData
      x-stainless-model: fiat.external_fiat_account_data
    ExternalFiatAccountAddress:
      type: object
      properties:
        street_line_1:
          type: string
          minLength: 1
        street_line_2:
          type: string
          minLength: 1
        city:
          type: string
          minLength: 1
        postal_code:
          type: string
          minLength: 1
        country:
          type: string
          minLength: 3
          maxLength: 3
        state:
          type: string
          minLength: 1
          maxLength: 3
      required:
        - street_line_1
        - city
        - country
      additionalProperties: false
      description: Physical address associated with an external fiat account.
      title: ExternalFiatAccountAddress
      x-stainless-model: fiat.external_fiat_account_address
    BridgeExternalFiatAccount:
      type: object
      properties:
        id:
          type: string
        provider:
          type: string
          enum:
            - bridge
          description: 'Discriminator: the external fiat account is orchestrated via Bridge.'
        environment:
          $ref: '#/components/schemas/Environment'
        currency:
          type: string
        bank_name:
          type: string
        account_type:
          type: string
        last_4:
          type: string
        account_owner_name:
          type: string
        created_at:
          type: string
        user_id:
          type: string
      required:
        - id
        - provider
        - environment
        - currency
        - account_type
        - account_owner_name
        - created_at
        - user_id
      description: A Bridge external fiat account linked to a user.
      title: BridgeExternalFiatAccount
      x-stainless-model: fiat.bridge_external_fiat_account
    ExternalFiatAccountUsData:
      type: object
      properties:
        type:
          type: string
          enum:
            - us
        account_number:
          type: string
          minLength: 1
        routing_number:
          type: string
          minLength: 9
          maxLength: 9
        checking_or_savings:
          type: string
      required:
        - type
        - account_number
        - routing_number
      additionalProperties: false
      description: US bank account data for an external fiat account.
      title: ExternalFiatAccountUsData
      x-stainless-model: fiat.external_fiat_account_us_data
    ExternalFiatAccountGbData:
      type: object
      properties:
        type:
          type: string
          enum:
            - gb
        account_number:
          type: string
          minLength: 8
          maxLength: 8
          description: The 8-digit UK bank account number.
        sort_code:
          type: string
          minLength: 6
          maxLength: 6
          description: The 6-digit sort code, without hyphens.
      required:
        - type
        - account_number
        - sort_code
      additionalProperties: false
      description: >-
        UK bank account data for an external fiat account. Pays out over Faster
        Payments.
      title: ExternalFiatAccountGbData
      x-stainless-model: fiat.external_fiat_account_gb_data
    ExternalFiatAccountPixData:
      type: object
      properties:
        type:
          type: string
          enum:
            - pix
        pix_key:
          type: string
          minLength: 1
          maxLength: 77
          description: >-
            The Pix key: an EVP (UUID), CPF, CNPJ, Brazilian phone number
            (+55…), or email address.
        br_code:
          type: string
          minLength: 1
          maxLength: 512
          description: The Pix "copia e cola" (copy and paste) BR Code.
        document_number:
          type: string
          minLength: 1
          maxLength: 14
          description: Optional CPF/CNPJ associated with the account, digits only.
      required:
        - type
      additionalProperties: false
      description: >-
        Brazilian Pix account data for an external fiat account. Provide exactly
        one of `pix_key` or `br_code`.
      title: ExternalFiatAccountPixData
      x-stainless-model: fiat.external_fiat_account_pix_data
    ExternalFiatAccountIbanData:
      type: object
      properties:
        type:
          type: string
          enum:
            - iban
        account_number:
          type: string
          minLength: 1
          maxLength: 34
          description: The IBAN. Up to 34 characters, per ISO 13616.
        bic:
          type: string
          minLength: 8
          maxLength: 11
          description: The BIC/SWIFT code of the beneficiary bank.
        country:
          type: string
          minLength: 3
          maxLength: 3
          description: Country the account is held in, as an ISO 3166-1 alpha-3 code.
      required:
        - type
        - account_number
        - bic
        - country
      additionalProperties: false
      description: IBAN bank account data for an external fiat account. Pays out over SEPA.
      title: ExternalFiatAccountIbanData
      x-stainless-model: fiat.external_fiat_account_iban_data
    ExternalFiatAccountSwiftData:
      type: object
      properties:
        type:
          type: string
          enum:
            - swift
        account_number:
          type: string
          minLength: 1
          maxLength: 34
        bic:
          type: string
          minLength: 8
          maxLength: 11
          description: The BIC/SWIFT code of the beneficiary bank.
        country:
          type: string
          minLength: 3
          maxLength: 3
          description: Country the account is held in, as an ISO 3166-1 alpha-3 code.
        category:
          $ref: '#/components/schemas/ExternalFiatAccountSwiftCategory'
        purpose_of_funds:
          type: array
          items:
            $ref: '#/components/schemas/ExternalFiatAccountSwiftPurposeOfFunds'
          minItems: 1
        short_business_description:
          type: string
          minLength: 1
          maxLength: 256
      required:
        - type
        - account_number
        - bic
        - category
        - purpose_of_funds
        - short_business_description
      additionalProperties: false
      description: >-
        SWIFT bank account data for an external fiat account. Pays out over
        wire. The beneficiary address is required for SWIFT and is supplied as
        the request's top-level `address`.
      title: ExternalFiatAccountSwiftData
      x-stainless-model: fiat.external_fiat_account_swift_data
    ExternalFiatAccountSwiftCategory:
      type: string
      enum:
        - client
        - parent_company
        - subsidiary
        - supplier
      description: Business relationship between the payer and the SWIFT account owner.
      title: ExternalFiatAccountSwiftCategory
      x-stainless-model: fiat.external_fiat_account_swift_category
    ExternalFiatAccountSwiftPurposeOfFunds:
      type: string
      enum:
        - intra_group_transfer
        - invoice_for_goods_and_services
      description: >-
        Reason funds are sent to a SWIFT account, required for cross-border
        compliance.
      title: ExternalFiatAccountSwiftPurposeOfFunds
      x-stainless-model: fiat.external_fiat_account_swift_purpose_of_funds
  securitySchemes:
    appSecretAuth:
      type: http
      scheme: basic
      description: >-
        Basic Auth header with your app ID as the username and your app secret
        as the password.

````