> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aultblockchain.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Precompile: License

## Address

`0x0a01700000000000000000000000000000000001`

## Supported Methods

### Queries

| Signature                              |
| -------------------------------------- |
| `supportsInterface(bytes4)`            |
| `balanceOf(address)`                   |
| `ownerOf(uint256)`                     |
| `name()`                               |
| `symbol()`                             |
| `tokenURI(uint256)`                    |
| `totalSupply()`                        |
| `tokenOfOwnerByIndex(address,uint256)` |
| `locked(uint256)`                      |
| `license(uint256)`                     |
| `isActive(uint256)`                    |
| `isApprovedMember(address)`            |
| `isMinter(address)`                    |
| `isKYCApprover(address)`               |
| `params()`                             |

## Query Examples

Set the current testnet EVM JSON-RPC endpoint and precompile address:

```bash theme={null}
export RPC_URL="https://test-json-rpc.cloud.aultblockchain.xyz"
export LICENSE_PRECOMPILE="0x0a01700000000000000000000000000000000001"
```

### Direct call

```bash theme={null}
cast call "$LICENSE_PRECOMPILE" \
  "totalSupply()(uint256)" \
  --rpc-url "$RPC_URL"
```

### Call from contract

```solidity theme={null}
address constant LICENSE = 0x0a01700000000000000000000000000000000001;

function queryLicenseTotalSupply() external view returns (uint256) {
    (bool ok, bytes memory out) = LICENSE.staticcall(
        abi.encodeWithSignature("totalSupply()")
    );
    require(ok, "precompile call failed");
    return abi.decode(out, (uint256));
}
```

## Notes

* Admin-only transaction methods are intentionally omitted from this public reference.

## ABI

<a href="/assets/abi/license_precompile_abi.json" download>
  Download License ABI JSON
</a>
