POST
/
v1
/
transactions
/
create
curl https://api.geldstuck.com/v1/transactions/create \
  -H "x-api-key: $GELDSTUCK_PUBLIC_KEY" \
  -H "x-api-secret: $GELDSTUCK_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-42" \
  -d '{
    "accountType": "escrow",
    "title": "1972 Rolex Submariner",
    "amount": 1850000,
    "currency": "EUR",
    "seller": { "userId": "usr_seller_..." },
    "buyer":  { "email":  "bob@example.com" },
    "timeline": { "deliveryDays": 7, "inspectionDays": 3 }
  }'
{
  "id": "tx_01HX3ZM...",
  "token": "tokn_01HX3ZX...",
  "accountType": "escrow",
  "title": "1972 Rolex Submariner",
  "amount": 1850000,
  "currency": "EUR",
  "status": "invited",
  "seller": { "userId": "usr_seller_...", "accepted": true },
  "buyer":  { "email":  "bob@example.com", "accepted": false },
  "inviteToken": "ey...",
  "inviteUrl": "https://app.geldstuck.com/accept/ey...",
  "createdAt": "2026-04-22T11:00:00.000Z"
}
See the escrow guide for the end-to-end flow.

Body

accountType
string
required
One of escrow, wire, card, bank_transfer.
title
string
required
Short human-readable description, e.g. "1972 Rolex Submariner".
amount
integer
required
In minor units (cents). 1500 = €15.00.
currency
string
required
ISO 4217 currency code. EUR, USD, GBP.
seller
object
required
Either { userId } for an existing user or { email, name? } to auto-create.
buyer
object
required
Same shape as seller.
timeline
object
Optional. { deliveryDays, inspectionDays }.
metadata
object

Returns

A transaction object, plus inviteToken / inviteUrl for the counterparty.
curl https://api.geldstuck.com/v1/transactions/create \
  -H "x-api-key: $GELDSTUCK_PUBLIC_KEY" \
  -H "x-api-secret: $GELDSTUCK_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-42" \
  -d '{
    "accountType": "escrow",
    "title": "1972 Rolex Submariner",
    "amount": 1850000,
    "currency": "EUR",
    "seller": { "userId": "usr_seller_..." },
    "buyer":  { "email":  "bob@example.com" },
    "timeline": { "deliveryDays": 7, "inspectionDays": 3 }
  }'
{
  "id": "tx_01HX3ZM...",
  "token": "tokn_01HX3ZX...",
  "accountType": "escrow",
  "title": "1972 Rolex Submariner",
  "amount": 1850000,
  "currency": "EUR",
  "status": "invited",
  "seller": { "userId": "usr_seller_...", "accepted": true },
  "buyer":  { "email":  "bob@example.com", "accepted": false },
  "inviteToken": "ey...",
  "inviteUrl": "https://app.geldstuck.com/accept/ey...",
  "createdAt": "2026-04-22T11:00:00.000Z"
}