Skip to main content
POST
/
transactions
Execute a transaction (send)
curl --request POST \
  --url https://api.polygon.technology/v0.9/transactions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "quoteId": "<string>",
  "deviceFingerprint": "<string>",
  "metadata": {},
  "partnerTransactionId": 123,
  "paymentMethodId": "<string>",
  "sourceWalletAddress": "<string>",
  "tags": "<string>",
  "webSessionId": "<string>"
}
'
{
  "cashInId": "<string>",
  "cashPickup": {
    "amount": "<string>",
    "asset": "<string>",
    "cashCode": "<string>",
    "expiresAt": "2023-11-07T05:31:56Z",
    "instructions": "<string>",
    "location": {
      "address": "<string>",
      "city": "<string>",
      "coordinates": {
        "latitude": 123,
        "longitude": 123
      },
      "country": "<string>",
      "name": "<string>",
      "provider": "<string>",
      "state": "<string>",
      "zipCode": "<string>"
    },
    "phoneRequired": true
  },
  "completedAt": "2023-11-07T05:31:56Z",
  "createdAt": "2023-11-07T05:31:56Z",
  "depositAddressId": "<string>",
  "depositInstructions": {
    "address": "<string>",
    "asset": "<string>",
    "exactAmount": "<string>",
    "expiresAt": "2023-11-07T05:31:56Z",
    "network": "<string>"
  },
  "destination": {
    "amountGross": "<string>",
    "amountNet": "<string>",
    "asset": "<string>",
    "bankDetails": {},
    "cash": {
      "locationId": "<string>",
      "locationReference": "<string>"
    },
    "externalAccountId": "<string>",
    "feesDeducted": {
      "developer": "<string>",
      "gas": "<string>",
      "oms": "<string>",
      "total": "<string>"
    },
    "network": "<string>",
    "owner": {
      "address": {
        "city": "<string>",
        "country": "<string>",
        "line1": "<string>",
        "line2": "<string>",
        "state": "<string>",
        "zipCode": "<string>"
      },
      "dateOfBirth": "2023-12-25",
      "email": "<string>",
      "name": "<string>",
      "nationality": "<string>",
      "phone": "<string>",
      "taxId": "<string>"
    },
    "txHash": "<string>",
    "wallet": {
      "blockchainAddress": "<string>",
      "externalAccountId": "<string>",
      "walletId": "<string>"
    }
  },
  "error": {
    "code": "<string>",
    "message": "<string>",
    "occurredAt": "2023-11-07T05:31:56Z",
    "recoverable": true,
    "refund": {
      "amount": "<string>",
      "asset": "<string>",
      "destinationWalletId": "<string>",
      "network": "<string>",
      "txHash": "<string>"
    }
  },
  "estimatedArrival": "2023-11-07T05:31:56Z",
  "expiresAt": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "metadata": {},
  "quoteId": "<string>",
  "rail": "<string>",
  "rates": {
    "effectiveRate": "<string>",
    "exchangeRate": "<string>",
    "pair": "<string>"
  },
  "recipientCustomerId": "<string>",
  "senderCustomerId": "<string>",
  "source": {
    "amountGross": "<string>",
    "amountNet": "<string>",
    "asset": "<string>",
    "externalAccountId": "<string>",
    "feesDeducted": {
      "developer": "<string>",
      "gas": "<string>",
      "oms": "<string>",
      "total": "<string>"
    },
    "network": "<string>",
    "owner": {
      "address": {
        "city": "<string>",
        "country": "<string>",
        "line1": "<string>",
        "line2": "<string>",
        "state": "<string>",
        "zipCode": "<string>"
      },
      "dateOfBirth": "2023-12-25",
      "email": "<string>",
      "name": "<string>",
      "nationality": "<string>",
      "phone": "<string>",
      "taxId": "<string>"
    },
    "txHash": "<string>",
    "walletId": "<string>"
  },
  "sponsorGas": true,
  "sponsorGasCost": "<string>",
  "subStatus": "<string>",
  "updatedAt": "2023-11-07T05:31:56Z",
  "virtualAccountId": "<string>"
}

Authorizations

Authorization
string
header
required

Token from POST /auth/token

Headers

Idempotency-Key
string
required

Required on POST and PUT requests. Use a unique value per logical mutation attempt, for example a UUID.

Body

application/json
quoteId
string
required
deviceFingerprint
string
externalCustodyCreditInfo
object
metadata
object
partnerTransactionId
integer<int32>
paymentMethodId
string
sourceWalletAddress
string
tags
string
webSessionId
string

Response

201 - application/json

The request has succeeded and a new resource has been created as a result.

cashInId
string
cashPickup
object
completedAt
string<date-time>

When the transaction reached a terminal completed state. Absent until completion; distinct from updatedAt.

createdAt
string<date-time>
depositAddressId
string
depositInstructions
object
destination
object
error
object

Error details for async failures (transactions, webhooks).

estimatedArrival
string<date-time>
expiresAt
string<date-time>
fixedAmountSide
enum<string>
Available options:
source,
destination
id
string
metadata
object
object
enum<string>
Available options:
transaction
quoteId
string
rail
string

Payment rail for this leg: e.g. "wire", "international_wire", "ach", "crypto". Lets clients label the rail without re-deriving it from other fields.

rates
object

Exchange and effective rates.

recipientCustomerId
string

Recipient customer when resolvable: internal dest wallet's owner, or the sender for cash/fiat rails. Absent for external blockchain destinations.

role
enum<string>

Present only on customer-scoped lists; see CustomerRole.

Available options:
sender,
recipient,
both
senderCustomerId
string

Sender customer (the quote owner). OMSX customer TypeID (cst_…).

source
object
sponsorGas
boolean
sponsorGasCost
string

USD cost of gas absorbed by the developer when sponsoring gas. Always "0" in alpha - gas is sponsored. Spec § 4.1.

status
enum<string>
Available options:
processing,
completed,
failed,
cashPickupReady
subStatus
string
type
enum<string>
Available options:
cryptoToCrypto,
fiatToCrypto,
cryptoToFiat
updatedAt
string<date-time>
virtualAccountId
string