> For the complete documentation index, see [llms.txt](https://docs.giwa.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.giwa.io/giwa-chain/en/giwa-ecosystem/dojang/contracts.md).

# Dojang Contracts

## Testnet (GIWA Sepolia)

### Attesters

| Attester Name  | Attester ID                                                          | Attester Address                                                                                                                    |
| -------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| UPBIT KOREA    | `0xd99b42e778498aa3c9c1f6a012359130252780511687a35982e8e52735453034` | [`0x09B170CA2A006081042992bCE7379B85a02149C6`](https://sepolia-explorer.giwa.io/address/0x09B170CA2A006081042992bCE7379B85a02149C6) |
| TESTNET FAUCET | `0xaa92f8c143657dde575de430aecaea6ca91f2e6072339b16932d426895d8d678` | [`0x63CCe2b569A7bC35895ee24306c1512fefc06121`](https://sepolia-explorer.giwa.io/address/0x63CCe2b569A7bC35895ee24306c1512fefc06121) |

### Schemas

<table data-full-width="false"><thead><tr><th>Schema Name</th><th>Description</th><th>Schema Content</th><th>Schema ID</th><th>Schema UID</th></tr></thead><tbody><tr><td>Verified Address</td><td>A wallet address that has been identity-verified by a trusted issuer.</td><td><code>bool isVerified</code></td><td><code>0x568eb581cdf80b03d3bdfa414f3203bfdcc4bba4e66355612bd0e879da812f06</code></td><td><code>0x072d75e18b2be4f89a13a7147240477481c4b526d5795802acba59046b426e08</code></td></tr><tr><td>Balance Root</td><td>A Merkle-tree summary of all users’ balances at a specific snapshot timestamp.</td><td><code>uint256 coinType,uint64 snapshotAt,uint192 leafCount,uint256 totalAmount,bytes32 root</code></td><td><code>0xf09c1384d860519bb4ea5bb2a45ab64b00a8d900d47fb79203663be6da21e06c</code></td><td><code>0x369faa9c2cd261c45be3db5e230b585f5f1abecf8e12be575bb543e917e6db52</code></td></tr><tr><td>Verified Balance</td><td>A user’s balance at a specific timestamp has been verified by a trusted issuer.</td><td><code>uint256 balance,bytes32 salt,bytes32[] proofs</code></td><td><code>0x06c3bd846f5ea60b0b6f5a835ef85fd8253b53f67917d6c690be628d032f841b</code></td><td><code>0x77bf88ca262cc63e1b185dccd870aacc5320b8987ef6c7169920f265fe6ab5e9</code></td></tr><tr><td>Verified Code</td><td>An off-chain authentication code issued to the user by the provider</td><td><code>bytes32 codeHash,string domain</code></td><td><code>0x68053e055c01ce9b3577f3162b36324bb195ebcb574c48e823480d205f06af9b</code></td><td><code>0x55ac1369dac97522d062b89ffdc4e752b48fbeba86915fdb956c7c2d0501d280</code></td></tr></tbody></table>

### Contracts

{% hint style="info" %}
Want to query Dojang data? Start with the `DojangScroll` contract from the list below.
{% endhint %}

<table><thead><tr><th>Name</th><th width="249.0869140625">Description</th><th>Address</th></tr></thead><tbody><tr><td>SchemaRegistry</td><td>Contract for querying and registering schemas</td><td> <a href="https://sepolia-explorer.giwa.io/address/0x4200000000000000000000000000000000000020"><code>0x420000000000000000000000000000000000002</code></a></td></tr><tr><td>EAS</td><td>Contract for querying, issuing, and revoking attestations</td><td><a href="https://sepolia-explorer.giwa.io/address/0x4200000000000000000000000000000000000021"><code>0x4200000000000000000000000000000000000021</code></a></td></tr><tr><td>SchemaBook</td><td>Contract that manages the list of schemas</td><td><a href="https://sepolia-explorer.giwa.io/address/0x78cBb3413FBb6aF05EF1D21e646440e56baE3AD6"><code>0x78cBb3413FBb6aF05EF1D21e646440e56baE3AD6</code></a></td></tr><tr><td>DojangAttesterBook</td><td>Contract that manages the list of attesters</td><td><a href="https://sepolia-explorer.giwa.io/address/0xDA282E89244424E297Ce8e78089B54D043FB28B6"><code>0xDA282E89244424E297Ce8e78089B54D043FB28B6</code></a></td></tr><tr><td>AttestationIndexer</td><td>Contract that indexes all Dojang attestations. Use this contract when querying.</td><td><a href="https://sepolia-explorer.giwa.io/address/0x9C9Bf29880448aB39795a11b669e22A0f1d790ec"><code>0x9C9Bf29880448aB39795a11b669e22A0f1d790e</code></a></td></tr><tr><td>AddressDojangResolver</td><td>Hook contract triggered when Verified Address attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0x692009FE206C3F897867F6BF7B5B45506B747F9e"><code>0x692009FE206C3F897867F6BF7B5B45506B747F9e</code></a></td></tr><tr><td>BalanceRootDojangResolver</td><td>Hook contract triggered when Balance Root attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0xD90a964aB65bc02397De1E7fcBd230803bC1bEd0"><code>0xD90a964aB65bc02397De1E7fcBd230803bC1bEd</code></a></td></tr><tr><td>BalanceDojangResolver</td><td>Hook contract triggered when Verified Balance attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0x6FFa7ABc1E380Bb967C78D5E648EF804e1fE6dAd"><code>0x6FFa7ABc1E380Bb967C78D5E648EF804e1fE6dA</code></a></td></tr><tr><td>VerifyCodeDojangResolver</td><td>Hook contract triggered when Verified Code attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0x843fF433f7657901118fF3E2Eca915abb9BC12Df"><code>0x843fF433f7657901118fF3E2Eca915abb9BC12D</code></a></td></tr><tr><td>DojangScroll</td><td>Contract for easily querying Dojang data</td><td><a href="https://sepolia-explorer.giwa.io/address/0xd5077b67dcb56caC8b270C7788FC3E6ee03F17B9"><code>0xd5077b67dcb56caC8b270C7788FC3E6ee03F17B9</code></a></td></tr></tbody></table>

## Learn more

You can find the Dojang contract code in <i class="fa-github">:github:</i> [**giwa-io/dojang**](https://github.com/giwa-io/dojang) repositor&#x79;**.**


---

# 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.giwa.io/giwa-chain/en/giwa-ecosystem/dojang/contracts.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.
