Get all client intents
curl --request GET \
--url https://api.chainrails.io/api/v1/intents \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chainrails.io/api/v1/intents"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chainrails.io/api/v1/intents', 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.chainrails.io/api/v1/intents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.chainrails.io/api/v1/intents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.chainrails.io/api/v1/intents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainrails.io/api/v1/intents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"intents": [
{
"id": 1,
"client_id": "e1ee3675-cb26-4a76-8206-a84f86e85862",
"sender": "0xdA3ECb2E5362295E2b802669dD47127A61d9Ce54",
"initialAmount": "1000000",
"fees_in_usd": "10500",
"app_fee_in_usd": "1000",
"total_amount_in_usd": "1010500",
"total_amount_in_asset_token": "1000500",
"fees_in_asset_token": "500",
"app_fee_in_asset_token": "0",
"asset_token_symbol": "USDC",
"asset_token_decimals": 6,
"slippage": "0.5",
"tokenIn": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"tokenOut": "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
"intent_address": "0x4E60e01263E750eD9D087157e19D2480Fd86A900",
"destination_intent_address": "0x5F70e12374E750fE0E087158f29E3591Ge97B011",
"source_chain": "BASE_TESTNET",
"destination_chain": "ARBITRUM_TESTNET",
"recipient": "0xb79541Be080a59fdcE6C0b43219ba56c725eC65e",
"refund_address": "0xb79541Be080a59fdcE6C0b43219ba56c725eC65e",
"relayer": "",
"coordinator": "0x989f47053F188778575113DcF39dB8960Fc450e2",
"bridger": "0xa1c943058a631D5506eb7d96036eAbF6968e2338",
"bridgeExtraData": "0x00000000000000000000000000000000000000000000000000000000000001f4",
"intent_nonce": 4267684716645197,
"intent_status": "PENDING",
"tx_hash": null,
"needs_relay": false,
"relayer_claimed": false,
"paymaster_used": false,
"mode": "test",
"expires_at": "2025-12-13T03:31:23.000Z",
"metadata": {
"orderId": "12345"
},
"created_at": "2025-12-13T02:31:23.390Z",
"updated_at": "2025-12-13T02:31:23.390Z"
}
],
"total": 100,
"limit": 50,
"offset": 0
}{
"statusCode": 401,
"message": "Unauthorized"
}Intents
Get all client intents
Retrieves all intents for the authenticated client with pagination and optional status filtering
GET
/
intents
Get all client intents
curl --request GET \
--url https://api.chainrails.io/api/v1/intents \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chainrails.io/api/v1/intents"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chainrails.io/api/v1/intents', 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.chainrails.io/api/v1/intents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.chainrails.io/api/v1/intents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.chainrails.io/api/v1/intents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainrails.io/api/v1/intents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"intents": [
{
"id": 1,
"client_id": "e1ee3675-cb26-4a76-8206-a84f86e85862",
"sender": "0xdA3ECb2E5362295E2b802669dD47127A61d9Ce54",
"initialAmount": "1000000",
"fees_in_usd": "10500",
"app_fee_in_usd": "1000",
"total_amount_in_usd": "1010500",
"total_amount_in_asset_token": "1000500",
"fees_in_asset_token": "500",
"app_fee_in_asset_token": "0",
"asset_token_symbol": "USDC",
"asset_token_decimals": 6,
"slippage": "0.5",
"tokenIn": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"tokenOut": "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
"intent_address": "0x4E60e01263E750eD9D087157e19D2480Fd86A900",
"destination_intent_address": "0x5F70e12374E750fE0E087158f29E3591Ge97B011",
"source_chain": "BASE_TESTNET",
"destination_chain": "ARBITRUM_TESTNET",
"recipient": "0xb79541Be080a59fdcE6C0b43219ba56c725eC65e",
"refund_address": "0xb79541Be080a59fdcE6C0b43219ba56c725eC65e",
"relayer": "",
"coordinator": "0x989f47053F188778575113DcF39dB8960Fc450e2",
"bridger": "0xa1c943058a631D5506eb7d96036eAbF6968e2338",
"bridgeExtraData": "0x00000000000000000000000000000000000000000000000000000000000001f4",
"intent_nonce": 4267684716645197,
"intent_status": "PENDING",
"tx_hash": null,
"needs_relay": false,
"relayer_claimed": false,
"paymaster_used": false,
"mode": "test",
"expires_at": "2025-12-13T03:31:23.000Z",
"metadata": {
"orderId": "12345"
},
"created_at": "2025-12-13T02:31:23.390Z",
"updated_at": "2025-12-13T02:31:23.390Z"
}
],
"total": 100,
"limit": 50,
"offset": 0
}{
"statusCode": 401,
"message": "Unauthorized"
}Authorizations
Enter your Chainrails API key as a Bearer token
Query Parameters
Number of intents to return (default: 50, max: 100)
Number of intents to skip (default: 0)
Filter by intent status
Available options:
pending, processing, completed, failed Was this page helpful?

