Skip to main content
POST
/
v2
/
cpn
/
payments
/
{paymentId}
/
transactions
Create a transaction (V2)
curl --request POST \
  --url https://api.circle.com/v2/cpn/payments/{paymentId}/transactions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "idempotencyKey": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
  "metadata": {}
}'
{
  "data": {
    "id": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
    "paymentId": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
    "status": "PENDING",
    "expireDate": "2023-01-01T12:04:05Z",
    "senderAddress": "0xe01be9cdd9e744ae6a709794bfe531ec3ec0671c",
    "blockchain": "ETH-SEPOLIA",
    "amount": {
      "amount": "110.270000",
      "currency": "USDC"
    },
    "destinationAddress": "0xe01be9cdd9e744ae6a709794bfe531ec3ec0671c",
    "messageType": "PAYMENT_SETTLEMENT_CONTRACT_V1_0_PAYMENT_INTENT",
    "messageToBeSigned": {},
    "metadata": {},
    "failureReason": "FAILED_ONCHAIN",
    "transactionHash": "2vmEDSBThR143WJyJePkpKVQcERVo9KePuCUwYU8fkoJaQjarTMj6sZG7DNnJ4zjhtRz6hDruqEFEkD4wJpGviiW"
  }
}

Authorizations

Authorization
string
header
required

Circle's API Keys are formatted in the following structure "PREFIX:ID:SECRET". All three parts are requred to make a successful request.

Path Parameters

paymentId
string<uuid>
required

The payment id created previously.

Example:

"c4d1da72-111e-4d52-bdbf-2e74a2d803d5"

Body

application/json

Create a V2 transaction for signing

idempotencyKey
string<uuid>
required

Unique identifier to prevent duplicate transaction creation.

Example:

"a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"

metadata
object

Key-value pairs for storing reference data. Up to 50 keys allowed, with key names up to 40 characters and values up to 500 characters.

Response

Transaction created successfully or idempotency conflict.

V2 Transaction response wrapper

data
object
required

V2 transaction response schema containing details about the transaction amount, addresses, and status