2 min read

Milestone Payments

Milestone payments break your project into payable units. Each milestone has its own deliverable, deadline, and payment — keeping cash flow steady and work on track.

Why it matters

Getting paid per milestone means you don't have to wait until the end of a large project. It improves cash flow, reduces risk, and keeps both you and your client aligned.

Before you begin

Make sure you have:

  • A project with defined milestones
  • A client who has funded escrow (or is ready to)
  • Your wallet connected for receiving payments

Step-by-step walkthrough

Step 1: Define milestones in your project

Open your project and click Add Milestone. For each milestone, enter:

  • Name — Clear, descriptive title
  • Description — What deliverable the client receives
  • Amount — Payment for this milestone
  • Deadline — Due date

Step 2: Client funds escrow

Once milestones are set, the client funds escrow for the project. Funds are held on the Stellar blockchain until milestones are approved.

Step 3: Complete the work

Deliver the milestone deliverables. Upload files, share links, or mark tasks as complete.

Step 4: Client approves

The client reviews your work and approves the milestone. This triggers the release of funds from escrow.

Step 5: Payment released

Once approved, funds are released to your wallet. An invoice is automatically generated for your records.

Best practices

  • Keep milestones small and focused (1-2 week deliverables work well)
  • Define clear acceptance criteria for each milestone
  • Communicate regularly with your client during each milestone
  • Use partial releases for large milestones

Common mistakes

  • Making milestones too large — break them into smaller chunks
  • Not defining acceptance criteria — the client needs to know what "done" looks like
  • Skipping the approval step — always get formal sign-off

What's next

Learn more about [escrow security](/docs/payments/escrow) and [releasing payments](/docs/payments/release-payments).