API reference
SONAR
Crossway stage 2 — does this external registry hold the key, and at which participant. Budgeted, logged, constant-shape.
LIVE — PIP-0014.
Private access. The Crossway API is operated by Path Global. Access is closed and granted per client and per registry, on request at pathglobal.finance. Requests are signed as in Authentication, under a key issued by Path Global, and sent from your server only.
https://api.pathglobal.finance/crossway/v1Answers does this registry hold this key, and which participant holds it. The connector queries the registry at the time of the call. See the spec.
POST /sonar
{
"registry": "pix.dict",
"key_type": "phone",
"key": "+5511987654321",
"purpose": "payment_preparation",
"nonce": "9f2c41a8b7e3"
}| Field | Required | Notes |
|---|---|---|
registry | yes | From Discovery |
key_type, key | yes | As in Discovery |
purpose | yes | payment_preparation. The only value |
nonce | yes | Bound into the signed answer |
Response
{
"kind": "crossway.sonar",
"registry": "pix.dict",
"key_hash": "c41a8f2b…",
"requester": "client-fintech-a",
"found": true,
"participant": { "id": "12345678", "name": "Example Bank S.A." },
"connector": "pathglobal-br-01",
"attestation": "att_9kq3m7vx2pf8",
"nonce": "9f2c41a8b7e3",
"signed_at": "2026-10-05T10:00:00Z",
"kid": "pg_crossway_2026_01",
"signature": "…"
}When the key is unknown, or known but not visible to you, the answer is the same:
{ "kind": "crossway.sonar", "registry": "pix.dict", "key_hash": "c41a8f2b…", "found": false, "…": "signed as above" }Verify the signature and the attestation before
using participant.
Budget
Per client and per registry. A sustained rate of found: false reduces it. There is no batch
endpoint.
Errors
| Code | Status | Meaning |
|---|---|---|
crossway.purpose.required | 400 | purpose missing |
crossway.auth.unauthenticated | 401 | Missing or invalid signature |
crossway.access.not_granted | 403 | Your access does not cover this registry or operation |
crossway.budget.exhausted | 429 | Budget spent. Not a rate limit: do not retry slower |
crossway.registry.unavailable | 503 | The registry did not answer. Retryable |
DISCOVERY
Crossway stage 1 — which external registry can know this key. Answered from the key's form and the connector register. No registry is queried.
RESOLVER
Crossway stage 3 — where to send, on which rail, in which currency. A short-lived reading of the external registry, in the rail's beneficiary format.