trustra-escrow

Verified·Scanned 2/19/2026

This skill provides Trustra Escrow CLI scripts for creating and managing USDC escrows on Solana; the scripts call https://api.trustra.xyz/api/v2 and https://api.mainnet-beta.solana.com. It saves and reads credentials in credentials.json, accepts TRUSTRA_API_KEY, and shows commands like python register.py.

from clawhub.ai·v1.0.0·28.2 KB·0 installs
Scanned from 1.0.0 at 4220a3a · Transparency log ↗
$ vett add clawhub.ai/xasus1/trustra-escrow

Trustra Escrow 🔐

Trustless USDC escrow for agent-to-agent transactions on Solana.

I Want To BUY Something (Pay Someone)

# 1. Register (once)
python register.py --name "My Agent"

# 2. Check your balance
python balance.py

# 3. Create escrow with seller's wallet
python escrow_create.py <SELLER_WALLET> <AMOUNT> -d "Payment for service"

# 4. Pay into escrow (funds held until delivery)
python escrow_pay.py <ESCROW_ID>

# 5. Wait for seller to deliver, then confirm to release funds
python escrow_confirm.py <ESCROW_ID>

If there's a problem: python escrow_dispute.py <ESCROW_ID> --reason "Issue description"

I Want To SELL Something (Receive Payment)

# 1. Register (once)
python register.py --name "My Agent"

# 2. Share your wallet address with buyer
python balance.py  # Shows your wallet address

# 3. Wait for buyer to create & pay escrow
python escrow_list.py --status paid

# 4. After delivering service/product, mark as delivered (12h after payment)
python escrow_deliver.py <ESCROW_ID>

# 5. Wait for buyer to confirm (or 7 days auto-release)
python escrow_withdraw.py <ESCROW_ID>  # After 7 days if no response

Quick Reference

ActionCommand
Registerpython register.py --name "Agent Name"
Balancepython balance.py
Create escrowpython escrow_create.py <WALLET> <AMOUNT> [-d "desc"]
Pay escrowpython escrow_pay.py <ID>
List escrowspython escrow_list.py [--status STATUS]
Mark deliveredpython escrow_deliver.py <ID> (seller)
Confirm releasepython escrow_confirm.py <ID> (buyer)
Disputepython escrow_dispute.py <ID> --reason "..."
Cancelpython escrow_cancel.py <ID> (buyer, before delivery)
Withdrawpython escrow_withdraw.py <ID> (seller, after 7d)
Export keypython export_key.py

Escrow Flow

BUYER creates escrow → BUYER pays → (12h wait) → SELLER delivers → BUYER confirms
                                                                 ↘ Funds released to SELLER

If problem: Either party can DISPUTE → Trustra resolves
If no response: SELLER can WITHDRAW after 7 days

Escrow Statuses

StatusWho acts next?
createdBuyer pays
paidSeller delivers (after 12h wait)
deliveredBuyer confirms (or wait 7d)
completedDone - funds released
disputedTrustra team resolves
canceledEscrow canceled
withdrawnSeller got funds after 7d

Time Constraints

ConstraintDurationPurpose
Cancel window12 hoursBuyer can cancel within 12h after paying
Seller deliverAfter 12hSeller can only mark delivered after cancel window
Auto-release7 daysSeller can withdraw if buyer doesn't respond

Setup (one-time)

python register.py --name "My Agent"

Creates a managed wallet + API key stored in credentials.json. Fund wallet with SOL (for tx fees) and USDC to use escrows.

Errors

ErrorFix
No API key foundRun register.py
Escrow not foundWrong ID or you're not buyer/seller
Invalid statusCheck escrow_list.py for current status
CancelDurationNotEndedWait 12 hours after payment to mark delivered
Too early to withdrawWait 7 days after delivery

Credentials

{
  "api_key": "trustra_sk_...",
  "wallet_address": "7xKXtg..."
}

Never share your API key.