API
The Everclear API contains endpoints to create new intents, track intent statuses, and more.
Testnet API: https://api.testnet.everclear.org
Mainnet API: https://api.everclear.org
Endpoint to generate a TransactionRequest for one or multiple intents. For multiple intents, the transaction will target a fee adapter contract with appropriately formatted calldata.
Successful response with a TransactionRequest object
Invalid input
Registries not found and deployed for given domain
Server error
POST /intents HTTP/1.1
Host: api.testnet.everclear.org
Content-Type: application/json
Accept: */*
Content-Length: 273
{
"origin": "text",
"destinations": [
"text"
],
"to": "text",
"from": "text",
"inputAsset": "text",
"outputAsset": "text",
"amount": "text",
"callData": "text",
"ttl": 1,
"max_fee": "text",
"permit2Params": {
"nonce": "text",
"deadline": "text",
"signature": "text"
},
"order_id": "text",
"isFastPath": true
}{
"to": "text",
"from": "text",
"nonce": "text",
"gasLimit": "text",
"gasPrice": "text",
"data": "Ynl0ZXM=",
"value": "text",
"chainId": 1,
"type": 1,
"accessList": [
{
"address": "text",
"storageKeys": [
"text"
]
}
],
"maxPriorityFeePerGas": "text",
"maxFeePerGas": "text",
"customData": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"ccipReadEnabled": true
}Retrieves a paginated list of intents based on query parameters
Filter for fast path intents (intents with TTL > 0)
Successful retrieval of intents
Invalid input
Server error
GET /batched-intents HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"items": [
{
"type": "batch",
"batchId": "text",
"token_fee": "text",
"native_fee": "text",
"intents": [
{
"intent_id": "text",
"batch_id": "text",
"queue_idx": 1,
"message_id": "text",
"status": "NONE",
"receiver": "text",
"input_asset": "text",
"output_asset": "text",
"origin_amount": "text",
"destination_amount": "text",
"origin": "text",
"destinations": [
"text"
],
"nonce": 1,
"transaction_hash": "text",
"receive_tx_hash": "text",
"intent_created_timestamp": 1,
"settlement_timestamp": 1,
"intent_created_block_number": 1,
"receive_blocknumber": 1,
"tx_origin": "text",
"tx_nonce": 1,
"auto_id": 1,
"amount_out_min": "text",
"call_data": "text",
"filled": true,
"initiator": "text",
"native_fee": "text",
"token_fee": "text",
"fee_adapter_initiator": "text",
"origin_gas_fees": "text",
"destination_gas_fees": "text",
"hub_settlement_domain": "text",
"ttl": 1,
"is_fast_path": true,
"fill_solver": "text",
"fill_domain": "text",
"fill_destinations": [
"text"
],
"fill_transaction_hash": "text",
"fill_timestamp": 1,
"fill_amount": "text",
"fill_fee_token": "text",
"fill_fee_dbps": "text",
"fill_input_asset": "text",
"fill_output_asset": "text",
"fill_sender": "text",
"fill_status": "text",
"fill_initiator": "text",
"fill_receiver": "text",
"max_fee": "text"
}
]
}
],
"nextCursor": "text"
}Retrieves a list of intents for a given batch ID
Successful retrieval of intents
Invalid input
Server error
GET /batched-intents/{batchId} HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"batchId": "text",
"token_fee": "text",
"native_fee": "text",
"intents": [
{
"intent_id": "text",
"batch_id": "text",
"queue_idx": 1,
"message_id": "text",
"status": "NONE",
"receiver": "text",
"input_asset": "text",
"output_asset": "text",
"origin_amount": "text",
"destination_amount": "text",
"origin": "text",
"destinations": [
"text"
],
"nonce": 1,
"transaction_hash": "text",
"receive_tx_hash": "text",
"intent_created_timestamp": 1,
"settlement_timestamp": 1,
"intent_created_block_number": 1,
"receive_blocknumber": 1,
"tx_origin": "text",
"tx_nonce": 1,
"auto_id": 1,
"amount_out_min": "text",
"call_data": "text",
"filled": true,
"initiator": "text",
"native_fee": "text",
"token_fee": "text",
"fee_adapter_initiator": "text",
"origin_gas_fees": "text",
"destination_gas_fees": "text",
"hub_settlement_domain": "text",
"ttl": 1,
"is_fast_path": true,
"fill_solver": "text",
"fill_domain": "text",
"fill_destinations": [
"text"
],
"fill_transaction_hash": "text",
"fill_timestamp": 1,
"fill_amount": "text",
"fill_fee_token": "text",
"fill_fee_dbps": "text",
"fill_input_asset": "text",
"fill_output_asset": "text",
"fill_sender": "text",
"fill_status": "text",
"fill_initiator": "text",
"fill_receiver": "text",
"max_fee": "text"
}
]
}Submits a new intent transaction to the Solana blockchain using the specified parameters and configuration.
intent creator address
Token amount, denominated in the asset's decimal units on the origin chain
Maximum fee amount, denominated in the asset's decimal units on the origin chain
Order ID for newOrder requests
Successfully created intent transaction
Registries not found and deployed for given domain
Registries not found and deployed for given domain
Registries not found and deployed for given domain
POST /solana/intents HTTP/1.1
Host: api.testnet.everclear.org
Content-Type: application/json
Accept: */*
Content-Length: 312
{
"origin": "text",
"destinations": [
"text"
],
"to": "text",
"from": "text",
"inputAsset": "text",
"amount": "text",
"callData": "text",
"maxFee": "text",
"user": "text",
"userTokenAccountPublicKey": "text",
"programVaultAccountPublicKey": "text",
"permit2Params": {
"nonce": "text",
"deadline": "text",
"signature": "text"
},
"order_id": "text"
}{
"to": "text",
"from": "text",
"nonce": "text",
"gasLimit": "text",
"gasPrice": "text",
"data": "Ynl0ZXM=",
"value": "text",
"chainId": 1,
"type": 1,
"accessList": [
{
"address": "text",
"storageKeys": [
"text"
]
}
],
"maxPriorityFeePerGas": "text",
"maxFeePerGas": "text",
"customData": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"ccipReadEnabled": true
}Creating lookup tables for new users to save account space on chain
Succesfull serialise data fetch transaction data
Registries not found and deployed for given domain
Registries not found and deployed for given domain
Registries not found and deployed for given domain
POST /solana/create-lookup-table HTTP/1.1
Host: api.testnet.everclear.org
Content-Type: application/json
Accept: */*
Content-Length: 108
{
"inputAsset": "text",
"user": "text",
"userTokenAccountPublicKey": "text",
"programVaultAccountPublicKey": "text"
}{
"to": "text",
"from": "text",
"nonce": "text",
"gasLimit": "text",
"gasPrice": "text",
"data": "Ynl0ZXM=",
"value": "text",
"chainId": 1,
"type": 1,
"accessList": [
{
"address": "text",
"storageKeys": [
"text"
]
}
],
"maxPriorityFeePerGas": "text",
"maxFeePerGas": "text",
"customData": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"ccipReadEnabled": true
}Submits a new intent transaction to the Tron blockchain using the specified parameters and configuration.
intent creator address
Input asset amount, denominated in the asset's decimal units on the origin chain
Time-to-live in seconds for fast-path execution (optional)
Max Fees used in intent system (depricated after swaps)
Order ID for newOrder requests
Boolean for sending intent through fast path
Successfully created intent transaction
Registries not found and deployed for given domain
Registries not found and deployed for given domain
Registries not found and deployed for given domain
POST /tron/intents HTTP/1.1
Host: api.testnet.everclear.org
Content-Type: application/json
Accept: */*
Content-Length: 273
{
"origin": "text",
"destinations": [
"text"
],
"to": "text",
"from": "text",
"inputAsset": "text",
"outputAsset": "text",
"amount": "text",
"callData": "text",
"ttl": 1,
"max_fee": "text",
"permit2Params": {
"nonce": "text",
"deadline": "text",
"signature": "text"
},
"order_id": "text",
"isFastPath": true
}{
"to": "text",
"from": "text",
"nonce": "text",
"gasLimit": "text",
"gasPrice": "text",
"data": "Ynl0ZXM=",
"value": "text",
"chainId": 1,
"type": 1,
"accessList": [
{
"address": "text",
"storageKeys": [
"text"
]
}
],
"maxPriorityFeePerGas": "text",
"maxFeePerGas": "text",
"customData": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"ccipReadEnabled": true
}Fetches detailed information for a specified intent by its ID
The unique identifier for the intent
Successful retrieval of intent details
Invalid Intent ID
Server error
GET /intents/{intentId} HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"intent": {
"intent_id": "text",
"batch_id": "text",
"queue_idx": 1,
"message_id": "text",
"status": "NONE",
"receiver": "text",
"input_asset": "text",
"output_asset": "text",
"origin_amount": "text",
"destination_amount": "text",
"origin": "text",
"destinations": [
"text"
],
"nonce": 1,
"transaction_hash": "text",
"receive_tx_hash": "text",
"intent_created_timestamp": 1,
"settlement_timestamp": 1,
"intent_created_block_number": 1,
"receive_blocknumber": 1,
"tx_origin": "text",
"tx_nonce": 1,
"auto_id": 1,
"amount_out_min": "text",
"call_data": "text",
"filled": true,
"initiator": "text",
"native_fee": "text",
"token_fee": "text",
"fee_adapter_initiator": "text",
"origin_gas_fees": "text",
"destination_gas_fees": "text",
"hub_settlement_domain": "text",
"ttl": 1,
"is_fast_path": true,
"fill_solver": "text",
"fill_domain": "text",
"fill_destinations": [
"text"
],
"fill_transaction_hash": "text",
"fill_timestamp": 1,
"fill_amount": "text",
"fill_fee_token": "text",
"fill_fee_dbps": "text",
"fill_input_asset": "text",
"fill_output_asset": "text",
"fill_sender": "text",
"fill_status": "text",
"fill_initiator": "text",
"fill_receiver": "text",
"max_fee": "text"
}
}The request object for executeIntentCalldata, used for self-execution
The unique identifier for the intent
The domain for the request
Successful response with a TransactionRequest object
Invalid input
Server error
POST /intents/{intentId}/execute HTTP/1.1
Host: api.testnet.everclear.org
Content-Type: application/json
Accept: */*
Content-Length: 17
{
"domain": "text"
}{
"to": "text",
"from": "text",
"nonce": "text",
"gasLimit": "text",
"gasPrice": "text",
"data": "Ynl0ZXM=",
"value": "text",
"chainId": 1,
"type": 1,
"accessList": [
{
"address": "text",
"storageKeys": [
"text"
]
}
],
"maxPriorityFeePerGas": "text",
"maxFeePerGas": "text",
"customData": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"ccipReadEnabled": true
}The request object for returnUnsupportedIntent on hub domain
The unique identifier for the intent
Successful response with a TransactionRequest object
Invalid input
Server error
POST /intents/{intentId}/return-unsupported HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"to": "text",
"from": "text",
"nonce": "text",
"gasLimit": "text",
"gasPrice": "text",
"data": "Ynl0ZXM=",
"value": "text",
"chainId": 1,
"type": 1,
"accessList": [
{
"address": "text",
"storageKeys": [
"text"
]
}
],
"maxPriorityFeePerGas": "text",
"maxFeePerGas": "text",
"customData": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"ccipReadEnabled": true
}Retrieves a paginated list of invoices in FIFO queue order
Successful retrieval of invoices
Invalid input
Server error
GET /invoices HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"invoices": [
{
"intent_id": "text",
"owner": "text",
"entry_epoch": 1,
"amount": "text",
"discountBps": 1,
"origin": "text",
"destinations": [
"text"
],
"hub_status": "NONE",
"ticker_hash": "text",
"hub_invoice_enqueued_timestamp": "text"
}
],
"nextCursor": "text",
"prevCursor": "text",
"maxCount": 1
}Fetches detailed information for a specified invoice by its intentID
The unique identifier for the intent
Successful retrieval of invoice details
Invalid Intent ID
Server error
GET /invoices/{intentId} HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"invoice": {
"intent_id": "text",
"owner": "text",
"entry_epoch": 1,
"amount": "text",
"discountBps": 1,
"origin": "text",
"destinations": [
"text"
],
"hub_status": "NONE",
"ticker_hash": "text",
"hub_invoice_enqueued_timestamp": "text"
}
}Calculates the minimum amounts per destination domain to settle a specified invoice. This returns a map of destination domain to minimum amount required in standardized 1e18 decimals.
The unique identifier for the invoice intent
Successful calculation of minimum amounts
Invalid input
Server error
GET /invoices/{intentId}/min-amounts HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"invoiceAmount": "text",
"amountAfterDiscounts": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"discountBps": "text",
"custodiedAmounts": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"minAmounts": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}Lists assets supported by the protocol, with pagination and optional filtering by type
Successful retrieval of assets
Invalid Request
Server error
GET /configs/assets?page=1&limit=1 HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"assets": [
{
"local": "text",
"adopted": "text",
"canonical_id": "text",
"canonical_domain": "text",
"domain": "text",
"key": "text",
"id": "text",
"decimal": 1,
"adopted_decimal": 1
}
]
}Token amount, denominated in the asset's decimal units on the origin chain
intent creator address
Order ID for newOrder requests
Successfully retrieved quote.
Invalid request parameters.
Internal server error.
POST /routes/quotes HTTP/1.1
Host: api.testnet.everclear.org
Content-Type: application/json
Accept: */*
Content-Length: 142
{
"origin": "text",
"destinations": [
"text"
],
"inputAsset": "text",
"outputAsset": "text",
"amount": "text",
"to": "text",
"from": "text",
"order_id": "text"
}{
"fixedFeeUnits": "text",
"variableFeeBps": 1,
"totalFeeBps": 1,
"expectedAmount": "text",
"currentLimit": "text",
"splitCount": 1,
"reqType": "text",
"fastPathQuote": {
"fixedFeeUnits": "text",
"variableFeeBps": 1,
"totalFeeBps": 1,
"expectedAmount": "text",
"expectedFillTime": "text"
},
"settlementEstimate": {
"p25Minutes": 1,
"p50Minutes": 1,
"p75Minutes": 1
}
}Successfully retrieved limits.
Invalid request parameters.
Internal server error.
POST /routes/limits HTTP/1.1
Host: api.testnet.everclear.org
Content-Type: application/json
Accept: */*
Content-Length: 61
{
"origin": "text",
"destinations": [
"text"
],
"inputAsset": "text"
}{
"currentLimit": "text"
}Retrieves a paginated list of intents based on query parameters
Filter for fast path intents (intents with TTL > 0)
Successful retrieval of intents
Invalid input
Server error
GET /intents HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"intents": [
{
"intent_id": "text",
"batch_id": "text",
"queue_idx": 1,
"message_id": "text",
"status": "NONE",
"receiver": "text",
"input_asset": "text",
"output_asset": "text",
"origin_amount": "text",
"destination_amount": "text",
"origin": "text",
"destinations": [
"text"
],
"nonce": 1,
"transaction_hash": "text",
"receive_tx_hash": "text",
"intent_created_timestamp": 1,
"settlement_timestamp": 1,
"intent_created_block_number": 1,
"receive_blocknumber": 1,
"tx_origin": "text",
"tx_nonce": 1,
"auto_id": 1,
"amount_out_min": "text",
"call_data": "text",
"filled": true,
"initiator": "text",
"native_fee": "text",
"token_fee": "text",
"fee_adapter_initiator": "text",
"origin_gas_fees": "text",
"destination_gas_fees": "text",
"hub_settlement_domain": "text",
"ttl": 1,
"is_fast_path": true,
"fill_solver": "text",
"fill_domain": "text",
"fill_destinations": [
"text"
],
"fill_transaction_hash": "text",
"fill_timestamp": 1,
"fill_amount": "text",
"fill_fee_token": "text",
"fill_fee_dbps": "text",
"fill_input_asset": "text",
"fill_output_asset": "text",
"fill_sender": "text",
"fill_status": "text",
"fill_initiator": "text",
"fill_receiver": "text",
"max_fee": "text"
}
],
"nextCursor": "text",
"prevCursor": "text",
"maxCount": 1
}Retrieves detailed history of a specific invoice, including epochs and details of processing as deposit and invoice.
Unique identifier for the intent.
Successful response with history of invoice processing
Invalid chain or asset parameter.
Internal server error.
GET /history/{intentId}/invoice-processing HTTP/1.1
Host: api.testnet.everclear.org
Accept: */*
{
"invoiceProcessingHistory": [
{
"epoch": 1,
"domain": 1,
"custodiedAssets": 1,
"amountToBeDiscounted": 1,
"rewardsForDepositors": 1,
"amountAfterDiscount": 1,
"discountdbps": 1,
"selectedDestinationDomain": 1,
"selectedDestinationDomainLiquidity": 1,
"timestamp": "text"
}
],
"nextCursor": "text"
}Last updated

