> For the complete documentation index, see [llms.txt](https://docs.coridor.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coridor.fun/developers/authenticate-sep-10.md).

# Authenticate (SEP-10)

Authenticate the user with Coridor using **SEP-10** against Coridor’s home domain.

## Required information

1. User’s Stellar **account public key** (non-custodial) or your custodial auth pattern
2. Coridor **WEB\_AUTH\_ENDPOINT** from [stellar.toml](/developers/stellar.toml-and-sep.md):\
   `https://sep.coridor.fun/auth`
3. Coridor **SIGNING\_KEY** from TOML (to verify the challenge)
4. Network passphrase: `Test SDF Network ; September 2015` (testnet)

## Non-custodial wallet (typical)

Pass the **user’s keypair** and Coridor **home domain**:

```typescript
import { Wallet } from "@stellar/typescript-wallet-sdk";

const wallet = Wallet.TestNet();
const anchor = wallet.anchor({ homeDomain: "sep.coridor.fun" });
const sep10 = await anchor.sep10();
const authToken = await sep10.authenticate({ clientDomain: "sep.coridor.fun" });
// authToken is a JWT string for SEP-24 calls
```

**Important:** `SEP10_HOME_DOMAINS` on the anchor must include `sep.coridor.fun` (production).

## Custodial wallet

If you use a shared Stellar account with per-user **memo**:

* Follow SEP-10 with memo as required by your architecture
* Coridor staging is optimized for **non-custodial** Demo Wallet flows

See [Stellar SEP-10 documentation](https://developers.stellar.org/docs/build/apps/wallet/sep10) for custodial vs non-custodial patterns.

## Local development

<table><thead><tr><th width="367">Environment</th><th>Home domain</th></tr></thead><tbody><tr><td>Production</td><td><code>sep.coridor.fun</code></td></tr><tr><td>Local</td><td><code>localhost:8082</code> (HTTP only for dev)</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coridor.fun/developers/authenticate-sep-10.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
