canonical: https://jentic.com/apis/escrow.com/escrow

# Escrow.com API

Jentic publishes the only available OpenAPI specification for the Escrow.com API, keeping it validated and agent-ready. Escrow.com brokers online escrow payments for buyers and sellers of high-value goods, domains, vehicles, and digital assets. The API exposes 15 endpoints to create and update transactions, fund them with a payment, list payment and disbursement methods, mark items as shipped or received, and manage customer accounts. Authentication is HTTP Basic, and every transaction operates under the 2017-09-01 versioned base path. The buyer-seller acceptance flow drives item state transitions through ship, receive, accept, and reject endpoints.

## For AI agents

Create and manage escrow transactions for high-value online sales, fund them, and drive the buyer-seller acceptance flow. Authenticate with HTTP Basic auth.

## Scope

Does not handle direct card capture, recurring billing, or fraud-scoring decisioning - use for buyer-seller escrow transactions and their lifecycle only.

## Capabilities

- Create a new escrow transaction with buyer, seller, and item details
- Fund a transaction by selecting an available payment method
- Mark an item as shipped, received, accepted, or rejected to drive transaction state
- List the payment and disbursement methods available for a transaction
- Update an existing transaction with PATCH
- Create a customer account or update the authenticated customer profile
- Look up an existing customer by email address

## Use cases

### High-Value Online Marketplace Settlement

Marketplaces selling vehicles, domains, or industrial equipment need a settlement layer that holds funds until the buyer accepts the item. Escrow.com's POST /2017-09-01/transaction creates the escrow and the item ship/receive/accept endpoints drive state transitions, replacing custom escrow code with a single REST integration.

Example prompt: Call POST /2017-09-01/transaction with buyer, seller, and item details for a 25,000 USD vehicle, then return the transaction ID and payment URL.

### Trust Layer for Domain or Digital Asset Transfers

Brokers selling domain names or digital assets need a way to assure both sides that funds and ownership transfer atomically. Escrow.com's transaction lifecycle (create > fund > ship > receive > accept) handles the trust layer, and the /payment_methods endpoint enables wire, ACH, or card funding depending on amount.

Example prompt: Call POST /2017-09-01/transaction for a domain sale, then GET /2017-09-01/transaction/{id}/payment_methods to surface funding options to the buyer.

### Programmatic Customer Onboarding for an Escrow-Backed Service

Platforms wrapping Escrow.com need to onboard customers programmatically rather than redirecting users to escrow.com. The /customer endpoints create accounts, fetch profiles, and look up existing customers by email, so an agent can map a platform user to an Escrow.com customer ID without manual sign-up.

Example prompt: Call POST /2017-09-01/customer with the user's name, email, and address, then GET /2017-09-01/customer/me to confirm the new account.

### AI Agent Escrow Assistant via Jentic

An AI agent in a marketplace tooling stack can use Jentic to create and update escrow transactions on behalf of staff. The agent searches by intent (for example 'create an escrow transaction'), loads the schema, and executes with HTTP Basic credentials scoped from the vault - useful for support workflows that need to spin up replacement transactions or update shipping details without leaving the chat.

Example prompt: Use Jentic search('create an escrow transaction'), load the POST /2017-09-01/transaction operation, and execute it with the order details.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /2017-09-01/transaction | Create an escrow transaction |
| GET | /2017-09-01/transaction/{id} | Get a transaction by ID |
| PATCH | /2017-09-01/transaction/{id} | Update a transaction |
| POST | /2017-09-01/transaction/{id}/payment | Fund a transaction |
| POST | /2017-09-01/transaction/{transactionId}/item/{itemId}/ship | Mark item as shipped |
| POST | /2017-09-01/transaction/{transactionId}/item/{itemId}/accept | Buyer accepts item |
| POST | /2017-09-01/customer | Create a customer account |
| GET | /2017-09-01/customer/me | Get authenticated customer profile |

## Key resources

- **Transactions** — Create, list, get, update, and fund escrow transactions
- **Items** — Drive ship, receive, accept, and reject lifecycle on transaction items
- **Payment Methods** — List funding options available on a transaction
- **Disbursement Methods** — List payout options for the seller
- **Customers** — Create and update customer accounts and look up by email

## Why Jentic

- **Setup:** Wiring Escrow.com by hand means combining your email and API key into an HTTP Basic header, sequencing the transaction, payment, and item lifecycle calls yourself, and building your own retries against api.escrow.com. Through Jentic you install once, import the Escrow.com API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Escrow.com puts the transaction id in the URL path (/2017-09-01/transaction/{id}/...), so a rule can pin your agent to one transaction: it can read that transaction, add a payment, and accept or ship its items and nothing else. You choose the operations it may call, so creating a new transaction or customer is only reachable if you include those operations.
- **Credential handling:** Your Escrow.com email and API key are stored once, encrypted, by your own Jentic One instance and combined into the Basic header at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an escrow transaction' or 'fund a transaction', and Jentic returns the matching Escrow.com operation with its input schema so the agent calls the right endpoint without memorising the 2017-09-01 path prefix.

## Related APIs

- **ePayTools Orchestra API** — Card payment orchestration - alternative when funds can be charged immediately rather than escrowed
- **Esendex Messaging API** — SMS notifications for escrow funding, shipment, and acceptance events
- **EODHD Financial Data API** — Market and FX data - useful for pricing escrowed assets denominated in multiple currencies

## FAQ

### Why is there no official OpenAPI spec for the Escrow.com API?

Escrow.com publishes API documentation but not a downloadable OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Escrow.com API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Escrow.com API use?

Escrow.com uses HTTP Basic authentication with your account email and API key. Through Jentic the credentials are stored encrypted in your Jentic One instance and injected at execution time so raw secrets never appear in the agent's context.

### Can I create an escrow transaction with the Escrow.com API?

Yes. POST /2017-09-01/transaction creates an escrow with buyer, seller, item, and amount details and returns the transaction ID used for funding and lifecycle calls.

### What are the rate limits for the Escrow.com API?

Escrow.com applies internal throughput controls but does not publish a fixed quota in the spec. Treat 429 responses as the signal to back off and avoid tight polling on transaction state.

### How do I mark an item as shipped through Jentic?

Search 'mark escrow item as shipped'. Jentic returns the POST /2017-09-01/transaction/{transactionId}/item/{itemId}/ship operation, you load its schema, and execute with the transaction and item IDs. Basic auth is injected from the vault.

### Can the API list payment methods available on a transaction?

Yes. GET /2017-09-01/transaction/{id}/payment_methods returns the funding options (wire, ACH, card) available for the given transaction based on amount and customer location.

### Does the API support buyer rejection of an item?

Yes. POST /2017-09-01/transaction/{transactionId}/item/{itemId}/reject moves the item into a rejected state, triggering Escrow.com's dispute flow.

### Can I limit what my agent is allowed to do with the Escrow.com API?

Yes. Because Jentic One is self-hosted, your own rules decide which Escrow.com operations and credentials the agent may use. Since Escrow.com puts the transaction ID in the URL path (/2017-09-01/transaction/{id}/...), you can pin the agent to a single transaction so it can only read that transaction, add a payment, and ship or accept its items. You also choose which operations are reachable at all, so account-level calls like creating a new transaction or customer stay off-limits unless you explicitly allow them.
