FreyreSoftFreyreSoftFreyreSoftFreyreSoft
  • Home
  • About us
  • Services
  • Use Cases
  • Contact
  • ES

On-Chain Escrow Payments for Marketplaces

On-chain escrow uses a smart contract instead of a trusted third party to hold funds between a buyer and a seller: the buyer's payment locks in the contract at the start of a transaction and releases to the seller only when agreed conditions are met, with a defined path for disputes and refunds if they are not. It fits marketplaces and B2B platforms that move value between parties who do not fully trust each other and want that guarantee enforced by code rather than by a payment processor's internal policy. FreyreSoft designs and implements the escrow contract itself — the lock, release, and dispute logic — along with the backend that connects it to the platform: tracking transaction state, triggering releases on delivery confirmation or milestone approval, and giving the platform an arbitration or refund mechanism for the cases where buyer and seller disagree.

What problem does this solve?

Marketplaces that move money between strangers face a trust gap: a buyer does not want to pay before receiving goods or services, and a seller does not want to deliver before getting paid. Off-platform, this gets solved with a trusted intermediary — a bank, a payment processor, or the platform itself holding funds in a corporate account, which puts the platform on the hook for solvency and dispute handling with no transparent record of what happened. B2B platforms with milestone-based delivery have a sharper version of the same problem: partial payments need to unlock as work is verified, not all at once, and both sides need to see the same contract state rather than relying on one party's word.

How we approach it

The contract holds funds in escrow between deposit and release, with release conditions written explicitly into the contract logic rather than left to an off-chain promise: a single delivery confirmation, multiple milestones that unlock partial payment, or a timeout that reverts funds to the buyer if the seller never delivers. Dispute handling is built in as a defined state the contract can enter — funds freeze and an arbitrator role (the platform, a designated multisig, or a third party depending on what the platform wants) decides the outcome, rather than funds sitting in limbo with no resolution path. Reentrancy and front-running are treated as first-class risks in the contract design, since escrow contracts hold value and are a direct target. The backend around the contract tracks off-chain context — order details, delivery proof, communication — and calls the contract's state transitions, keeping the chain as the source of truth for where the money actually is.

Technology we typically use

  • Solidity contracts
  • OpenZeppelin contracts
  • Multisig (Gnosis Safe)
  • ethers.js / viem
  • Chainlink oracles
  • Stablecoins (USDC)

What a project like this usually involves

  1. Escrow contract with lock, release, and refund logic
  2. Milestone-based partial release for staged deliveries
  3. Dispute state with a defined arbitrator role
  4. Backend syncing order and delivery data to contract state
  5. Security review focused on reentrancy and fund-draining paths

Have something like this in mind, or close to it?

Contact us
← Back to use cases
FreyreSoft Made in Peru
Links
  • Services
  • Use Cases
  • Contact
  • Privacy Policy
  • Leer esta página en español
FreyreSoft EIRL

Las Campanillas 125
Surco, Lima 33
Peru

[email protected]

© 2026 FreyreSoft EIRL - Lima Perú. All rights reserved.

We only store what's needed to remember your choice below — no tracking, no ads. See our Privacy Policy