# Create a channel

Creates a new payment channel using account-based routing. The channel is associated
with an account which determines the available payment rails (crypto networks or fiat
rails) based on the account's currency.

Endpoint: POST /v1/collections/channels
Version: 1.0.0
Security: Bearer

## Request fields (application/json):

  - `payer_id` (string, required)
    Unique identifier of the payer partner
    Example: "e471b938-98ad-45e4-b144-53a556ea047d"

  - `account_id` (string, required)
    Unique identifier of the account to receive funds
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

  - `payment_currencies` (array)
    List of currencies accepted for payment on this channel. If not specified, defaults to the account's supported currencies.
    Enum: "USD", "BRL", "USDT", "USDC", "RLUSD"

## Response 201 fields (application/json):

  - `id` (string, required)
    Unique identifier for the channel
    Example: "3fa85f64-5717-4562-b3fc-2c963f66afa6"

  - `payer` (object, required)
    Payer partner details

  - `payer.id` (string, required)
    Unique identifier for the payer partner
    Example: "e471b938-98ad-45e4-b144-53a556ea047d"

  - `payer.name` (string, required)
    Full name of the payer partner
    Example: "Nigerian Imports Ltd."

  - `payer.email` (string, required)
    Email address of the payer partner
    Example: "nigerian@imports.com"

  - `beneficiary` (object, required)
    Beneficiary partner details

  - `beneficiary.id` (string, required)
    Unique identifier of the beneficiary partner
    Example: "01467076-8bb0-41c1-ad54-5751dd4a9e80"

  - `beneficiary.name` (string, required)
    Full name of the beneficiary partner
    Example: "Hong Kong Exports Ltd."

  - `beneficiary.email` (string, required)
    Email address of the beneficiary partner
    Example: "hongkong@exports.com"

  - `account` (object, required)
    Account associated to this channel, which funds will be routed to

  - `account.id` (string, required)
    Unique identifier for the account
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

  - `account.beneficiary_id` (string, required)
    Unique identifier of the beneficiary partner
    Example: "291ecf34-a01d-466a-b0fd-662a88b7a1bb"

  - `account.currency` (string, required)
    Currency for the account
    Example: "USD"

  - `account.type` (string, required)
    Type of account
    Enum: "FIAT", "CRYPTO"

  - `payment_methods` (array, required)
    Available payment methods with full deposit instructions

  - `payment_link` (string, required)
    URL for payer UI to access this channel
    Example: "https://collections.ripplenet.com/pay/channel/3fa85f64-5717-4562-b3fc-2c963f66afa6"

  - `status` (string, required)
    Status of the channel
    Enum: "ACTIVE", "INACTIVE", "CLOSED"

  - `reason` (string,null)
    Reason for current status (if applicable)

  - `created_at` (string, required)
    ISO 8601 timestamp when the channel was created
    Example: "2025-09-18T22:54:00.542Z"

  - `updated_at` (string, required)
    ISO 8601 timestamp when the channel was last updated
    Example: "2025-09-18T22:54:00.542Z"

## Response 400 fields (application/json):

  - `code` (string, required)
    Error code identifying the type of error

  - `reason` (string, required)
    Human-readable error message


