Record transaction hashes and settle the session
curl --request POST \
--url https://{host}/extern/fe/intent/{intentId}/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Publishable-Key: <api-key>' \
--data '
{
"txHashes": [
{
"hash": "<string>",
"chainId": 8453
}
]
}
'const options = {
method: 'POST',
headers: {
'X-Publishable-Key': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({txHashes: [{hash: '<string>', chainId: 8453}]})
};
fetch('https://{host}/extern/fe/intent/{intentId}/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/extern/fe/intent/{intentId}/submit"
payload = { "txHashes": [
{
"hash": "<string>",
"chainId": 8453
}
] }
headers = {
"X-Publishable-Key": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": "<string>",
"data": {
"intentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expiresAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"externalRef": "<string>",
"requestParams": {
"chainId": 2,
"inputAssetAddress": "<string>",
"eoa": "<string>",
"amount": "<string>"
},
"quoteSummary": {
"originChainId": 2,
"destinationChainId": 2,
"inputSymbol": "<string>",
"inputAmount": "<string>",
"inputAmountUsd": "<string>",
"outputSymbol": "<string>",
"outputAmount": "<string>",
"outputAmountUsd": "<string>",
"feesUsd": "<string>"
},
"lockedAt": "2023-11-07T05:31:56Z",
"lockedBy": "0x1234567890abcdef1234567890abcdef12345678",
"txHashes": [
"<string>"
],
"chainIds": [
2
],
"settledAt": "2023-11-07T05:31:56Z",
"errorMessage": "<string>",
"payload": {
"originChainId": 2,
"destinationChainId": 2,
"input": {
"address": "<string>",
"symbol": "<string>",
"amount": "<string>",
"amountFormatted": "<string>",
"amountUsd": "<string>"
},
"output": {
"address": "<string>",
"symbol": "<string>",
"amount": "<string>",
"amountFormatted": "<string>",
"amountUsd": "<string>"
},
"fees": {
"gas": {
"amountUsd": "<string>"
},
"relay": {
"amountUsd": "<string>"
},
"totalUsd": "<string>"
},
"timeEstimate": 1,
"steps": [
{
"description": "<string>",
"to": "<string>",
"data": "<string>",
"value": "<string>",
"chainId": 2
}
]
}
}
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}Record transaction hashes and settle the session
Accepts hashes for the quoted chains and moves a LOCKED session directly to SETTLED. The endpoint records submission but does not verify receipts. Repeating the same hash and chain pairs is idempotent.
POST
/
extern
/
fe
/
intent
/
{intentId}
/
submit
Record transaction hashes and settle the session
curl --request POST \
--url https://{host}/extern/fe/intent/{intentId}/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Publishable-Key: <api-key>' \
--data '
{
"txHashes": [
{
"hash": "<string>",
"chainId": 8453
}
]
}
'const options = {
method: 'POST',
headers: {
'X-Publishable-Key': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({txHashes: [{hash: '<string>', chainId: 8453}]})
};
fetch('https://{host}/extern/fe/intent/{intentId}/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/extern/fe/intent/{intentId}/submit"
payload = { "txHashes": [
{
"hash": "<string>",
"chainId": 8453
}
] }
headers = {
"X-Publishable-Key": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": "<string>",
"data": {
"intentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expiresAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"externalRef": "<string>",
"requestParams": {
"chainId": 2,
"inputAssetAddress": "<string>",
"eoa": "<string>",
"amount": "<string>"
},
"quoteSummary": {
"originChainId": 2,
"destinationChainId": 2,
"inputSymbol": "<string>",
"inputAmount": "<string>",
"inputAmountUsd": "<string>",
"outputSymbol": "<string>",
"outputAmount": "<string>",
"outputAmountUsd": "<string>",
"feesUsd": "<string>"
},
"lockedAt": "2023-11-07T05:31:56Z",
"lockedBy": "0x1234567890abcdef1234567890abcdef12345678",
"txHashes": [
"<string>"
],
"chainIds": [
2
],
"settledAt": "2023-11-07T05:31:56Z",
"errorMessage": "<string>",
"payload": {
"originChainId": 2,
"destinationChainId": 2,
"input": {
"address": "<string>",
"symbol": "<string>",
"amount": "<string>",
"amountFormatted": "<string>",
"amountUsd": "<string>"
},
"output": {
"address": "<string>",
"symbol": "<string>",
"amount": "<string>",
"amountFormatted": "<string>",
"amountUsd": "<string>"
},
"fees": {
"gas": {
"amountUsd": "<string>"
},
"relay": {
"amountUsd": "<string>"
},
"totalUsd": "<string>"
},
"timeEstimate": 1,
"steps": [
{
"description": "<string>",
"to": "<string>",
"data": "<string>",
"value": "<string>",
"chainId": 2
}
]
}
}
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}{
"status": "<string>",
"message": "<string>",
"code": "<string>"
}Authorizations
Account Type publishable key (pk_live_...)
SIWE session JWT issued by POST /auth/verify
Path Parameters
RFC 4122 UUID
Example:
"8e9f4d67-51ad-49aa-a502-2f569aaf7399"
Body
application/json
Required array length:
1 - 20 elementsShow child attributes
Show child attributes
Last modified on July 24, 2026
Was this page helpful?
⌘I