Skip to main content
POST
/
collections
curl --request POST \
  --url http://localhost:4000/v1/collections \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "destinationChainKey": "solana",
  "destinationCurrency": "USDC",
  "destinationAddress": "2dudFU32c5wsRpfRZDXBAJFirHC4hindqpKSCwwtDaAB"
}
'
{
  "status": "success",
  "message": "Payment link created",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567891",
    "status": "awaiting_origin",
    "linkMode": "invoice",
    "pricingType": "fixed",
    "payerSource": "wallet",
    "label": "Invoice #1042",
    "reference": "INV-1042",
    "fromName": null,
    "payeeName": "Acme Ltd",
    "logoUrl": null,
    "customerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "customerName": "Acme Ltd",
    "receiveAmount": 500,
    "receiveAmountAtomic": "500000000",
    "sendAmount": null,
    "amount": 500,
    "amountAtomic": "500000000",
    "origin": null,
    "destination": {
      "key": "solana",
      "network": "Solana",
      "symbol": "USDC",
      "address": "2dudFU32c5wsRpfRZDXBAJFirHC4hindqpKSCwwtDaAB"
    },
    "expectedAmountOut": null,
    "receivedAmountOut": null,
    "refundTo": null,
    "depositAddress": null,
    "relayRequestId": null,
    "relayStatus": null,
    "depositTxHash": null,
    "inTxHashes": [],
    "outTxHashes": [],
    "failReason": null,
    "successRedirectUrl": null,
    "payUrl": "https://pay.remitflex.io/a1b2c3d4-e5f6-7890-abcd-ef1234567891",
    "embedUrl": "https://pay.remitflex.io/embed/a1b2c3d4-e5f6-7890-abcd-ef1234567891",
    "embedConfig": {
      "layout": "default"
    },
    "quoteValidUntil": null,
    "quotedAt": null,
    "completedAt": null,
    "createdAt": "2026-06-26T09:00:00.000Z",
    "updatedAt": "2026-06-26T09:00:00.000Z"
  }
}

Authorizations

Authorization
string
header
required

API key created in the Remitflex Dashboard at dashboard.remitflex.io (rmf_live_... or rmf_test_...). Key management endpoints require a dashboard JWT and are not part of this reference.

Headers

Idempotency-Key
string
required

Unique key for safe retries on mutating API-key requests. Cached for 24 hours per org, method, and path.

Maximum string length: 255
Example:

"7f3c2a1b-4e5d-6c7b-8a9f-0e1d2c3b4a5f"

Body

application/json

Specify settlement with destinationChainKey. Use token codes like USDC for destinationCurrency.

destinationChainKey
string
required

Settlement network — base or solana.

destinationCurrency
string
required

Token code — USDC or USDT.

destinationAddress
string
required

invoice — single-use link; one id tracks one payment (default). checkout — reusable parent URL; each payer quote creates a session child; parent stays active.

Available options:
invoice,
checkout
pricingType
enum<string>
default:fixed
Available options:
fixed,
open
amount
number

Required when pricingType is fixed; omit for open links.

customerId
string
label
string
reference
string
fromName
string

Optional payer display name on pay page.

Maximum string length: 120
payeeName
string

Optional payee display name on pay page.

Maximum string length: 120
payerFields
object[]

Fields to collect from payers on the pay page before quoting. Use metadata with a custom label for extra prompts (e.g. PO number).

Maximum array length: 12
successRedirectUrl
string<uri>

Response

201 - application/json

Payment link

status
string
Example:

"success"

message
string
data
object