Relay: cross-chain payments API (quote, execute, status)
Technical guide to Relay (relay.link) — multichain payments: bridge, swap, call. API base api.relay.link, quote → permit/execute → status. Solana/BTC guides, app fees, gasless, deposit addresses. Docs: docs.relay.link.
devrels.xyz/a/235short linkRelay (relay.link) is multichain onchain payments infrastructure: you define an intent (bridge, swap, or call), and Relay’s network quotes and executes the route. Builder docs: docs.relay.link (llms.txt).
GitHub org: github.com/relayprotocol. App for humans: same domain; integrations use the REST API and optional RelayKit UI kit.
What you integrate for
| Use case | Shape |
|---|---|
| Bridging & onboarding | Move assets to a destination chain quickly |
| Same- / cross-chain swaps | Best-effort price via solver network |
| Call execution | Pay with any supported token; execute a call on another chain |
| Commerce / PSP / wallets | Checkout, disbursements, wallet UX features (gas top-up, deposit addrs) |
Core API loop
Base URL: https://api.relay.link. Provision an API key in the Relay dashboard (keys & rate limits). Typical flow from the quickstart:
- Get Quote —
POSTexecutable quote (swap / bridge / call) - Execute steps — wallet signs/submits returned steps; some paths use Submit Permit
- Get Status — poll intent status (v3)
- Optional: Get Requests, websockets, webhooks for lower latency
# Docs + keys
open https://docs.relay.link/references/api/quickstart
open https://docs.relay.link/references/api/api-keys
# Base
export RELAY_API=https://api.relay.link
export RELAY_API_KEY=*** # dashboard key — header per current docs
# Sketch: quote then poll status (paths from API reference)
# POST $RELAY_API/.../quote body: origin/destination chain, tokens, amount, user
# GET $RELAY_API/.../intents/.../status # v3 status lifecycleDrive step execution carefully: see step execution, wallet detection / explicitDeposit, and error guides for quote vs execution failures.
Feature flags builders care about
- App fees — take a fee on routes, collect in stablecoins
- Fee sponsorship — sponsor user fees
- Deposit addresses — bridge without connect/sign (CEX-like UX)
- Gas top-up — include destination native gas in the fill
- Gasless execution / gasless swaps — reduce gas friction
- Fast fill — accelerate destination fill
- Price stabilization — consistent stablecoin pricing across chains
Chain coverage notes
Docs advertise 69+ networks and dedicated guides for:
- Solana deposit/withdraw vs EVM
- Bitcoin, Hyperliquid, Lighter
- Testnets, smart accounts (ERC-4337 / EIP-7702)
Always resolve live support via Get Chains / supported routes, not a hardcoded list in your app.
Integration surfaces
| Surface | When |
|---|---|
| REST API | Full control; custom wallets and backends |
| RelayKit | UI kit path — docs under RelayKit overview |
| Protocol refs | Audits, contract addresses, deeper protocol docs |
| AI assist | Integrating using AI |
Safety
- Compliance + unsupported exchanges lists in docs
- MEV protection notes; bug bounty program
- Contract audits under protocol references
- Support: support.relay.link
Links
Summary
Relay turns cross-chain payment intents into executable quotes and tracked fills. Start at api.relay.link with a dashboard key, implement quote → steps → status, then layer app fees, deposit addresses, or Solana/BTC guides as your product needs. Prefer live chain/route endpoints over static allowlists.
Keep reading
Tokenize real DNS domains via registrar-backed bridge: GraphQL off-chain + marketplace pay on Doma chain.
Stablecoin rails are useless at the last mile if users only have cash. MoneyGram Ramps is the Foundation’s bid to wire that last mile into SDP payments.
Fees fund a public sub-wallet perp — not an idle curve vault. Founder ADP the Great; X @PerpsPadfun; API docs open.
Get new articles in your inbox
Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.
