Skip to main content
POST
/
api
/
v2
/
merchant
Create merchant
curl --request POST \
  --url https://demo.api.loopcrypto.xyz/api/v2/merchant \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --header 'entity-id: <api-key>' \
  --data '{
  "merchantName": "Loop Inc.",
  "merchantEmail": "merchant@example.com",
  "merchantRefId": "mer_29347",
  "paymentTypes": [
    {
      "networkId": 1,
      "settlementType": "crypto",
      "payoutDestinations": [
        "0x1B3181390bfCb83A98369f660d11c6d73345f60d"
      ],
      "tokens": [
        {
          "tokenSymbol": "USDC",
          "tokenAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
          "isDefault": true
        }
      ]
    }
  ],
  "fiatSettlementSettings": {
    "customerType": "Individual",
    "firstName": "John",
    "lastName": "Smith",
    "email": "john.smith@loopcrypto.xyz"
  }
}'
{
  "merchantId": "1234567890abcdef",
  "merchantName": "Loop Inc.",
  "merchantRefId": "1234567890",
  "payoutDestinations": [
    {
      "networkId": 1,
      "walletAddress": "0x1234567890abcdef",
      "isDefault": true,
      "payoutDestinationId": "1234567890abcdef",
      "settlementType": "Crypto"
    }
  ],
  "fiatSettlementAccount": {
    "provider": "Fern",
    "kycStatus": "pending",
    "kycLink": "https://www.google.com",
    "bankAccountStatus": "Pending",
    "bankAccountFormLink": "https://www.google.com"
  },
  "paymentTypes": [
    {
      "symbol": "USDC",
      "networkId": 1,
      "tokenId": "d9e1f2a3-b4c5-6d7e-8f9g-0h1i2j3k4l5m",
      "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "decimals": 6,
      "isDefault": true
    }
  ]
}

Authorizations

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

Body

application/json
merchantName
string
required

The name that identifies the merchant

Example:

"Loop Inc."

merchantEmail
string

The merchant's email address. If any of the payment types settle in fiat, the merchant's email address is required to verify the merchant's identity. If all the payment types settle in crypto, the merchant's email address is optional.

Example:

"merchant@example.com"

merchantRefId
string

(Optional) A unique reference ID used to identify the merchant in external systems. This can be used to link the merchant to records in other platforms

Example:

"mer_29347"

paymentTypes
object[]

(Optional) Configuration specifying which payment networks (e.g. Ethereum, Polygon) and tokens (e.g. USDC) the merchant will accept payments in. Each payment type includes a destination wallet address where the funds will be sent when a payment is received.

Note: If no payment types are provided, the merchant will inherit all payment types from the entity.

fiatSettlementSettings
object

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

Note: Only required if 1 or more of the payment types have a settlement type of fiat

Response

Ok

merchantId
string
required

The unique identifier for the merchant

Example:

"1234567890abcdef"

merchantName
string
required

The name that identifies the merchant

Example:

"Loop Inc."

merchantRefId
string | null
required

The unique reference ID used to identify the merchant in external systems

Example:

"1234567890"

payoutDestinations
object[]
required

The payout destinations supported by the organization

fiatSettlementAccount
object
required

The fiat settlement configuration for the entity when fiat settlement is enabled for any payout destination

paymentTypes
object[]
required

The payment types supported by the merchant

I