Skip to main content
POST
/
api
/
v2
/
payout-destination
Create payout destination
curl --request POST \
  --url https://demo.api.loopcrypto.xyz/api/v2/payout-destination \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --header 'entity-id: <api-key>' \
  --data '{
  "merchantId": "67e55044-10b1-426f-9247-bb680e5fe0c8",
  "networkId": 1,
  "settlementType": "crypto",
  "fiatSettlementSettings": {
    "customerType": "Individual",
    "firstName": "John",
    "lastName": "Smith",
    "email": "john.smith@loopcrypto.xyz"
  },
  "walletAddress": "0x1B3181390bfCb83A98369f660d11c6d73345f60d",
  "isDefault": true
}'
{
  "payoutDestinationId": "1234567890abcdef",
  "merchantId": "1234567890abcdef",
  "networkId": 1,
  "settlementType": "Crypto",
  "fiatSettlementAccount": {
    "provider": "Fern",
    "kycStatus": "pending",
    "kycLink": "https://www.google.com",
    "bankAccountStatus": "Pending",
    "bankAccountFormLink": "https://www.google.com"
  },
  "walletAddress": "0x1234567890abcdef",
  "isDefault": true,
  "isArchived": true,
  "dateCreated": 1716211200
}

Authorizations

api-key
string
header
required
entity-id
string
header
required

Body

application/json
merchantId
string
required

The identifier of the merchant that this payout destination will be associated with. This merchant must already exist in the system.

Example:

"67e55044-10b1-426f-9247-bb680e5fe0c8"

networkId
integer
required

The blockchain network ID the payout destination is associated with.

Valid values:

  • 1 (Ethereum)
  • 10 (Optimism)
  • 56 (BNB)
  • 137 (Polygon)
  • 8453 (Base)
  • 42220 (Celo)
  • 42161 (Arbitrum)
  • 900 (Solana)
  • 11155111 (Sepolia) - Only available for demo environment
  • 901 (Solana Devnet) - Only available on the demo environment
Required range: x >= 1
Example:

1

isDefault
boolean
required

Whether the payout destination is the default for the network and merchant. If no default payout destination exists for the network, this will be set to true regardless of the value provided.

Defaults to true.

Example:

true

settlementType
string

The settlement type determines how payments will be settled. If not specified, the settlement type will default to crypto settlement where payments are settled in the original payment token.

For fiat settlements, payments will be automatically converted to fiat currency and deposited into a bank account.

Note: If the settlement type is fiat and this is the first time you're creating a fiat payout destination, the settlementConfig is required.

Valid values (not case sensitive):

  • crypto - The payment type will be settled in crypto currency
  • fiat - The payment type will be settled in fiat currency
Example:

"crypto"

fiatSettlementSettings
object

The configuration settings specifically for fiat settlement. This includes settings like the account type (individual or business) and contact email address.

Note: Only required if the settlement type is fiat and no other payout destinations for this merchant have previously been created with a fiat settlement type.

walletAddress
string

The blockchain wallet address where payments will be sent. Must be a valid address for the specified network.

Note: Only required if the settlement type is crypto. If the settlement type is fiat all addresses entered here will be ignored as a wallet will automatically be created for you with the settlement provider

Example:

"0x1B3181390bfCb83A98369f660d11c6d73345f60d"

Response

Ok

payoutDestinationId
string
required

The unique identifier for the payout destination

Example:

"1234567890abcdef"

merchantId
string
required

The merchant ID associated with this payout destination

Example:

"1234567890abcdef"

networkId
number
required

The blockchain network ID the payout destination is associated with

Example:

1

settlementType
enum<string>
required

The settlement type of the payout destination

Available options:
Crypto,
Fiat
Example:

"Crypto"

fiatSettlementAccount
object
required

The fiat settlement settings for the payout destination if the settlement type is fiat

walletAddress
string
required

The blockchain wallet address where payments will be sent. Must be a valid address for the specified network.

Example:

"0x1234567890abcdef"

isDefault
boolean
required

Whether the payout destination is the default payout destination for the merchant.

Example:

true

isArchived
boolean
required

Whether the payout destination is archived or not. Archived payout destination cannot be used for payments.

Example:

true

dateCreated
number
required

The date the payout destination record was created, represented as a Unix timestamp in seconds.

Example:

1716211200

I