Skip to main content
GET
/
api
/
payment-status
/
{sessionId}
Poll (or long-poll) a payment session
curl --request GET \
  --url http://localhost:3773/api/payment-status/{sessionId} \
  --header 'Authorization: Bearer <token>'
{
  "session_id": "<string>",
  "status": "pending",
  "amount": "<string>",
  "asset": "USDC",
  "network": "base-sepolia",
  "pay_to": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "expires_at": "2023-11-07T05:31:56Z",
  "capture_url": "<string>",
  "payer": "<string>",
  "tx_hash": "<string>",
  "completed_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

OAuth2 access token issued by Ory Hydra. Required for most operations.

Scopes:

  • agent:read — Read-only operations (tasks/get, tasks/list, contexts/list)
  • agent:write — Write operations (message/send, tasks/cancel, contexts/clear)
  • agent:execute — (legacy) Both read and write access

How to obtain:

  1. Register your client with Hydra
  2. Complete OAuth2 client credentials or authorization code flow
  3. Include token in Authorization: Bearer <token> header

Path Parameters

sessionId
string
required

Query Parameters

wait
boolean
default:false

When true, the server blocks up to 60 seconds waiting for the session to transition to a terminal state (completed, failed, expired). Useful to avoid tight-loop polling.

Response

Payment session state

session_id
string
required
status
enum<string>
required
Available options:
pending,
completed,
failed,
expired
amount
string
required

Amount as string to avoid float precision

asset
string
required
Example:

"USDC"

network
string
required
Example:

"base-sepolia"

pay_to
string
required

Wallet address to pay

created_at
string<date-time>
required
expires_at
string<date-time>
capture_url
string<uri>

Human-facing payment URL

payer
string

Payer wallet address, set on completion.

tx_hash
string

On-chain transaction hash (when status = completed).

completed_at
string<date-time>