Skip to main content
POST
/
v1
/
w3s
/
user
/
sign
/
transaction
Create a challenge to sign transaction
curl --request POST \
  --url https://api.circle.com/v1/w3s/user/sign/transaction \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-User-Token: <x-user-token>' \
  --data '{
  "walletId": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
  "rawTransaction": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAIAAQROrEbiYfF3zCII9...",
  "transaction": "{\"nonce\":1,\"to\":\"0x9e4ebf23f713268b8e72cd162337f20c536357c9\",\"value\":\"10000000000000000\",\"gas\":\"21000\",\"maxFeePerGas\":\"42000000000\",\"maxPriorityFeePerGas\":\"25000000000\",\"chainId\":80002}",
  "memo": "Transfer USDC to Sam"
}'
{
  "data": {
    "challengeId": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5"
  }
}

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.

Headers

X-User-Token
string
required

Unique system generated JWT session token for specific user.

X-Request-Id
string

Developer-provided parameter used to identify this request. Useful when communicating with Circle Support.

Example:

"2adba88e-9d63-44bc-b975-9b6ae3440dde"

Body

application/json

Schema for the request payload to sign a transaction.

walletId
string<uuid>
required

System-generated unique identifier of the resource.

Example:

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

rawTransaction
string

Raw transaction string that needs to be signed. Excluded with transaction. Required without transaction. Required to be base64 encoded for NEAR, Solana chains. Required to be hex encoded for EVM chains.

Example:

"AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAIAAQROrEbiYfF3zCII9..."

transaction
string

Transaction object in JSON that needs to be signed. Excluded with rawTransaction. Required without rawTransaction.

NOTE: This field is only supported by EVM chains.

Example:

"{\"nonce\":1,\"to\":\"0x9e4ebf23f713268b8e72cd162337f20c536357c9\",\"value\":\"10000000000000000\",\"gas\":\"21000\",\"maxFeePerGas\":\"42000000000\",\"maxPriorityFeePerGas\":\"25000000000\",\"chainId\":80002}"

memo
string

The human readable explanation for this sign action. Useful for presenting with extra information.

Example:

"Transfer USDC to Sam"

Response

Signature already exists

data
object
required