GET
/
v2
/
evm
/
smart-accounts
/
{address}
/
user-operations
/
{userOpHash}
Get a user operation
curl --request GET \
  --url https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts/{address}/user-operations/{userOpHash} \
  --header 'Authorization: Bearer <token>'
{
  "network": "base",
  "userOpHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
  "calls": [
    {
      "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "value": "0",
      "data": "0xa9059cbb000000000000000000000000fc807d1be4997e5c7b33e4d8d57e60c5b0f02b1a0000000000000000000000000000000000000000000000000000000000000064"
    },
    {
      "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
      "value": "1000000000000000",
      "data": "0x"
    }
  ],
  "status": "pending",
  "transactionHash": "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "receipts": [
    {
      "revert": {
        "data": "0x123",
        "message": "reason for failure"
      },
      "blockHash": "0x386544b58930c0ec9e8f3ed09fb4cdb76b9ae0a1a37ddcacebe3925b57978e65",
      "blockNumber": 29338819,
      "gasUsed": "100000"
    }
  ]
}

Authorizations

Authorization
string
header
required

A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.

Path Parameters

address
string
required

The address of the Smart Account the user operation belongs to.

userOpHash
string
required

The hash of the user operation to fetch.

Response

Successfully retrieved the user operation.

network
enum<string>
required

The network the user operation is for.

Available options:
base-sepolia,
base,
arbitrum,
optimism,
zora,
polygon,
bnb,
avalanche,
ethereum,
ethereum-sepolia
Example:

"base"

userOpHash
string
required

The hash of the user operation. This is not the transaction hash, as a transaction consists of multiple user operations. The user operation hash is the hash of this particular user operation which gets signed by the owner of the Smart Account.

Example:

"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"

calls
object[]
required

The list of calls in the user operation.

Example:
[
{
"to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"value": "0",
"data": "0xa9059cbb000000000000000000000000fc807d1be4997e5c7b33e4d8d57e60c5b0f02b1a0000000000000000000000000000000000000000000000000000000000000064"
},
{
"to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"value": "1000000000000000",
"data": "0x"
}
]
status
enum<string>
required

The status of the user operation.

Available options:
pending,
signed,
broadcast,
complete,
dropped,
failed
Example:

"pending"

transactionHash
string

The hash of the transaction that included this particular user operation. This gets set after the user operation is broadcasted and the transaction is included in a block.

Example:

"0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"

receipts
object[]

The list of receipts associated with the user operation.

Example:
[
{
"revert": {
"data": "0x123",
"message": "reason for failure"
},
"blockHash": "0x386544b58930c0ec9e8f3ed09fb4cdb76b9ae0a1a37ddcacebe3925b57978e65",
"blockNumber": 29338819,
"gasUsed": "100000"
}
]