Skip to content
Oris Docs

Resolve

GET /api/v1/resolve/.well-known/ccip/{sender}/{data}.json

EIP-3668 CCIP-Read gateway callback

When an on-chain client calls `OrisAgentKYAResolver.resolveOffchain(callData)`, the contract reverts with `OffchainLookup(urls, callData, callback, extraData)`. EIP-3668-compliant clients then fetch from this endpoint and re-enter the contract at `callback` with the signed response. The response carries an `expires` timestamp, a secp256k1 signature, and the resolver-bundle bytes.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Path parameters

NameTypeRequiredDescription
sender string Yes
data string Yes

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X GET 'https://api.useoris.xyz/api/v1/resolve/.well-known/ccip/{sender}/{data}.json' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'
GET /api/v1/resolve/agent/{identifier}

Resolve any-form agent identifier to a signed cross-rail bundle

Accepts UUID, did:oris, did:ethr, EVM address, EAS UID, or provider-prefixed external id. Returns a signed JSON envelope with the agent's KYA records across all wired rails plus the Living KYA overlay. The envelope's `proof` block is verifiable offline against the Oris resolver-signer public key at `https://useoris.xyz/.well-known/oris-resolver-key.json`.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Path parameters

NameTypeRequiredDescription
identifier string Yes

Query parameters

NameTypeRequiredDescription
refresh boolean No Skip L1/L2 cache when true.

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X GET 'https://api.useoris.xyz/api/v1/resolve/agent/{identifier}' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'
GET /api/v1/resolve/agent/{identifier}/bundle.jws

Detached JWS form of the resolver bundle

Returns the same bundle in detached JWS form so a verifier can re-canonicalise the payload, recompute the digest, and check the Ed25519 signature against the Oris resolver-signer key without parsing the JSON envelope.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Path parameters

NameTypeRequiredDescription
identifier string Yes

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X GET 'https://api.useoris.xyz/api/v1/resolve/agent/{identifier}/bundle.jws' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'
GET /api/v1/resolve/agent/{identifier}/proof

Merkle inclusion proof for a bundle under the current anchor root

Returns the leaf hash, sibling path, and root for the agent's bundle. Verifiers reconstruct the root locally and confirm it matches the most recent on-chain commit at `OrisAnchorRegistry.latestRoot()`.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Path parameters

NameTypeRequiredDescription
identifier string Yes

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X GET 'https://api.useoris.xyz/api/v1/resolve/agent/{identifier}/proof' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'
POST /api/v1/resolve/agent/batch

Batch resolve up to 100 identifiers in one call

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Request body

application/json, schema: BatchResolveRequest

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X POST 'https://api.useoris.xyz/api/v1/resolve/agent/batch' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)' \
  -H 'Content-Type: application/json' \
  -d '{...}'