curl --request GET \
--url https://v1.orchestrator.rhinestone.dev/intents/{id} \
--header 'x-api-key: <api-key>' \
--header 'x-api-version: <x-api-version>'import requests
url = "https://v1.orchestrator.rhinestone.dev/intents/{id}"
headers = {
"x-api-version": "<x-api-version>",
"x-api-key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-version': '<x-api-version>', 'x-api-key': '<api-key>'}
};
fetch('https://v1.orchestrator.rhinestone.dev/intents/{id}', 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://v1.orchestrator.rhinestone.dev/intents/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>",
"x-api-version: <x-api-version>"
],
]);
$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://v1.orchestrator.rhinestone.dev/intents/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-version", "<x-api-version>")
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://v1.orchestrator.rhinestone.dev/intents/{id}")
.header("x-api-version", "<x-api-version>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://v1.orchestrator.rhinestone.dev/intents/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-version"] = '<x-api-version>'
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "COMPLETED",
"accountAddress": "0x3672e268a79bd4acc5ee646bdda652547c7a435c",
"operations": [
{
"chain": 10,
"items": [
{
"type": "FILL",
"status": "COMPLETED",
"txHash": "0xc1674f4671accbceec3f22c2c9cfa4f7aead7183f48df90c239e0d85d6c31e21",
"timestamp": 1633493192,
"failureReason": "BRIDGE_TIMEOUT",
"debitsAccount": true,
"allocation": {
"plannedGasMicroUsd": "100",
"fixedCompensationMicroUsd": "0",
"executedGasMicroUsd": "80",
"payableMicroUsd": "80",
"counterparty": "<string>",
"nativeTokenPriceUsd": "2000",
"receipt": {
"blockHash": "<string>",
"blockNumber": "<string>",
"gasUsed": "<string>",
"effectiveGasPriceWei": "<string>",
"l1FeeWei": "<string>",
"blobFeeWei": "<string>"
},
"payment": {
"kind": "PAYMENT",
"effectiveDate": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}
}
}
]
}
],
"refunds": [
{
"chain": 42161,
"txHash": "0x00ab46cc4d1e4b5d5f6a9a2b1c0d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d"
}
],
"hyperCore": {
"outcome": "accepted"
},
"details": {
"id": "12345678901234567890",
"nonce": "0x000000000000000000000000000000000000000000000000ab54a98ceb1f0ad2",
"recipient": "0x3672e268a79bd4acc5ee646bdda652547c7a435c",
"createdAt": 1633493100,
"latencyMs": 8100,
"settlementLayer": "ACROSS",
"source": [
{
"chain": 10,
"tokens": [
{
"token": "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
"symbol": "USDC",
"decimals": 6,
"amount": "1000000"
}
],
"status": "COMPLETED",
"txHash": "0xc1674f4671accbceec3f22c2c9cfa4f7aead7183f48df90c239e0d85d6c31e21",
"timestamp": 1633493192
}
],
"destination": {
"chain": 10,
"tokens": [
{
"token": "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
"symbol": "USDC",
"decimals": 6,
"amount": "1000000"
}
],
"status": "COMPLETED",
"txHash": "0xc1674f4671accbceec3f22c2c9cfa4f7aead7183f48df90c239e0d85d6c31e21",
"timestamp": 1633493192
},
"executions": [
{
"chain": 8453,
"phase": "DESTINATION",
"to": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"value": "0",
"data": "0xa9059cbb000000000000000000000000579d5631f76126991c00fb8fe5467fa9d49e5f6a00000000000000000000000000000000000000000000000000000000000f4240"
}
],
"cost": {
"sponsored": true,
"sponsoredValue": "210000",
"protocolFee": "10000",
"sponsorSurcharge": "10000"
},
"solanaExecution": {
"executedBy": {
"kind": "account",
"address": "0x579d5631f76126991c00fb8fe5467fa9d49e5f6a"
},
"instructions": [
{
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"accounts": [
{
"pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"isSigner": true,
"isWritable": true
}
],
"data": "CQ=="
}
],
"addressLookupTables": [
"<string>"
]
}
}
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}Get Intent
Retrieves the status of an intent along with per-claim progress across chains.
curl --request GET \
--url https://v1.orchestrator.rhinestone.dev/intents/{id} \
--header 'x-api-key: <api-key>' \
--header 'x-api-version: <x-api-version>'import requests
url = "https://v1.orchestrator.rhinestone.dev/intents/{id}"
headers = {
"x-api-version": "<x-api-version>",
"x-api-key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-version': '<x-api-version>', 'x-api-key': '<api-key>'}
};
fetch('https://v1.orchestrator.rhinestone.dev/intents/{id}', 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://v1.orchestrator.rhinestone.dev/intents/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>",
"x-api-version: <x-api-version>"
],
]);
$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://v1.orchestrator.rhinestone.dev/intents/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-version", "<x-api-version>")
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://v1.orchestrator.rhinestone.dev/intents/{id}")
.header("x-api-version", "<x-api-version>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://v1.orchestrator.rhinestone.dev/intents/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-version"] = '<x-api-version>'
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "COMPLETED",
"accountAddress": "0x3672e268a79bd4acc5ee646bdda652547c7a435c",
"operations": [
{
"chain": 10,
"items": [
{
"type": "FILL",
"status": "COMPLETED",
"txHash": "0xc1674f4671accbceec3f22c2c9cfa4f7aead7183f48df90c239e0d85d6c31e21",
"timestamp": 1633493192,
"failureReason": "BRIDGE_TIMEOUT",
"debitsAccount": true,
"allocation": {
"plannedGasMicroUsd": "100",
"fixedCompensationMicroUsd": "0",
"executedGasMicroUsd": "80",
"payableMicroUsd": "80",
"counterparty": "<string>",
"nativeTokenPriceUsd": "2000",
"receipt": {
"blockHash": "<string>",
"blockNumber": "<string>",
"gasUsed": "<string>",
"effectiveGasPriceWei": "<string>",
"l1FeeWei": "<string>",
"blobFeeWei": "<string>"
},
"payment": {
"kind": "PAYMENT",
"effectiveDate": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}
}
}
]
}
],
"refunds": [
{
"chain": 42161,
"txHash": "0x00ab46cc4d1e4b5d5f6a9a2b1c0d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d"
}
],
"hyperCore": {
"outcome": "accepted"
},
"details": {
"id": "12345678901234567890",
"nonce": "0x000000000000000000000000000000000000000000000000ab54a98ceb1f0ad2",
"recipient": "0x3672e268a79bd4acc5ee646bdda652547c7a435c",
"createdAt": 1633493100,
"latencyMs": 8100,
"settlementLayer": "ACROSS",
"source": [
{
"chain": 10,
"tokens": [
{
"token": "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
"symbol": "USDC",
"decimals": 6,
"amount": "1000000"
}
],
"status": "COMPLETED",
"txHash": "0xc1674f4671accbceec3f22c2c9cfa4f7aead7183f48df90c239e0d85d6c31e21",
"timestamp": 1633493192
}
],
"destination": {
"chain": 10,
"tokens": [
{
"token": "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
"symbol": "USDC",
"decimals": 6,
"amount": "1000000"
}
],
"status": "COMPLETED",
"txHash": "0xc1674f4671accbceec3f22c2c9cfa4f7aead7183f48df90c239e0d85d6c31e21",
"timestamp": 1633493192
},
"executions": [
{
"chain": 8453,
"phase": "DESTINATION",
"to": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"value": "0",
"data": "0xa9059cbb000000000000000000000000579d5631f76126991c00fb8fe5467fa9d49e5f6a00000000000000000000000000000000000000000000000000000000000f4240"
}
],
"cost": {
"sponsored": true,
"sponsoredValue": "210000",
"protocolFee": "10000",
"sponsorSurcharge": "10000"
},
"solanaExecution": {
"executedBy": {
"kind": "account",
"address": "0x579d5631f76126991c00fb8fe5467fa9d49e5f6a"
},
"instructions": [
{
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"accounts": [
{
"pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"isSigner": true,
"isWritable": true
}
],
"data": "CQ=="
}
],
"addressLookupTables": [
"<string>"
]
}
}
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": [
{
"message": "<string>",
"context": {}
}
]
}Authorizations
Project API key.
Headers
API version. Required; pinned to this document.
2026-04.blanc Path Parameters
Unique identifier of the intent operation
^\d+$"77119256265773742309930654065362693497375232736834856992878277299604179621015"
Query Parameters
Whether to include intent operation details
"true"
Response
OK
Successfully retrieved intent operation status
Overall intent status: PENDING, COMPLETED, or FAILED
PENDING, COMPLETED, FAILED "COMPLETED"
Account address
"0x3672e268a79bd4acc5ee646bdda652547c7a435c"
Operations grouped by chain. Each chain has one or more operations (e.g. CLAIM, FILL, BRIDGE_FILL).
Show child attributes
Show child attributes
Bridge refunds observed for this intent — a settlement layer returned the funds to the account instead of delivering them. Not operations: Rhinestone neither built nor broadcast these transactions, and a refund never makes the intent succeed. Omitted when none are known, which is every delivered intent and also a failed one whose refund we have not (or not yet) observed — so its absence is not evidence that funds were kept.
Show child attributes
Show child attributes
What Hyperliquid did with this intent's options.hyperCore action, and the only record of it — the action is the one leg of an intent that is not a transaction. Omitted for every intent that carried none.
It DECIDES status rather than annotating it: an intent whose action was refused reports FAILED even though every operation completed, because the delivery landed and the trade did not. The funds are in the account's own HyperCore balance either way, so a refusal is recoverable by trading again — it is not a loss.
Show child attributes
Show child attributes
Extended intent details, returned only when full=true
Show child attributes
Show child attributes
Was this page helpful?