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

# Create Chainflip deposit channel

> Creates a broker deposit channel for a Chainflip swap.



## OpenAPI

````yaml api-reference/openapi.json post /v1/chainflip-deposit-channel
openapi: 3.1.0
info:
  title: dKit API
  description: Cross-chain swap aggregation API
  contact:
    name: API Support
    email: support@dkit.xyz
  version: v1
servers:
  - url: https://api.dkit.xyz
    description: Production API server
  - url: https://staging-api.dkit.xyz
    description: Staging API server
security: []
tags:
  - name: Core Endpoints
    description: Primary swap operations for quotes and tracking
  - name: Service Endpoints
    description: Specific transaction and integrations services
  - name: Data Endpoints
    description: Information endpoints for tokens, rates, and network data
externalDocs:
  description: API Documentation
  url: https://docs.dkit.xyz
paths:
  /v1/chainflip-deposit-channel:
    post:
      tags:
        - Service Endpoints
      summary: Create Chainflip deposit channel
      description: Creates a broker deposit channel for a Chainflip swap.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrokerDepositChannelParams'
            examples:
              default:
                value:
                  buyAsset: ETH.ETH
                  sellAsset: BTC.BTC
                  destinationAddress: '0x817bFA97Cc8E5Bfa499D401f43E3087B07AE96f9'
                  affiliateCode: eld
                  affiliateBps: 50
                  maxBoostFeeBps: 100
                summary: Create deposit channel for BTC to ETH swap
              BTC to ETH channel:
                value:
                  buyAsset: ETH.ETH
                  sellAsset: BTC.BTC
                  destinationAddress: '0x817bFA97Cc8E5Bfa499D401f43E3087B07AE96f9'
                  affiliateCode: eld
                  affiliateBps: 50
                  maxBoostFeeBps: 100
                summary: Create deposit channel for BTC to ETH swap
              SOL to USDC channel:
                value:
                  buyAsset: ARB.USDC-0xaf88d065e77c8cC2239327C5EDb3A432268e5831
                  sellAsset: SOL.SOL
                  destinationAddress: '0x494447b317d2ee41d4c02600edb7c2193b2c9085'
                  affiliateCode: dz
                  affiliateBps: 88
                  maxBoostFeeBps: 100
                summary: Create deposit channel for SOL to USDC swap
      responses:
        '200':
          description: Deposit channel created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrokerDepositChannelResponse'
              examples:
                BTC deposit channel created:
                  value:
                    depositAddress: bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
                    channelId: '1234567890'
                    issuedBlock: 1000000
                    sourceChainExpiryBlock: 1002880
                  summary: Successfully created BTC deposit channel
                SOL deposit channel created:
                  value:
                    depositAddress: FWcTwCU9ohDn2eXiagCCdtzdLuDrX6nhy3PCVFfdGHd4
                    channelId: '9876543210'
                    issuedBlock: 250000000
                    sourceChainExpiryBlock: 250010000
                  summary: Successfully created SOL deposit channel
        '400':
          description: >-
            Bad Request - The request was invalid or cannot be served. Check the
            error message for details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '429':
          description: >-
            Too Many Requests - Rate limit exceeded. Please wait before making
            another request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '500':
          description: Internal Server Error - An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '502':
          description: >-
            Bad Gateway - The server received an invalid response from an
            upstream service.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayError'
components:
  schemas:
    BrokerDepositChannelParams:
      type: object
      properties:
        sellAsset:
          type: string
        buyAsset:
          type: string
        destinationAddress:
          type: string
        channelMetadata:
          type:
            - object
            - 'null'
          properties:
            gasBudget:
              type: number
            message:
              type:
                - string
                - 'null'
            ccmAdditionalData:
              type:
                - string
                - 'null'
          required:
            - gasBudget
            - message
        refundParameters:
          type:
            - object
            - 'null'
          properties:
            refundAddress:
              type: string
            retryDuration:
              type: number
            minPrice:
              type:
                - string
                - 'null'
          required:
            - refundAddress
            - minPrice
        affiliateCode:
          type: string
        affiliateBps:
          type: number
          minimum: 0
          maximum: 1000
        brokerCommissionBps:
          type: number
        maxBoostFeeBps:
          type: number
      required:
        - sellAsset
        - buyAsset
        - destinationAddress
    BrokerDepositChannelResponse:
      type: object
      properties:
        depositAddress:
          type: string
        channelId:
          type: string
        issuedBlock:
          type: number
        sourceChainExpiryBlock:
          type: number
      required:
        - depositAddress
        - channelId
        - issuedBlock
        - sourceChainExpiryBlock
    ValidationError:
      type: object
      properties:
        type:
          type: string
          enum:
            - /errors/validation-error
        title:
          type: string
          enum:
            - Validation Error
        status:
          type: number
          enum:
            - 400
        detail:
          type: string
        instance:
          type: string
        timestamp:
          type: string
          format: date-time
        traceId:
          type: string
        errors:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
              code:
                type: string
            required:
              - message
      required:
        - type
        - title
        - status
        - detail
    RateLimitError:
      type: object
      properties:
        type:
          type: string
          enum:
            - /errors/rate-limit-exceeded
        title:
          type: string
          enum:
            - Too Many Requests
        status:
          type: number
          enum:
            - 429
        detail:
          type: string
        instance:
          type: string
        timestamp:
          type: string
          format: date-time
        traceId:
          type: string
        retryAfter:
          type: integer
          exclusiveMinimum: 0
          description: Number of seconds to wait before retrying
      required:
        - type
        - title
        - status
        - detail
        - retryAfter
    InternalServerError:
      type: object
      properties:
        type:
          type: string
          enum:
            - /errors/internal-server-error
        title:
          type: string
          enum:
            - Internal Server Error
        status:
          type: number
          enum:
            - 500
        detail:
          type: string
          default: An unexpected error occurred
        instance:
          type: string
        timestamp:
          type: string
          format: date-time
        traceId:
          type: string
      required:
        - type
        - title
        - status
    BadGatewayError:
      type: object
      properties:
        type:
          type: string
          enum:
            - /errors/bad-gateway
        title:
          type: string
          enum:
            - Bad Gateway
        status:
          type: number
          enum:
            - 502
        detail:
          type: string
        instance:
          type: string
        timestamp:
          type: string
          format: date-time
        traceId:
          type: string
        upstream:
          type: object
          properties:
            service:
              type: string
            error:
              type: string
          description: Details about the upstream service error
      required:
        - type
        - title
        - status
        - detail

````