Questions to ask a blockchain firm about deployment and maintenance
By Jeremy Ryan, Founder & CEO · September 2026
Choosing a builder is only half the decision. The harder question is whether the firm can safely move a blockchain application from completed code to a live system and keep it dependable after launch. These questions to ask a blockchain development firm about deployment and maintenance help decision-makers test for operational maturity before real assets, customers, integrations, and reputational risk are on the line.

Verify The Deployment Plan Before Mainnet
Deployment is not simply pressing a button that puts a smart contract on a blockchain. It is the controlled process of initializing a contract, publishing it to the target network, configuring permissions and dependencies, and confirming that the live bytecode and application behavior match what was approved. The ITU-T's F.751.17 smart contract deployment and maintenance definitions expressly include maintenance actions such as upgrade, freeze, unfreeze, and revoke. That breadth is useful: deployment choices determine what can be fixed later.
Ask For The Exact Release Artifact Chain
I would ask: “Show us the complete artifact chain from approved source code to verified on-chain bytecode. Who produces each artifact, and how do you prove they match?”
A credible answer should cover more than a repository branch. It should identify the compiler version, dependency lockfiles, build configuration, deployment scripts, constructor arguments, network configuration, transaction hashes, contract addresses, and source-verification process. This is release provenance: a traceable record that links the reviewed source to the code actually deployed.
Without it, a team may have audited one codebase but deployed another build. The difference can be as small as a compiler setting, library address, or environment variable. On mainnet, small differences are not small.
Ask the firm to provide a release checklist with these minimum checkpoints:
- A tagged source-code version approved for release.
- A reproducible build command and pinned compiler version.
- Deployment scripts stored with the release version rather than run manually from an engineer's laptop.
- Contract addresses, transaction hashes, constructor parameters, and network identifiers.
- Independent verification that deployed bytecode corresponds to the intended source.
- A signed go or no-go record naming the people authorized to approve production deployment.
Celo's documented release verification and compatibility workflow illustrates why bytecode verification and version checks belong in a release process rather than being treated as administrative cleanup.
Ask How Testnet Evidence Becomes Mainnet Approval
Ask: “What evidence must exist before you recommend mainnet deployment, and who can block the release?”
A firm should distinguish between unit tests, integration tests, testnet deployment, user acceptance testing, security review, and operational rehearsal. Passing unit tests does not prove that an indexer handles chain reorganizations correctly, that a wallet integration surfaces rejected transactions well, or that an oracle feed behaves appropriately during stale-data conditions.
A practical mainnet gate usually includes a dry run that mirrors the live release sequence. The team should rehearse deployment, role assignment, monitoring activation, verification, and incident communication. The objective is not to predict every failure. It is to make routine failures routine to handle.
The firm's timeline should also make room for dependencies it does not control. Wallet-provider updates, RPC reliability, block confirmation times, third-party audit availability, bridge limits, and governance approvals can all delay release. If a proposal presents a precise mainnet date without explaining those assumptions, treat the date as a marketing estimate rather than an operating plan.
Ask What Changes Across Networks
Ask: “How does deployment and maintenance differ on our chosen L1, L2, permissioned network, or multi-chain architecture?”
The right answer is chain-specific. A public Ethereum-compatible network may require gas management, block explorer verification, RPC redundancy, and careful confirmation policies. A permissioned network may instead create operational obligations around validator membership, certificates, access policies, and node upgrades. A cross-chain system adds bridge monitoring and message-finality rules.
Tezos, for example, uses an origination operation to deploy contracts, while other chains use different transaction models and contract tooling. That does not make one network safer by default. It means the firm should explain its operational model in the terminology and constraints of the selected protocol.
Decision test: If the firm cannot describe what changes between testnet and mainnet for your specific network, it may be treating deployment as generic software release work. Blockchain nodes, transaction finality, fees, and permission models make that assumption risky.
Establish Security, Keys, And Emergency Authority
The central post-launch security question is not merely whether keys are protected. It is who can use them, under what conditions, and how that authority can be constrained or recovered.
Ask Who Controls Deployment And Admin Keys
Ask: “Who controls the keys for deployment, upgrades, pauses, treasury actions, and emergency revocation on day one and after handoff?”
Do not accept “the development team manages it” as a complete answer. Request an authority map that separates the following powers where possible:
| Authority | Question To Ask | Risk If Undefined |
|---|---|---|
| Deployment authority | Who submits the production deployment transaction? | An unapproved wallet can publish code or configurations. |
| Upgrade authority | Who can change contract logic or implementation addresses? | A single compromised signer can alter core behavior. |
| Pause authority | Who can activate an emergency circuit breaker? | A live exploit may continue while approvals are debated. |
| Treasury authority | Who can move funds or change payout destinations? | Operational and financial controls become blurred. |
| Recovery authority | How are lost keys, signer changes, or staff departures handled? | The system can become permanently unmanaged or improperly controlled. |
For material authority, I would generally expect a multisignature arrangement, role separation, and documented signer rotation. The exact threshold depends on urgency and risk. A three-of-five multisig can be sensible for a treasury, while a time-delayed governance process may be appropriate for major upgrades. A consumer app facing an active exploit may need a narrowly scoped pause authority that can act faster.
The key point is transparency. Users, executives, compliance teams, and counterparties should know whether an administrator can halt transfers, upgrade logic, or alter fees. Hidden discretion is a governance risk even when the firm has good intentions.
Ask Whether Immutability Or Upgradeability Fits The Product
Ask: “Which parts of the system are immutable, which are upgradeable, and why?”
Immutable contracts reduce the risk that an administrator changes the rules after launch. They also make bug fixes difficult or impossible without deploying a replacement contract and moving users or assets. Upgradeable contracts can support fixes and features, but introduce privileged control, storage-layout risk, and more complex audit requirements.
A proxy pattern is a common approach: users interact with a stable proxy address while an authorized mechanism can point that proxy to new logic. This can preserve integrations and balances, but it is not magic. An unsafe storage change can corrupt state. An upgrade can also change behavior in ways users did not expect.
Ask the firm to compare the options in writing:
• Choose immutability when the business rules are stable, user trust depends on fixed behavior, and redeployment is acceptable if an issue is found.
• Choose limited upgradeability when the application will evolve, integrations may change, or a serious defect would be costly to migrate around.
• Avoid broad upgrade authority when a single administrator could materially alter user economics without meaningful controls, notice, or review.
There is no universal consensus that live upgrades are better than redeployment. Maintenance research and industry practice reflect multiple models. For example, a token contract with narrow, stable logic may favor immutability, while a protocol with evolving oracle adapters may require controlled upgrades. The firm should explain the trade-off in business terms, not just name a proxy library.
Ask For The Emergency Pause And Recovery Procedure
Ask: “What exactly happens if we detect an exploit, critical bug, or compromised administrator?”
A useful answer specifies the trigger, decision authority, technical action, communication path, and recovery criteria. “We can pause the contract” is incomplete. Some contracts cannot be paused. Others can halt selected functions but cannot reverse completed transactions. Bridges and external protocols may continue processing actions beyond the contract's direct control.
Request a tabletop exercise before launch. Consider a scenario in which an attacker is exploiting a withdrawal function at 2:00 a.m. The firm should be able to explain who receives the alert, who verifies it, which signers act, whether a pause affects deposits and withdrawals equally, how customer support is informed, and what evidence is retained for forensic review.
Define Monitoring, Support, And Maintenance Accountability
Post-launch maintenance is an operating model, not a vague promise of “support.” The CAICT blockchain operation and maintenance layer description includes logs, monitoring, management, and extension functions. Those are the categories a contract should make concrete.
Ask What Is Monitored And At What Thresholds
Ask: “Which on-chain, infrastructure, and business metrics will you monitor, and what threshold triggers an alert or incident?”
Monitoring should cover the contract and the surrounding decentralized application. A contract can function perfectly while the RPC provider fails, an indexer falls behind, a wallet connection breaks, or an oracle delivers stale values.
Ask for a metric inventory that includes at least:
• Failed, reverted, and pending transaction rates.
• Transaction confirmation time and gas-cost anomalies.
• RPC error rates, latency, rate-limit events, and provider failover status.
• Blockchain node synchronization, peer health, storage capacity, and validator status where applicable.
• Contract event anomalies, such as unusual withdrawal volume, unexpected role changes, or sharp declines in successful user actions.
• Oracle freshness, price deviation, heartbeat failures, and bridge message delays for dependent systems.
ETSI's updated-contract deployment lifecycle guidance describes preparation, execution, and post-deployment monitoring. I would use that lifecycle as a procurement test: monitoring must be ready before a release, not added only after an outage.
Ask For An SLA That Defines More Than Response Time
Ask: “What support tiers do you offer, what is covered by each, and what does incident response mean in practice?”
An SLA should separate acknowledgement, triage, mitigation, and resolution. A firm might acknowledge a critical ticket quickly while still lacking authority, staff coverage, or a tested mechanism to mitigate the issue. Those are different commitments.
| Support Element | What Good Looks Like | Question To Put In The Agreement |
|---|---|---|
| Coverage window | Clear business-hours or 24-hour coverage | Which incidents receive on-call response outside normal hours? |
| Severity definitions | Measurable impact categories | What makes an incident critical, high, medium, or low? |
| Escalation path | Named roles and backup contacts | Who is contacted if the primary engineer does not respond? |
| Mitigation authority | Preapproved emergency actions | Can the firm pause a function, or must client signers act? |
| Reporting | Timely status and post-incident review | When will stakeholders receive updates and a root-cause report? |
Maintenance pricing varies widely because the operational burden varies widely. A static contract with limited integrations may need periodic review and release support. A multi-chain dApp with oracle feeds, bridge dependencies, and large transaction volume may require continuous monitoring and a retained on-call team. Ask the firm to identify exclusions. If third-party provider failures, user-interface defects, or incident communications are outside scope, that should be visible before signing.
Ask What The Handoff Package Includes
Ask: “What operational documentation will we receive, in which format, and how will you prove our team can use it?”
A handoff should include more than architecture diagrams. Require runbooks for deployments, routine upgrades, emergency pauses, key rotation, incident escalation, rollback or migration, monitoring access, and vendor contact management. Request an inventory of all repositories, contracts, deployed addresses, environments, secrets-management boundaries, APIs, nodes, and external dependencies.
The most useful acceptance test is a handoff rehearsal. Your internal technical lead or designated operator should follow the runbook in a non-production environment while the firm observes. If the process depends on unstated knowledge held by one engineer, the documentation is not complete.

