Request
- Base URL: https://api.relay.link
- URL: https://api.relay.link/requests/v3
- Auth: none declared. Required headers: x-api-key
Query parameters
Maximum number of requests to return per page.
Pagination cursor returned by a previous response. Pass it back to fetch the next page.
When true, also compute and return the total count of requests matching these filters (ignores limit/continuation). Adds latency — omit unless the total is needed.
Filter requests by wallet address — matches requests where this address is the sender or the deposit-address depositor.
Broad term search across request ID, wallet, deposit address, and all transaction hashes (deposit, fill, refund, failed, and chain entry transaction IDs). Use id, depositTxHash, fillTxHash, or refundTxHash for targeted single-field lookups.
Filter by requestId — the Relay-level intent identifier returned by the quote API.
Filter by protocol-level orderId.
Filter by deposit transaction hash.
Filter by fill transaction hash.
Filter by refund transaction hash.
Filter requests where this is the origin chain.
Filter requests where this is the destination chain. Requests are limited to the caller’s integrator and requests without an API key.
Get all requests for a single chain in either direction. Overridden by originChainId / destinationChainId. Requests are limited to the caller’s integrator and requests without an API key.
Comma-separated list of private chain UUIDs to include in results.
Filter requests associated with this deposit address.
Filter requests where this address is the recipient.
Filter requests by status.
Filter requests by failure reason. Only returns requests that failed with this specific reason.
Filter requests by refund failure reason.
Filter requests by API key. Accepts a single value or a comma-separated list (OR matching). Maximum 50 values across apiKey and apiKeyId.
Filter by App IDs (app_id_<uuid>, comma-separated, maximum 50) owned by your integrator. Matches indexed App attribution across current and revoked keys.
Filter by API key IDs (lowercase key_id_<uuid>, comma-separated), owned by your integrator. OR matching with apiKey; maximum 50 values combined.
Filter requests by requestType (case-insensitive). Supported values: Bridge, Crosschain Swap, Same-chain Swap, Send, Wrap, Unwrap, Call.
Filter requests by the exact referrer value supplied at quote time. Without apiKeyId or apiKey, returns only matching public keyless requests. Every supplied key must belong to the authenticating integrator. Includes matching requests for the selected keys and public requests with neither a recorded API key nor a legacy fill API key, regardless of age. Existing visibility restrictions still apply; public requests are not assigned to your integrator.
Filter by origin currency chain ID.
Filter by destination currency chain ID. Requests are limited to the caller’s integrator and requests without an API key.
Filter by origin currency contract address.
Filter by destination currency contract address. Requests are limited to the caller’s integrator and requests without an API key.
Filter by origin currency symbol (e.g. USDC). Case-insensitive; matches across all chains.
Filter by destination currency symbol (e.g. USDC). Case-insensitive; matches across all chains. Requests are limited to the caller’s integrator and requests without an API key.
Field to sort by.
Sort direction (default: desc for time fields, asc for amountUsd).
Filter requests with createdAt ≥ this Unix timestamp (seconds). Applied to updatedAt instead when sortBy=updatedAt.
Filter requests with createdAt ≤ this Unix timestamp (seconds). Applied to updatedAt instead when sortBy=updatedAt.
Filter by chain entry block number (inclusive lower bound). When originChainId is also set, scoped to origin-chain entries only.
Filter by chain entry block number (inclusive upper bound). When originChainId is also set, scoped to origin-chain entries only.
Filter requests with currencyIn.amountUsd ≥ this value.
Filter requests with currencyIn.amountUsd ≤ this value.
Filter requests with total app fees USD ≥ this value.
Filter requests with total app fees USD ≤ this value.
Filter requests with fill time ≥ this value (seconds).
Filter requests with fill time ≤ this value (seconds).
Comma-separated feature flags to filter by. Requests must have at least one of the specified features. Supported values: gasless_execution, gasless_swap, fast_fill, gas_top_up, fixed_rate, app_fees, deposit_address, fee_sponsorship.
When true, include fields available only to the authenticating integrator for their own requests.
Only effective when id is also provided. When true, returns the parent request AND any child requests. When false or omitted, only the exact request_id match is returned.
JSON-encoded array of filter-group objects. Fields within each group are AND'd; groups are OR'd. Prefix a key with 'not:' to negate it (must_not). Values can be a scalar or an array (OR semantics within the field). Example: [{"depositAddress":"0xabc","originChainId":8453},{"depositAddress":"0x123","originChainId":1}]. Negation example: [{"not:status":"failure"}]. Array value example: [{"not:status":["failure","refund"]}]. A value of null is a null-check ("is empty"/"is not empty") instead of an equality test, for any key. Null-check example: [{"depositAddress":null}] (is empty / does not exist), [{"not:depositAddress":null}] (is not empty / exists). null cannot be combined with real values in an array. At most 50 distinct string values across id, term, and grouped id/term filters (including negations) are allowed; a top-level id with includeChildRequests is excluded from this limit. Requests are limited to the caller’s integrator and requests without an API key. A referrer key (or not:referrer) without top-level apiKeyId or apiKey limits that group to public keyless requests. Optional key parameters must contain keys owned by the authenticating integrator. Referrer groups also include matching public keyless requests regardless of age; groups without a referrer retain their existing scope unless a top-level referrer is supplied.
Headers
API key for authentication.
Response
Default Response
Changes
- info
added the new optional
queryrequest parameterappId - info
added the optional property
///to the response with the status - info
added the optional property
///to the response with the status
- info
- warning
added the new
POOL_CAP_EXCEEDEDenum value to the///response property for the response status - info
added the new optional
queryrequest parameterapiKeyId - info
added the new enum value
POOL_CAP_EXCEEDEDto thequeryrequest parameterfailReason
- warning