> For the complete documentation index, see [llms.txt](https://docs.sns.id/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sns.id/dev/sns-sdk/editor.md).

# Resolve Domains

Resolving a domain involves finding its corresponding owner wallet address. Learn more about SNS resolution methodology and the steps involved to finally resolve an address from a domain here: [On-Chain Resolution](/dev/on-chain-resolution.md). \ <br>

{% tabs %}
{% tab title="web3.js v1" %}

```typescript
import { resolve } from "@bonfida/spl-name-service";

const domain = "bonfida.sol" // With or without .sol

// The config argument to resolve is optional
// If allowPDA is true, a list of program IDs is required
const resolveConfig = { allowPDA: true, programIds: ["..."] }

// Final argument is optional
const resolvedAddress = await resolve(connection, domain, resolveConfig)
```

{% endtab %}

{% tab title="web3.js v2 (@solana/kit)" %}

```typescript
import { resolveDomain } from "@solana-name-service/sns-sdk-kit";

const domain = "sns.sol" // With or without .sol

// The options argument is not required to be passed
// If allowPDA is true, a list of program IDs is required.
const resolveOptions = { allowPda: true, programIds: ["..."] }

const resolvedAddress = await resolveDomain({ rpc, domain, options:resolveOptions });
```

{% endtab %}
{% endtabs %}
