https://dashboard.tenderly.co/simulator/new?draftId=<id>
Dashboard से draft साझा करें
- Simulator में simulation बनाएँ: network चुनें, एक या अधिक calls जोड़ें, overrides सेट करें, source edits लागू करें।
- पेज header में Share draft पर क्लिक करें। Draft सेव हो जाता है और link आपके clipboard में कॉपी हो जाता है।

Simulator header में Share draft वर्तमान setup को सेव करता है और उसे फिर से खोलने वाला link कॉपी करता है।
Draft link खोलने पर क्या होता है
Dashboard draft के लिए एक request करता है, और फिर response के अनुसार:- Draft के project का member। Dashboard उस project के Simulator में redirect करता है, form prefilled होता है और कोई prompt नहीं आता।
- Shared draft (API से
shared: trueके साथ बनाया गया)। पहले Select Project dialog खुलता है; draft उस project में खुलता है जिसे प्राप्तकर्ता चुनता है। - Invalid id, expired draft, या access नहीं। तीनों cases एक ही response देते हैं, ताकि draft ids को probe न किया जा सके। प्राप्तकर्ता को “This draft link is invalid, has expired, or you don’t have access to it.” दिखता है और वह dashboard home पर पहुँचता है।
- Logged out। प्राप्तकर्ता पहले sign in करता है, फिर flow उसी link के साथ जारी रहता है।
- Simulator में unsaved edits। Draft खोलने से वर्तमान form बदल जाता है, इसलिए dashboard edits हटाने से पहले confirmation माँगता है।

Shared draft किसी project से बंधा नहीं होता, इसलिए प्राप्तकर्ता चुनता है कि इसे कहाँ खोलना है।
आंशिक पुनर्स्थापना
Draft की हर call स्वतंत्र रूप से restore होती है, इसलिए एक समस्याग्रस्त call पूरे draft को reject नहीं करती। एक dismissible banner हर call के लिए बताता है कि क्या restore नहीं हो सका:
Banner न होने का मतलब है कि सब कुछ restore हो गया। Malformed payload, या project में enabled न होने वाला network, draft को पूरी तरह reject करता है: प्राप्तकर्ता को error और खाली form दिखता है।

Restore banner उन calls का नाम देता है जिन पर draft खुलने के बाद ध्यान देना है।
CI या tooling से draft link बनाएँ
Drafts API से draft बनाएँ, फिर लौटाई गई id को link में डालें। Requests access key से authenticate होती हैं; caller को URL में दिए गए project का member होना चाहिए।POST https://api.tenderly.co/api/v2/account/{account}/project/{project}/simulation-drafts (API reference)
Response है
{ "resource_id": "<uuid>" }।
Draft को वापस पढ़ें
GET https://api.tenderly.co/api/v2/account/{account}/project/{project}/simulation-drafts/{id} (API reference)
URL में project caller का अपना project है (कोई भी project जिसे वह देख सकता है)। Access draft की visibility से तय होता है:
- Project-scoped draft
{ "payload": {…}, "account_id": "…", "project_id": "…" }लौटाता है जब caller draft के origin project को देख सकता है। - Shared draft बिना origin जानकारी के
{ "payload": {…} }लौटाता है। - बाकी सब (unknown id, expired draft, origin project का access नहीं)
404लौटाता है,"slug": "resource_not_found"के साथ।
GET करें। Response वह payload है जिसे dashboard स्वीकार करता है, जिसमें stateOverrides, customSource और fundAddress की shapes शामिल हैं।
Draft payload
Row फ़ील्ड
केवलcontractAddress आवश्यक है। जो न चाहिए उसे छोड़ दें। छोड़े गए fields form के defaults रखते हैं, और अज्ञात अतिरिक्त fields ignore किए जाते हैं।
Contract और function
Transaction parameters
Block चयन
UI में block selection और transaction index कैसे व्यवहार करते हैं, इसके लिए Simulation Parameters देखें।
L2 parameters
ये fields केवल OP-stack और Boba networks पर लागू होते हैं।Overrides
Funded balances और edited source
Validation और errors
Draft बनाना:
Draft खोलना payload स्तर पर all-or-nothing है: गलत
v, rows entry की कमी, non-string contractAddress, या किसी भी गलत-typed row field से पूरा draft “This draft link is invalid or corrupted” के साथ reject होता है। Live data पर निर्भर प्रति-call समस्याएँ (contract fetch, function match, source compile, token slot) आंशिक पुनर्स्थापना में बताए अनुसार अलग-अलग degrade होती हैं।
सीमाएँ
- Payloads प्रति draft 256 KB पर capped हैं, API द्वारा enforced।
- Drafts स्वतः expire होते हैं। Expired draft API से
404और dashboard में “invalid, has expired, or you don’t have access” message देता है। - Draft link खोलने के लिए Tenderly account चाहिए। Shared drafts (
shared: true) किसी भी signed-in user द्वारा पढ़े जा सकते हैं; project-scoped drafts केवल origin project के members द्वारा। - Contract ABI link खुलने पर fetch होता है। यदि यह resolve न हो सके (unverified contract), तो decoded-mode calls address भरे हुए लेकिन बिना function चुने खुलती हैं। Raw mode इससे अप्रभावित है।
पुराने ?draft= links
Server-side drafts से पहले, dashboard एक single call को सीधे URL में encode करता था:
https://dashboard.tenderly.co/<org>/<project>/simulator/new?draft=<value>
<value> एक version-1 payload है ({ "v": 1, "network": {…}, "row": {…} }, rows के बजाय एक row), UTF-8 JSON के रूप में, फिर base64url (+ को -, / को _, = padding हटाई गई)। मौजूदा links खुलते रहते हैं। row object ऊपर दिए गए row फ़ील्ड स्वीकार करता है, सिवाय fundAddress, customSource और contractSourceEdited के, और पूरा URL लगभग 2000 characters से कम रहना चाहिए। Dashboard अब यह format नहीं बनाता; नए integrations के लिए drafts API उपयोग करें।
Draft जिन form fields को populate करता है, उनके लिए Simulation Parameters देखें। संशोधित state को one-shot simulation के बजाय persistent environment के रूप में रखने के लिए Virtual Environments उपयोग करें।