Track a gasless deposit job
curl --request GET \
--url https://api.eco.com/v1/circle-gateway/deposit-addresses/statusimport requests
url = "https://api.eco.com/v1/circle-gateway/deposit-addresses/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.eco.com/v1/circle-gateway/deposit-addresses/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eco.com/v1/circle-gateway/deposit-addresses/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eco.com/v1/circle-gateway/deposit-addresses/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eco.com/v1/circle-gateway/deposit-addresses/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eco.com/v1/circle-gateway/deposit-addresses/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "gasless:0f450218-1b2c-4d3e-8f9a-0b1c2d3e4f5a",
"type": "gasless",
"status": "published",
"updatedAt": 1789522704,
"intentHashes": [
"0x3f1886e7c3a4cab62b4a0661e393600f0917d5a514652e96623b0f17ce0d3749"
],
"subStatuses": [
{
"chainId": 8453,
"quoteIds": [],
"txHash": "0x3ef97346fd076aadb54c851f33ba9234feb34d27442b9bb0abc7a0d75827af13",
"intentHashes": [
"0x3f1886e7c3a4cab62b4a0661e393600f0917d5a514652e96623b0f17ce0d3749"
],
"state": "published"
}
]
}
],
"nextCursor": null
}Circle Gateway fast deposits
Track a gasless deposit job
Returns the state of a deposit address or a gasless funding job. Valid lookups return 200; unknown IDs report status unknown.
GET
/
v1
/
circle-gateway
/
deposit-addresses
/
status
Track a gasless deposit job
curl --request GET \
--url https://api.eco.com/v1/circle-gateway/deposit-addresses/statusimport requests
url = "https://api.eco.com/v1/circle-gateway/deposit-addresses/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.eco.com/v1/circle-gateway/deposit-addresses/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eco.com/v1/circle-gateway/deposit-addresses/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eco.com/v1/circle-gateway/deposit-addresses/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eco.com/v1/circle-gateway/deposit-addresses/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eco.com/v1/circle-gateway/deposit-addresses/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "gasless:0f450218-1b2c-4d3e-8f9a-0b1c2d3e4f5a",
"type": "gasless",
"status": "published",
"updatedAt": 1789522704,
"intentHashes": [
"0x3f1886e7c3a4cab62b4a0661e393600f0917d5a514652e96623b0f17ce0d3749"
],
"subStatuses": [
{
"chainId": 8453,
"quoteIds": [],
"txHash": "0x3ef97346fd076aadb54c851f33ba9234feb34d27442b9bb0abc7a0d75827af13",
"intentHashes": [
"0x3f1886e7c3a4cab62b4a0661e393600f0917d5a514652e96623b0f17ce0d3749"
],
"state": "published"
}
]
}
],
"nextCursor": null
}Returns the state of a deposit address (
address) or a gasless funding job (jobId). One filter is required. A valid lookup returns 200; an unknown address or job is reported with status: "unknown". Job status covers the funding transaction; the deposit lookup covers the deposit itself.
No API key is required: Circle Gateway operations are open so that any wallet or relay can create and fund a deposit address. A supplied key that is unknown, revoked, or not enabled for v1 is still rejected with 401 invalid-api-key, so send no key rather than a wrong one. No requests-per-second quota is published. Handle 429 and honor Retry-After when present. See Errors and retries for common errors and retry handling.
Examples use mainnet token and contract addresses with placeholder wallets, hashes, signatures, and IDs. They are illustrative and must not be used to transfer funds.Headers
Optional. A key that is unknown, revoked, or not enabled for v1 is rejected with 401.
Query Parameters
The deposit address to track.
The gasless funding job to track, as a bare UUID or a 24-character legacy job ID, without the gasless: prefix.
Opaque cursor from a previous nextCursor.
Minimum string length:
1Page size, 1-50. Default 20.
Required range:
1 <= x <= 50