Create a crypto deposit
curl --request POST \
--url https://api.pay.flipeet.io/api/v1/merchant/transactions/crypto/initialize \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"network": "base",
"asset": "usdc"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({network: 'base', asset: 'usdc'})
};
fetch('https://api.pay.flipeet.io/api/v1/merchant/transactions/crypto/initialize', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pay.flipeet.io/api/v1/merchant/transactions/crypto/initialize"
payload = {
"network": "base",
"asset": "usdc"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"message": "Crypto transaction initialized",
"status": "success",
"statusCode": 201,
"data": {
"reference": "inv_2201",
"type": "crypto",
"network": "base",
"asset": "usdc",
"address": "0x3c5b0e8d1f6a4b2c9e7d0a1b2c3d4e5f60718293",
"expectedAmount": 100,
"status": "pending",
"livemode": true
}
}{
"message": "Amount must be a positive number",
"status": "error",
"statusCode": 400,
"code": "invalid_request",
"details": {
"errors": [
"Amount must be a positive number"
]
},
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Invalid or inactive API key",
"status": "error",
"statusCode": 401,
"code": "authentication_failed",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Reference payout_5510 already exists",
"status": "error",
"statusCode": 409,
"code": "conflict",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Too many requests. Slow down and try again shortly.",
"status": "error",
"statusCode": 429,
"code": "rate_limited",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Internal server error",
"status": "error",
"statusCode": 500,
"code": "internal_error",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}Deposits
Create a crypto deposit
Returns a wallet address for one payment, on the network and token you ask for. When the transfer confirms, the amount (less fees) is added to your balance and you get transaction.crypto.completed.
Show your customer the address, the network and the token. Funds sent in another token, or on another network, may not be recoverable.
POST
/
api
/
v1
/
merchant
/
transactions
/
crypto
/
initialize
Create a crypto deposit
curl --request POST \
--url https://api.pay.flipeet.io/api/v1/merchant/transactions/crypto/initialize \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"network": "base",
"asset": "usdc"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({network: 'base', asset: 'usdc'})
};
fetch('https://api.pay.flipeet.io/api/v1/merchant/transactions/crypto/initialize', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pay.flipeet.io/api/v1/merchant/transactions/crypto/initialize"
payload = {
"network": "base",
"asset": "usdc"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"message": "Crypto transaction initialized",
"status": "success",
"statusCode": 201,
"data": {
"reference": "inv_2201",
"type": "crypto",
"network": "base",
"asset": "usdc",
"address": "0x3c5b0e8d1f6a4b2c9e7d0a1b2c3d4e5f60718293",
"expectedAmount": 100,
"status": "pending",
"livemode": true
}
}{
"message": "Amount must be a positive number",
"status": "error",
"statusCode": 400,
"code": "invalid_request",
"details": {
"errors": [
"Amount must be a positive number"
]
},
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Invalid or inactive API key",
"status": "error",
"statusCode": 401,
"code": "authentication_failed",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Reference payout_5510 already exists",
"status": "error",
"statusCode": 409,
"code": "conflict",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Too many requests. Slow down and try again shortly.",
"status": "error",
"statusCode": 429,
"code": "rate_limited",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Internal server error",
"status": "error",
"statusCode": 500,
"code": "internal_error",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}Authorizations
Body
application/json
