Whether a handle deployed a contract

GET/api/v1/profiles/{handle}/contracts/{address}

200 with the contract when one of the handle's wallets deployed it on this deployment's network, by the contract page's attribution: the indexer's records (method 'indexer'), or, with no database, a check of the wallets' Horizon history for the deploy (method 'deployer-check'). Otherwise 404. A contract another handle deployed and one that does not exist give the same 404 body, byte for byte, so the endpoint cannot be used to learn who deployed what.

Parameters

Parameters
NameInTypeDescription
handlepathstringHandle to look up (case-insensitive).
addresspathstringSoroban contract ID (C...).

Example request

curl example
curl -s -H "Accept: application/json" "https://signet-web-pearl.vercel.app/api/v1/profiles/alice/contracts/CAMYYJCHOQZSTF2KF6WY4UMFXS75VI46NEGKWE6XHWFULYD46BE5EUXZ"
@signet/sdk example
import { SignetClient } from '@signet/sdk';

const signet = new SignetClient({ baseUrl: 'https://signet-web-pearl.vercel.app' });
const result = await signet.getContract('alice', 'CAMYYJCHOQZSTF2KF6WY4UMFXS75VI46NEGKWE6XHWFULYD46BE5EUXZ');

Responses

200 · The handle deployed this contract.

Fields of a 200 response
FieldTypeDescription
dataobject
addressstringSoroban contract ID (C...).
attributionobject | null
method"indexer" | "deployer-check"
walletstring
deployedAtstring | nullISO-8601 UTC timestamp of deployment.
deployerstring | nullStellar address of the deployer.
handlestring | nullHandle the contract is bound or attributed to.
name?string | nullContract interface name or title.
network"testnet" | "mainnet"Network the contract is deployed on.
wasmHashstring | nullHex-encoded SHA-256 hash of the contract bytecode.

400 · Invalid handle or contract ID.

404 · No contract with this address is attributed to this handle.

429 · Rate limit exceeded.

500 · Internal server error.

503 · Attribution is unavailable (neither the database nor Horizon answered).

Example response

Generated from the schema; real values differ.

example response
{
  "data": {
    "address": "CAMYYJCHOQZSTF2KF6WY4UMFXS75VI46NEGKWE6XHWFULYD46BE5EUXZ",
    "attribution": {
      "method": "indexer",
      "wallet": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
    },
    "deployedAt": "2026-09-20T12:00:00.000Z",
    "deployer": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
    "handle": "alice",
    "name": "identity-registry",
    "network": "testnet",
    "wasmHash": "b2a1f39f0e8f1c5bd3a2e6c1d0f4b7a8c9e2d1f0a3b4c5d6e7f8091a2b3c4d5e"
  }
}