Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana
The Ephemeral Rollup (ER) runs the Solana Virtual Machine (SVM), so programs execute under the same runtime rules as on the base layer. The key difference is the transaction size limit, which the ER raises significantly.
Limit
Solana Base Layer
Ephemeral Rollup
Compute units per instruction (default)
200,000 CU
200,000 CU
Compute units per transaction (max, via SetComputeUnitLimit)
1,400,000 CU
1,400,000 CU
Serialized transaction size (max)
1,232 bytes
64 KB
Account size (max)
10 MiB
10 MiB
Slot time
~400 ms
~10 ms
Slot times are not guaranteed and may change over time. Avoid writing logic
that depends on a specific slot duration — see the
FAQ.
Requesting more compute
As on Solana, the default compute budget is 200,000 CU per instruction. Request a higher limit (up to 1.4M CU per transaction) by prepending a SetComputeUnitLimit instruction:
import { ComputeBudgetProgram, Transaction } from "@solana/web3.js";const tx = new Transaction().add( ComputeBudgetProgram.setComputeUnitLimit({ units: 1_400_000 }), yourProgramInstruction);
Larger transactions
The ER accepts serialized transactions up to 64 KB, compared to the 1,232-byte packet limit on the base layer. This removes the need for address lookup tables or transaction splitting in most cases, and allows instructions with many accounts or large instruction data to execute in a single transaction.
The 64 KB limit only applies to transactions executed on the ER (i.e. all
writable accounts are delegated). Transactions routed to the base layer —
including delegation and undelegation transactions — remain subject to the
1,232-byte Solana limit.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MagicBlock Documentation","description":"MagicBlock runs Ephemeral Rollups on Solana for gasless, real-time, high-frequency transactions, with private execution in a TEE, verifiable randomness (VRF), price oracles, cranks, and session keys.","colors":{"primary":"#2545F6","light":"#2545F6","dark":"#2545F6"},"logo":{"light":"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/MagicBlock-Logo-Black.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=9687d1cd15beb5e4477b188af93a5023","dark":"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/MagicBlock-Logo-White.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=5729c944bf3688e76971fe8e4237bd07"},"favicon":"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/favicon.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=947add7c1733d1425c08bb43ee1335c0","api":{"examples":{"prefill":true}},"navbar":{"links":[{"href":"https://github.com/magicblock-labs","label":"Github"}],"primary":{"type":"button","label":"Install AI Skill","href":"https://docs.magicblock.gg/pages/overview/additional-information/ai-dev-skill"}},"footer":{"socials":{"twitter":"https://twitter.com/magicblock","github":"https://github.com/magicblock-labs","linkedin":"https://www.linkedin.com/company/magicblock"}},"search":{"prompt":"Search docs or ask a general question..."},"integrations":{"ga4":{"measurementId":"G-M3W08J15Y9"}},"banner":{"content":"Debugging an error? [Install the MagicBlock AI skill](/pages/overview/additional-information/ai-dev-skill) and ask your coding agent instead.","dismissible":true},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","chatgpt","claude",{"title":"Debug with the MagicBlock skill","description":"Install the skill so your coding agent can debug your code with MagicBlock context","icon":"wand-magic-sparkles","href":"/pages/overview/additional-information/ai-dev-skill"}],"display":"header"},"thumbnails":{"background":"https://mintcdn.com/magicblock-42/fTHi_GKgaLnoNzDu/images/thumbmail-bg.jpg?fit=max\u0026auto=format\u0026n=fTHi_GKgaLnoNzDu\u0026q=85\u0026s=6dbde31fdb6d0b5956861ff97897e7e4"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Tutorials","icon":"youtube","href":"https://www.youtube.com/@Magicblock-Labs"},{"anchor":"Community","icon":"users","href":"https://build.magicblock.app/builders?utm_source=docs.magicblock.gg"},{"anchor":"Hackathons \u0026 Events","icon":"rocket","href":"https://luma.com/magicblock-events?utm_source=docs.magicblock.app"}]},"languages":[{"language":"en","href":"pages/get-started/introduction/why-magicblock"},{"language":"cn","href":"cn/pages/overview/products"},{"language":"jp","href":"jp/pages/overview/products"},{"language":"ko","href":"ko/pages/overview/products"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"magicblock-42","hasAudioNarration":false,"actualSubdomain":"magicblock-42","customDomains":["docs.magicblock.gg"],"gitSource":{"type":"github","owner":"magicblock-labs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af719db565e709b7529e18e","clientVersion":"0.0.4138","searchFilterCounts":[{"language":"en","tag":"Products","count":98},{"language":"en","tag":"API Reference","count":61},{"language":"en","tag":"Ephemeral Rollup","count":59},{"language":"cn","tag":"Ephemeral Rollup","count":54},{"language":"jp","tag":"Ephemeral Rollup","count":54},{"language":"ko","tag":"Ephemeral Rollup","count":54},{"language":"cn","tag":"RPC API","count":34},{"language":"jp","tag":"RPC API","count":34},{"language":"ko","tag":"RPC API","count":34},{"language":"en","tag":"RPC API","count":34},{"language":"cn","tag":"方法","count":33},{"language":"jp","tag":"メソッド","count":33},{"language":"ko","tag":"메서드","count":33},{"language":"cn","tag":"工具","count":32},{"language":"jp","tag":"ツール","count":32},{"language":"ko","tag":"도구","count":32},{"language":"en","tag":"Guides","count":31},{"language":"en","tag":"Integrations","count":27},{"language":"en","tag":"Get Started","count":24},{"language":"cn","tag":"Ephemeral SPL Token","count":23},{"language":"jp","tag":"Ephemeral SPL Token","count":23},{"language":"ko","tag":"Ephemeral SPL Token","count":23},{"language":"en","tag":"Ephemeral SPL Token","count":23},{"language":"cn","tag":"API 参考","count":19},{"language":"cn","tag":"Private Ephemeral Rollup","count":19},{"language":"jp","tag":"API リファレンス","count":19},{"language":"jp","tag":"Private Ephemeral Rollup","count":19},{"language":"ko","tag":"API 레퍼런스","count":19},{"language":"ko","tag":"Private Ephemeral Rollup","count":19},{"language":"cn","tag":"参考资料","count":17},{"language":"jp","tag":"参考資料","count":17},{"language":"ko","tag":"참고 자료","count":17},{"language":"cn","tag":"Solana Unity SDK","count":16},{"language":"jp","tag":"ガイド","count":16},{"language":"jp","tag":"Solana Unity SDK","count":16},{"language":"ko","tag":"가이드","count":16},{"language":"ko","tag":"Solana Unity SDK","count":16},{"language":"en","tag":"Solana Unity SDK","count":16},{"language":"cn","tag":"Private Payments API","count":14},{"language":"en","tag":"Concepts","count":12}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"pages/ephemeral-rollups-ers/introduction/runtime-limits","slug":"/pages/ephemeral-rollups-ers/introduction/runtime-limits","pageMetadata":{"title":"Runtime Limits","description":"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana","href":"/pages/ephemeral-rollups-ers/introduction/runtime-limits"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The Ephemeral Rollup (ER) runs the `,_jsx(_components.strong,{children:`Solana Virtual Machine (SVM)`}),`, so programs execute under the same runtime rules as on the base layer. The key difference is the transaction size limit, which the ER raises significantly.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Limit`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Solana Base Layer`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Ephemeral Rollup`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Compute units per instruction (default)`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`200,000 CU`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`200,000 CU`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Compute units per transaction (max, via `,_jsx(_components.code,{children:`SetComputeUnitLimit`}),`)`]}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`1,400,000 CU`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`1,400,000 CU`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Serialized transaction size (max)`}),_jsx(_components.td,{style:{textAlign:`left`},children:`1,232 bytes`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:_jsx(_components.strong,{children:`64 KB`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Account size (max)`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`10 MiB`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`10 MiB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Slot time`}),_jsx(_components.td,{style:{textAlign:`left`},children:`~400 ms`}),_jsx(_components.td,{style:{textAlign:`left`},children:`~10 ms`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Slot times are not guaranteed and may change over time. Avoid writing logic\nthat depends on a specific slot duration — see the\n`,_jsx(_components.a,{href:`/pages/ephemeral-rollups-ers/introduction/faq`,children:`FAQ`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`requesting-more-compute`,children:`Requesting more compute`}),`\n`,_jsxs(_components.p,{children:[`As on Solana, the default compute budget is 200,000 CU per instruction. Request a higher limit (up to 1.4M CU per transaction) by prepending a `,_jsx(_components.code,{children:`SetComputeUnitLimit`}),` instruction:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ComputeBudgetProgram`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Transaction`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@solana/web3.js\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` tx`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Transaction`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`add`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ComputeBudgetProgram`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setComputeUnitLimit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`units:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1_400_000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` yourProgramInstruction`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`larger-transactions`,children:`Larger transactions`}),`\n`,_jsxs(_components.p,{children:[`The ER accepts serialized transactions up to `,_jsx(_components.strong,{children:`64 KB`}),`, compared to the 1,232-byte packet limit on the base layer. This removes the need for address lookup tables or transaction splitting in most cases, and allows instructions with many accounts or large instruction data to execute in a single transaction.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The 64 KB limit only applies to transactions executed on the ER (i.e. all\nwritable accounts are delegated). Transactions routed to the base layer —\nincluding delegation and undelegation transactions — remain subject to the\n1,232-byte Solana limit.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Runtime Limits","description":"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana","href":"/pages/ephemeral-rollups-ers/introduction/runtime-limits"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Requesting more compute","slug":"requesting-more-compute","depth":2,"children":[]},{"title":"Larger transactions","slug":"larger-transactions","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/magicblock-42/b23ad8dded0dada5/google-ads-tag.js","/_mintlify/custom/magicblock-42/44344145ea116972/custom/product-indicator.js","/_mintlify/custom/magicblock-42/39ef27222741e6e4/x-pixel.js"],"subdomain":"magicblock-42","siteName":"MagicBlock Documentation","title":"Runtime Limits - MagicBlock Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/pages/ephemeral-rollups-ers/introduction/runtime-limits","matchLevel":0},"cn":{"href":"/cn/pages/overview/products","matchLevel":4},"jp":{"href":"/jp/pages/overview/products","matchLevel":4},"ko":{"href":"/ko/pages/overview/products","matchLevel":4}}},"lastModified":"2026-11-13T14:08:56.827Z","originalFileLocation":"pages/ephemeral-rollups-ers/introduction/runtime-limits.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana\">\u003cmeta data-mint-head name=\"application-name\" content=\"MagicBlock Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Runtime Limits - MagicBlock Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MagicBlock Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://magicblock-42.mintlify.site/_mintlify/api/og/v2?division=Concepts\u0026amp;title=Runtime+Limits\u0026amp;description=Compute%2C+transaction+size%2C+and+account+size+limits+on+the+Ephemeral+Rollup+compared+to+Solana\u0026amp;theme=4829a15776af62052964276b\u0026amp;signature=ab740f710d0d2983e537fe4585abdad80e99733a8e57602f5bcf690406046a1a\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Runtime Limits - MagicBlock Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://magicblock-42.mintlify.site/_mintlify/api/og/v2?division=Concepts\u0026amp;title=Runtime+Limits\u0026amp;description=Compute%2C+transaction+size%2C+and+account+size+limits+on+the+Ephemeral+Rollup+compared+to+Solana\u0026amp;theme=4829a15776af62052964276b\u0026amp;signature=ab740f710d0d2983e537fe4585abdad80e99733a8e57602f5bcf690406046a1a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MagicBlock Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2545F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pages/ephemeral-rollups-ers/introduction/runtime-limits.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.magicblock.gg/#organization\",\"name\":\"MagicBlock Documentation\",\"url\":\"https://docs.magicblock.gg\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/MagicBlock-Logo-Black.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=9687d1cd15beb5e4477b188af93a5023\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.magicblock.gg#website\",\"name\":\"MagicBlock Documentation\",\"url\":\"https://docs.magicblock.gg\",\"publisher\":{\"@id\":\"https://docs.magicblock.gg/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits#webpage\",\"url\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits\",\"name\":\"Runtime Limits\",\"description\":\"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana\",\"dateModified\":\"2026-11-13T14:08:56.827Z\",\"isPartOf\":{\"@id\":\"https://docs.magicblock.gg#website\"},\"breadcrumb\":{\"@id\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Concepts\",\"item\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/why\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Runtime Limits\",\"item\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits#article\",\"headline\":\"Runtime Limits\",\"name\":\"Runtime Limits\",\"description\":\"Compute, transaction size, and account size limits on the Ephemeral Rollup compared to Solana\",\"url\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits\",\"mainEntityOfPage\":{\"@id\":\"https://docs.magicblock.gg/pages/ephemeral-rollups-ers/introduction/runtime-limits#webpage\"},\"dateModified\":\"2026-11-13T14:08:56.827Z\",\"publisher\":{\"@id\":\"https://docs.magicblock.gg/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.magicblock.gg#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MagicBlock Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MagicBlock Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/pages/ephemeral-rollups-ers/introduction/runtime-limits.md","siteName":"MagicBlock Documentation","nav":{"global":{"anchors":[{"anchor":"Tutorials","icon":"youtube","href":"https://www.youtube.com/@Magicblock-Labs"},{"anchor":"Community","icon":"users","href":"https://build.magicblock.app/builders?utm_source=docs.magicblock.gg"},{"anchor":"Hackathons \u0026 Events","icon":"rocket","href":"https://luma.com/magicblock-events?utm_source=docs.magicblock.app"}]},"languages":[{"language":"en","tabs":[{"tab":"Get Started","icon":"rocket","pages":[{"title":"Get Started","href":"/pages/get-started/introduction/why-magicblock"}]},{"tab":"Products","icon":"cubes","menu":[{"item":"Ephemeral Rollup","icon":"bolt","description":"Real-time, low-cost transactions secured by Solana","groups":[{"group":"Get Started","pages":[{"title":"Quickstart","href":"/pages/ephemeral-rollups-ers/how-to-guide/quickstart"},{"title":"Local Development","href":"/pages/ephemeral-rollups-ers/how-to-guide/local-development"}]},{"group":"Concepts","pages":[{"title":"Ephemeral Rollup","href":"/pages/ephemeral-rollups-ers/introduction/why"},{"title":"Delegation, Commitment \u0026 Undelegation","href":"/pages/ephemeral-rollups-ers/introduction/ephemeral-rollup"},{"title":"Ephemeral Accounts","href":"/pages/ephemeral-rollups-ers/introduction/ephemeral-accounts"},{"title":"Magic Router","description":"Learn how Magicblock's Magic Router accelerates transactions by routing them to the right execution environment.","href":"/pages/ephemeral-rollups-ers/introduction/magic-router"},{"title":"Runtime Limits","href":"/pages/ephemeral-rollups-ers/introduction/runtime-limits"},{"title":"Fees, Commits, and Refunds","description":"A plain-language guide to ER fees, commit limits, delegation deposits, and refunds","href":"/pages/ephemeral-rollups-ers/introduction/fees-and-commit-economics"}]},{"group":"Guides","pages":[{"title":"Anchor Guide","href":"/pages/ephemeral-rollups-ers/how-to-guide/anchor"},{"title":"Solana Program","href":"/pages/ephemeral-rollups-ers/how-to-guide/rust-program"},{"title":"Test Your Program","href":"/pages/ephemeral-rollups-ers/how-to-guide/rust-tests"},{"group":"Magic Actions","pages":[{"title":"Introduction","href":"/pages/ephemeral-rollups-ers/magic-actions/overview"},{"title":"Program Implementation","href":"/pages/ephemeral-rollups-ers/magic-actions/implementation"},{"title":"Client Implementation","href":"/pages/ephemeral-rollups-ers/magic-actions/client"},{"title":"Troubleshooting","href":"/pages/ephemeral-rollups-ers/magic-actions/troubleshooting"}]},{"group":"Cranks","pages":[{"title":"Introduction","href":"/pages/tools/crank/introduction"},{"title":"Implementation","href":"/pages/tools/crank/implementation"}]}]},{"group":"API Reference","pages":[{"group":"Router API","pages":[{"title":"Introduction","href":"/pages/ephemeral-rollups-ers/api-reference/er/introduction"},{"title":"getRoutes","openapi":"pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getRoutes.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/er/getRoutes"},{"title":"getIdentity","openapi":"pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getIdentity.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/er/getIdentity"},{"title":"getBlockhashForAccounts","openapi":"pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getBlockhashForAccounts.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/er/getBlockhashForAccounts"},{"title":"getSignatureStatuses","openapi":"pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getSignatureStatuses.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/er/getSignatureStatuses"},{"title":"getAccountInfo","openapi":"pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getAccountInfo.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/er/getAccountInfo"},{"title":"getDelegationStatus","openapi":"pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getDelegationStatus.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/er/getDelegationStatus"}]},{"group":"RPC API","expanded":false,"pages":[{"title":"RPC API","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/introduction"},{"title":"getAccountInfo","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getAccountInfo.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getAccountInfo"},{"title":"getBalance","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBalance.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getBalance"},{"title":"getBlock","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlock.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getBlock"},{"title":"getBlockCommitment","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlockCommitment.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getBlockCommitment"},{"title":"getBlockHeight","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlockHeight.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getBlockHeight"},{"title":"getBlocks","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlocks.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getBlocks"},{"title":"getBlocksWithLimit","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlocksWithLimit.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getBlocksWithLimit"},{"title":"getBlockTime","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlockTime.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getBlockTime"},{"title":"getFirstAvailableBlock","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getFirstAvailableBlock.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getFirstAvailableBlock"},{"title":"getGenesisHash","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getGenesisHash.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getGenesisHash"},{"title":"getHealth","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getHealth.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getHealth"},{"title":"getIdentity","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getIdentity.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getIdentity"},{"title":"getLargestAccounts","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getLargestAccounts.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getLargestAccounts"},{"title":"getLatestBlockhash","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getLatestBlockhash.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getLatestBlockhash"},{"title":"getLeaderSchedule","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getLeaderSchedule.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getLeaderSchedule"},{"title":"getMinimumBalanceForRentExemption","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getMinimumBalanceForRentExemption.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getMinimumBalanceForRentExemption"},{"title":"getMultipleAccounts","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getMultipleAccounts.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getMultipleAccounts"},{"title":"getProgramAccounts","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getProgramAccounts.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getProgramAccounts"},{"title":"getRecentPerformanceSamples","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getRecentPerformanceSamples.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getRecentPerformanceSamples"},{"title":"getSignaturesForAddress","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getSignaturesForAddress.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getSignaturesForAddress"},{"title":"getSignatureStatuses","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getSignatureStatuses.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getSignatureStatuses"},{"title":"getSlot","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getSlot.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getSlot"},{"title":"getTokenAccountBalance","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenAccountBalance.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenAccountBalance"},{"title":"getTokenAccountsByDelegate","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenAccountsByDelegate.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenAccountsByDelegate"},{"title":"getTokenAccountsByOwner","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenAccountsByOwner.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenAccountsByOwner"},{"title":"getTokenLargestAccounts","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenLargestAccounts.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenLargestAccounts"},{"title":"getTokenSupply","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenSupply.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenSupply"},{"title":"getTransaction","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTransaction.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getTransaction"},{"title":"getTransactionCount","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTransactionCount.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getTransactionCount"},{"title":"getVersion","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getVersion.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/getVersion"},{"title":"isBlockhashValid","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-isBlockhashValid.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/isBlockhashValid"},{"title":"sendTransaction","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-sendTransaction.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/sendTransaction"},{"title":"simulateTransaction","openapi":"pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-simulateTransaction.json POST /","href":"/pages/ephemeral-rollups-ers/api-reference/rpc/simulateTransaction"}]}]},{"group":"Resources","pages":[{"title":"FAQ","href":"/pages/ephemeral-rollups-ers/introduction/faq"}]}]},{"item":"Private Ephemeral Rollup","icon":"shield-check","description":"Compliant on-chain privacy, built on Ephemeral Rollups","pages":[{"title":"Private Ephemeral Rollup","href":"/pages/private-ephemeral-rollups-pers/how-to-guide/quickstart"}]},{"item":"Ephemeral SPL Token","icon":"coins","description":"Move SPL tokens at rollup speed — public or private","pages":[{"title":"Ephemeral SPL Token","href":"/pages/ephemeral-spl-token/overview"}]},{"item":"Solana VRF","icon":"dice","description":"Provably fair on-chain randomness","pages":[{"title":"Solana VRF","href":"/pages/verifiable-randomness-functions-vrfs/how-to-guide/quickstart"}]},{"item":"Price Oracle","icon":"chart-line","description":"Low-latency on-chain price feeds","pages":[{"title":"Price Oracle","href":"/pages/tools/oracle/introduction"}]}]},{"tab":"Guides","icon":"book","pages":[{"title":"Guides","href":"/pages/templates/oracle-priced-purchase"}]},{"tab":"Integrations","icon":"puzzle-piece","pages":[{"title":"Integrations","href":"/pages/tools/introduction"}]}]},{"language":"cn","pages":[{"title":"cn","href":"/cn/pages/overview/products"}]},{"language":"jp","pages":[{"title":"jp","href":"/jp/pages/overview/products"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/pages/overview/products"}]}]},"basePath":"","title":"Runtime Limits - MagicBlock Documentation","buildId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","deploymentId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","dynamics":["10e4515597"],"chunks":["BannerMarkdown-DwP8r2Xt.js","dist-r2tNEC1n.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-BNa-H6W6.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}