Skip to main content
POST
/
api
/
bounties
/
{id}
/
approve
Approve Submission
curl --request POST \
  --url https://api.example.com/api/bounties/{id}/approve \
  --header 'Content-Type: application/json' \
  --data '
{
  "review_notes": "<string>"
}
'

Documentation Index

Fetch the complete documentation index at: https://shipyardprotocol.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Requires authentication. Founder only.
Approving a submission triggers an on-chain transferFrom from the founder’s wallet to the contributor’s wallet (minus platform fee). The founder must have sufficient token balance and ERC-20 allowance.
id
string
required
Bounty ID to approve.

Request

review_notes
string
Optional review notes.

Example

curl -X POST https://api.shipyardprotocol.com/api/bounties/bnt_x1y2z3/approve \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"review_notes": "Clean implementation, well tested."}'

Response

200
{
  "bounty_id": "bnt_x1y2z3",
  "status": "done",
  "submission_id": "sub_p1q2r3",
  "contributor_tx_hash": "0xabc...",
  "platform_fee_tx_hash": "0xdef..."
}

Errors

StatusDescription
400Bounty not in in_review status, no pending submission, contributor has no wallet, or founder has insufficient balance/allowance
403Not the project founder
409Approval already in progress
502On-chain payout failed (submission resets for retry)
503Payouts disabled by operator