Skip to main content
GET
/
v1
/
transferSpec
/
{transferSpecHash}
Get Transfer Spec
curl --request GET \
  --url https://gateway-api.circle.com/v1/transferSpec/{transferSpecHash}
{
  "version": 1,
  "sourceDomain": 0,
  "destinationDomain": 4,
  "sourceContract": "0x000000000000000000000000557777735b1dd18194f1b84256be2a3cdee6cb6f",
  "destinationContract": "0x000000000000000000000000552222279206cb0434128e0cae4558a25779c79f",
  "sourceToken": "0x0000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c7238",
  "destinationToken": "0x000000000000000000000000036cbd53842c5426634e7929541ec2318f3dcf7e",
  "sourceDepositor": "0x0000000000000000000000002b45eF6A547A73eA248A1bCED808575c5a4839eE",
  "destinationRecipient": "0x0000000000000000000000008BA1f109551bD432803012645aac136c95e5431",
  "sourceSigner": "0x000000000000000000000000742d35Cc6623C026c893b7c2FD85c4E4A0EF4321",
  "destinationCaller": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "value": "1000000",
  "salt": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
  "hookData": "0x"
}

Path Parameters

transferSpecHash
string
required

The keccak256 hash of the TransferSpec

Example:

"0x1234abcd5678ef90..."

Response

200 - application/json

Transfer spec retrieved successfully.

version
integer
required

Version of the transfer spec (uint32).

Required range: 0 <= x <= 4294967295
Example:

1

sourceDomain
integer
required

The domain of the wallet contract this transfer came from (uint32).

Required range: 0 <= x <= 4294967295
Example:

0

destinationDomain
integer
required

The domain of the minter contract this transfer is valid for (uint32).

Required range: 0 <= x <= 4294967295
Example:

4

sourceContract
string
required

The address of the wallet contract on the source domain (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

destinationContract
string
required

The address of the minter contract on the destination domain (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

sourceToken
string
required

The token address on the source domain (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

destinationToken
string
required

The token address on the destination domain (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

sourceDepositor
string
required

The address to debit within the wallet contract on the source domain (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

destinationRecipient
string
required

The address that should receive the funds on the destination domain (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

sourceSigner
string
required

The signer who signed for the transfer (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

destinationCaller
string
required

The address of the caller who may use the attestation, 0 address if any caller (32-byte padded).

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

value
string
required

The amount to be transferred.

Example:

"1000000000000000000"

salt
string
required

An arbitrary value chosen by the user to be unique.

Example:

"0x1234567890123456789012345678901234567890123456789012345678901234"

hookData
string

Arbitrary bytes that may be used for onchain composition (optional).

Example:

"0x1a2b3c4d"

I