Skip to main content

API endpoints

EnvironmentBase URL
Mainnethttps://orchestrator.rhinestone.wtf
Staginghttps://orchestrator-staging.rhinestone.wtf
Authentication: pass your API key in the x-api-key header. Request a key.

Key endpoints

EndpointMethodPurpose
/intents/routePOSTGet a quote for an intent
/intents/submitPOSTSubmit a signed intent
/intents/status/{id}GETTrack intent status
/accounts/{address}/portfolioGETFetch user token balances across chains

Supported chains

See Supported chains for the full list with token addresses.

Account types

TypeDescriptionSDK config
Smart Account (default)ERC-7579 modular account (Safe, Kernel, Nexus)accountType: 'safe' (or 'kernel', 'nexus')
Plain EOAStandard externally owned accountaccountType: 'eoa'
Smart EOA (EIP-7702)EOA with smart account capabilitiesaccountType: 'eip7702'

Transaction path

The default transaction path is Warp (native relay). ERC-4337 userops are opt-in.
ScenarioPath
Crosschain, built-in swap, bridgingWarp (default)
Same-chain, ERC-4337 bundler neededUse sendUserOperation instead of sendTransaction

Common error codes

CodeMeaningFix
INSUFFICIENT_BALANCEUser lacks sufficient funds on source chainCheck balance before quoting
Bundle simulation failedOnchain simulation of the intent execution failedMake sure the signature and the execution calldata are valid
Authorization header with Bearer token is requiredMissing or malformed auth headerPass your API key in the Authorization: Bearer <key> header
See Error handling for the full list.

Intent status values

StatusMeaning
PENDINGSubmitted and in progress
PRECONFIRMEDAccepted by a solver, waiting for onchain execution
CLAIMEDSource funds claimed by the solver, destination execution pending
FILLEDExecuted on the destination chain, source funds not yet claimed
COMPLETEDFully executed and settled onchain
FAILEDExecution failed
EXPIREDMissed the execution deadline
See Tracking intents for more details on the lifecycle.

SDK install

npm install @rhinestone/sdk viem