Plan For Upgrades, Migration, And External Dependencies
A launch plan that assumes the first version will remain unchanged is rarely credible. The question is whether changes will be controlled, compatible, and understandable to users.
Ask How Upgrades Preserve Compatibility
Ask: “How will you test storage compatibility, API compatibility, event continuity, and user experience before an upgrade?”
A smart contract upgrade can affect four layers at once: contract storage, external integrations, indexing systems, and user interfaces. A new event format may break an analytics pipeline. A changed function signature may break a partner integration. A storage-layout mistake in an upgradeable contract can make existing balances unreadable.
Require versioning rules and a compatibility matrix. The firm should state whether each change is backward compatible, requires a client update, requires user migration, or requires a new contract address. It should also identify what happens to historical data and active approvals.
For a user migration, ask for the full path: notification, eligibility snapshot if needed, migration transaction, support process, deadline, and treatment of users who do nothing. A migration that works technically but leaves inactive users behind can create long-running operational and legal complications.
Ask What “Rollback” Really Means On A Blockchain
Ask: “What can be rolled back, frozen, replaced, or migrated if a release fails?”
Fair warning: blockchain rollback rarely means erasing a completed mainnet transaction. Finalized activity is generally not reversible by an application team. What may be possible is switching a proxy back to a prior implementation, pausing selected functions, disabling a front end, revoking an API credential, replacing an integration, or deploying a corrected contract and moving forward.
The firm should document limits plainly. If a flawed immutable contract has already accepted deposits, recovery may require a new contract, a claims process, manual support, and potentially governance approval. If a faulty upgrade is protected by a timelock, the delay may prevent an immediate reversal. Those constraints should shape the emergency design before launch.
Ask How Oracle, Bridge, And API Failures Are Handled
Ask: “Which off-chain and cross-chain dependencies can stop or distort the application, and what is the fallback for each?”
This question often exposes the difference between contract development and production operations. Oracles can report stale or anomalous data. Bridges can delay messages or suspend routes. RPC providers can rate-limit traffic. Identity services, payment tools, custody platforms, and analytics providers can all become a single point of failure around an otherwise decentralized contract.
Ask for a dependency register with an owner, service expectation, alert condition, fallback behavior, and communication plan for every critical integration. For example, if a price oracle misses its heartbeat, should the protocol reject new borrowing, use a last-known value, switch feeds, or pause only affected markets? There is no universally correct answer. Rejecting actions may protect solvency but frustrate users; accepting stale data may preserve activity while increasing financial risk.
Key Takeaways
• I would treat deployment evidence as a procurement deliverable: require reproducible builds, deployment scripts, verified bytecode, transaction records, and named release approval.
• I would require an authority map before mainnet. It should identify who controls deployment, upgrades, pauses, treasury actions, and signer recovery.
• I would choose immutability or upgradeability based on business risk, not fashion. Upgradeability helps remediation but expands governance and key-management exposure.
• I would make monitoring measurable. Failed transactions, RPC errors, contract-event anomalies, oracle freshness, bridge delays, and node health need thresholds and owners.
• I would not accept a generic support promise. The agreement should define coverage, severity, escalation, mitigation authority, reporting, exclusions, and maintenance costs.
• I would test the handoff with a runbook exercise. A firm has not truly transferred operational control if your team cannot execute a safe release or escalation procedure.
Frequently Asked Questions
What Questions Should I Ask A Blockchain Development Firm About Deployment And Maintenance?
Ask about release artifacts, testnet-to-mainnet gates, bytecode verification, deployment-key custody, upgrade authority, emergency pauses, monitoring metrics, SLA terms, audit remediation, documentation, and migration plans. The strongest question is usually: “Show us the process and artifacts, not just your policy.” A firm that can demonstrate a release checklist and runbook is easier to evaluate than one offering broad assurances.
How Do I Know If A Firm Is Ready For Mainnet Deployment?
Look for a chain-specific production plan that includes a testnet rehearsal, security review status, approved deployment artifacts, monitoring activation, signer readiness, rollback limits, and stakeholder communications. Ask who has final go or no-go authority. Mainnet readiness is not a developer's confidence level; it is evidence that technical, operational, and governance controls are prepared.
Who Should Control Admin Keys And Upgrade Permissions After Launch?
The client organization should normally retain ultimate control of material production authority, with carefully defined access for a maintenance provider when required. A multisig, separated roles, hardware-backed signers, signer rotation, and documented emergency processes reduce concentration risk. The appropriate model depends on the product, but a vendor should not retain open-ended unilateral power over client funds or core contract behavior without an explicit agreement.
How Do Smart Contract Upgrades Work In Practice?
An upgrade may deploy a replacement contract, change a proxy's implementation address, update access controls, or migrate users and assets to a new version. Each option has trade-offs. Proxy upgrades can preserve addresses and integrations but require storage and governance discipline. Redeployment can simplify immutability but may require users to migrate. Ask for compatibility tests, approval rules, a release timetable, and user communication before approving either model.
What Happens If A Bug Is Found After The Contract Is Live?
The answer depends on contract design and available authority. The firm may monitor the issue, pause selected functions, revoke a compromised role, upgrade logic, deploy a replacement, or guide users through migration. Completed blockchain transactions may not be reversible. Your agreement should define severity assessment, response ownership, audit or forensic support, communication obligations, and which remediation work is included in the maintenance scope.
What Monitoring And Alerting Should I Expect After Deployment?
Expect monitoring across transactions, contracts, infrastructure, and dependencies. At a minimum, ask about failed transaction rates, pending transactions, confirmation delays, RPC errors, node health, unusual contract events, oracle staleness, and bridge-message delays. Alerts need routing and response rules. An alert without an accountable on-call recipient is merely a record that the system failed.
Should I Ask About Rollback Or Migration Plans Before Go-Live?
Yes. Ask what “rollback” means for the specific architecture, since it may mean pausing, switching proxy logic, disabling a front end, or deploying a new version rather than reversing on-chain history. Request a migration plan for users, balances, approvals, historical data, and external integrations. This matters most for immutable contracts, cross-chain applications, and systems handling customer assets.
Sources And References
• ITU-T Recommendation F.751.17 (2024): https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-F.751.17-202406-I!!PDF-E&type=items
• ETSI GS PDL 033 V1.1.1: https://www.etsi.org/deliver/etsi_gs/PDL/001_099/033/01.01.01_60/gs_PDL033v010101p.pdf
• CAICT Blockchain White Paper: http://www.caict.ac.cn/english/research/whitepapers/202003/P020200327550628685790.pdf
• Celo Docs — Release Processes and Maintenance: https://deepwiki.com/celo-org/docs/9-release-processes-and-maintenance
NFT Demon Holdings helps enterprises scope, evaluate, and build blockchain programs — start with a free evaluation call.
Talk through your use case
Free evaluation call — objective, constraints, and fit, before any proposal.