PageSourceSearch

https://relayr-docs-staging.up.railway.app/assets/js/0e384e19.548ec393.js

js relayr-docs-staging.up.railway.app collected 2026-10-03 12:14:49 UTC 4,588 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunktransaction_relayer_docs=globalThis.webpackChunktransaction_relayer_docs||[]).push([[3976],{2053(e,n,r){r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"intro","title":"Relayr overview","description":"What the Relayr transaction relayer enables","source":"@site/docs/intro.md","sourceDirName":".","slug":"/intro","permalink":"/docs/intro","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Relayr overview","description":"What the Relayr transaction relayer enables"},"sidebar":"tutorialSidebar"}');var t=r(74848),i=r(28453);const a={sidebar_position:1,title:"Relayr overview",description:"What the Relayr transaction relayer enables"},o="Relayr overview",l={},c=[{value:"What Relayr is built for",id:"what-relayr-is-built-for",level:2},{value:"Core building blocks",id:"core-building-blocks",level:2},{value:"Where to go next",id:"where-to-go-next",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"relayr-overview",children:"Relayr overview"})}),"\n",(0,t.jsx)(n.p,{children:"Relayr is a programmable transaction relayer for EVM networks. It lets you bundle calls across chains, orchestrate execution order with virtual nonces, and handle payments in a way that keeps gas and operational complexity away from your users."}),"\n",(0,t.jsx)(n.h2,{id:"what-relayr-is-built-for",children:"What Relayr is built for"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Multi-chain coordination:"})," Chain-aware scheduling that can run transactions in strict order or in parallel, depending on your bundle's virtual nonce mode."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Payment abstraction:"})," Prepaid lets users fund bundles from one chain; Balance pools funds so you can sponsor execution at scale."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Operational reliability:"})," Bundles remain consistent even when individual chains behave differently, so you can keep business logic intact."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"core-building-blocks",children:"Core building blocks"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Organizations & apps:"})," Use organizations to group usage and apps to scope credentials for different environments."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Bundles:"})," A bundle is the atomic unit you submit to Relayr. See ",(0,t.jsx)(n.a,{href:"/docs/concepts/bundle",children:"Bundles"})," for virtual nonce modes and ordering rules."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Payments:"})," Start with ",(0,t.jsx)(n.a,{href:"/docs/concepts/prepaid",children:"Prepaid"})," for user-funded bundles or ",(0,t.jsx)(n.a,{href:"/docs/concepts/balance",children:"Balance"})," for pooled funding."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Chains:"})," Relayr understands the specifics of each supported EVM chain. Use the API to list chains before you submit payloads."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"where-to-go-next",children:"Where to go next"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Follow the ",(0,t.jsx)(n.a,{href:"/docs/get-started",children:"Get started guide"})," to create your first organization, app, and bundle."]}),"\n",(0,t.jsxs)(n.li,{children:["Experiment with the ",(0,t.jsx)(n.a,{href:"https://relayr-dashboard-staging.up.railway.app/builder",children:"visual bundle builder"})," to learn how virtual nonces change execution."]}),"\n",(0,t.jsxs)(n.li,{children:["Dive into the ",(0,t.jsx)(n.a,{href:"/docs/relayr/relayr-api",children:"API reference"})," once you're ready to automate submissions."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},28453(e,n,r){r.d(n,{R:()=>a,x:()=>o});var s=r(96540);const t={},i=s.createContext(t);function a(e){const n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.