---
updatedAt: 2026-09-20T01:09:43.000Z
agentTools:
  projectIndex: https://docs.blockvision.org/llms.txt
---

# Retrieve Contract Source Code

Returns the contract source code verification status and source code.

<Callout icon="📘" theme="info">
  Supported on Monad Mainnet and Testnet.
</Callout>

<Callout icon="🚧" theme="warn">
  This API is available to all users including free tier. The same request URL is used for both mainnet and testnet. Network selection is handled automatically through the API key.

  If you're interested, please register directly through [here](https://dashboard.blockvision.org/overview). Please note that the API Key can also be used for your RPC endpoint.
</Callout>

## Parameter

* `address`, `string` - a 42 character address with '0x' as prefix.

## Response

* `code`, `number` - response status code, e.g., `0` for success.
* `reason`, `string` - reason message if there's an error.
* `message`, `string` - response message, e.g., `OK`.
* `result`, `object` - result object containing contract source code and metadata.
  * `contractAddress`, `string` - the EVM address of the contract.
  * `contractName`, `string` - the name of the contract.
  * `abi`, `string` - the ABI (Application Binary Interface) of the contract.
  * `creationByteCode`, `string` - the contract's creation bytecode.
  * `metadata`, `object` - standard [Solidity contract metadata](https://docs.soliditylang.org/en/latest/metadata.html).
  * `status`, `string` - current verification status of the contract (e.g., "full", "partial", "unverified").
  * `sourceCode`, `object array` - an array of source code files for the contract.
    * `content`, `string` - the full source code content of the current file.
    * `name`, `string` - the filename of the current source file.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "blockvision_v2",
    "version": "2.0"
  },
  "servers": [
    {
      "url": "https://api.blockvision.org/v2"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/monad/contract/source/code": {
      "get": {
        "summary": "Retrieve Contract Source Code",
        "description": "Returns the contract source code verification status and source code.",
        "operationId": "retrieve-contract-source-code",
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "description": "contract address",
            "required": true,
            "schema": {
              "type": "string",
              "default": "0x18556DA13313f3532c54711497A8FedAC273220E"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n    \"code\": 0,\n    \"reason\": \"\",\n    \"message\": \"OK\",\n    \"result\": {\n        \"contractAddress\": \"0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701\",\n        \"contractName\": \"WrappedMonad\",\n        \"abi\": \"[{\\\"anonymous\\\":false,\\\"inputs\\\":[{\\\"indexed\\\":true,\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"src\\\",\\\"type\\\":\\\"address\\\"},{\\\"indexed\\\":true,\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"guy\\\",\\\"type\\\":\\\"address\\\"},{\\\"indexed\\\":false,\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"Approval\\\",\\\"type\\\":\\\"event\\\"},{\\\"anonymous\\\":false,\\\"inputs\\\":[{\\\"indexed\\\":true,\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"dst\\\",\\\"type\\\":\\\"address\\\"},{\\\"indexed\\\":false,\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"Deposit\\\",\\\"type\\\":\\\"event\\\"},{\\\"anonymous\\\":false,\\\"inputs\\\":[{\\\"indexed\\\":true,\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"src\\\",\\\"type\\\":\\\"address\\\"},{\\\"indexed\\\":true,\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"dst\\\",\\\"type\\\":\\\"address\\\"},{\\\"indexed\\\":false,\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"Transfer\\\",\\\"type\\\":\\\"event\\\"},{\\\"anonymous\\\":false,\\\"inputs\\\":[{\\\"indexed\\\":true,\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"src\\\",\\\"type\\\":\\\"address\\\"},{\\\"indexed\\\":false,\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"Withdrawal\\\",\\\"type\\\":\\\"event\\\"},{\\\"stateMutability\\\":\\\"payable\\\",\\\"type\\\":\\\"fallback\\\"},{\\\"inputs\\\":[{\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"address\\\"},{\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"address\\\"}],\\\"name\\\":\\\"allowance\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"stateMutability\\\":\\\"view\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[{\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"guy\\\",\\\"type\\\":\\\"address\\\"},{\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"approve\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"bool\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"bool\\\"}],\\\"stateMutability\\\":\\\"nonpayable\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[{\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"address\\\"}],\\\"name\\\":\\\"balanceOf\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"stateMutability\\\":\\\"view\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[],\\\"name\\\":\\\"decimals\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"uint8\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"uint8\\\"}],\\\"stateMutability\\\":\\\"view\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[],\\\"name\\\":\\\"deposit\\\",\\\"outputs\\\":[],\\\"stateMutability\\\":\\\"payable\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[],\\\"name\\\":\\\"name\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"string\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"string\\\"}],\\\"stateMutability\\\":\\\"view\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[],\\\"name\\\":\\\"symbol\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"string\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"string\\\"}],\\\"stateMutability\\\":\\\"view\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[],\\\"name\\\":\\\"totalSupply\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"stateMutability\\\":\\\"view\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[{\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"dst\\\",\\\"type\\\":\\\"address\\\"},{\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"transfer\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"bool\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"bool\\\"}],\\\"stateMutability\\\":\\\"nonpayable\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[{\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"src\\\",\\\"type\\\":\\\"address\\\"},{\\\"internalType\\\":\\\"address\\\",\\\"name\\\":\\\"dst\\\",\\\"type\\\":\\\"address\\\"},{\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"transferFrom\\\",\\\"outputs\\\":[{\\\"internalType\\\":\\\"bool\\\",\\\"name\\\":\\\"\\\",\\\"type\\\":\\\"bool\\\"}],\\\"stateMutability\\\":\\\"nonpayable\\\",\\\"type\\\":\\\"function\\\"},{\\\"inputs\\\":[{\\\"internalType\\\":\\\"uint256\\\",\\\"name\\\":\\\"wad\\\",\\\"type\\\":\\\"uint256\\\"}],\\\"name\\\":\\\"withdraw\\\",\\\"outputs\\\":[],\\\"stateMutability\\\":\\\"nonpayable\\\",\\\"type\\\":\\\"function\\\"}]\",\n        \"creationByteCode\": \"0x60c0604052600d60808190526c15dc985c1c195908135bdb9859609a1b60a090815261002e916000919061007a565b50604080518082019091526004808252632ba6a7a760e11b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b5061014d565b82805461008690610113565b90600052602060002090601f0160209004810192826100a857600085556100ee565b82601f106100c157805160ff19168380011785556100ee565b828001600101855582156100ee579182015b828111156100ee5782518255916020019190600101906100d3565b506100fa9291506100fe565b5090565b5b808211156100fa57600081556001016100ff565b600181811c9082168061012757607f821691505b60208210810361014757634e487b7160e01b600052602260045260246000fd5b50919050565b6107b78061015c6000396000f3fe60806040526004361061009c5760003560e01c8063313ce56711610064578063313ce5671461015e57806370a082311461018a57806395d89b41146101b7578063a9059cbb146101cc578063d0e30db01461009c578063dd62ed3e146101ec5761009c565b806306fdde03146100a6578063095ea7b3146100d157806318160ddd1461010157806323b872dd1461011e5780632e1a7d4d1461013e575b6100a4610224565b005b3480156100b257600080fd5b506100bb61027f565b6040516100c891906105c4565b60405180910390f35b3480156100dd57600080fd5b506100f16100ec366004610635565b61030d565b60405190151581526020016100c8565b34801561010d57600080fd5b50475b6040519081526020016100c8565b34801561012a57600080fd5b506100f161013936600461065f565b610379565b34801561014a57600080fd5b506100a461015936600461069b565b6104fd565b34801561016a57600080fd5b506002546101789060ff1681565b60405160ff90911681526020016100c8565b34801561019657600080fd5b506101106101a53660046106b4565b60036020526000908152604090205481565b3480156101c357600080fd5b506100bb6105a3565b3480156101d857600080fd5b506100f16101e7366004610635565b6105b0565b3480156101f857600080fd5b506101106102073660046106cf565b600460209081526000928352604080842090915290825290205481565b3360009081526003602052604081208054349290610243908490610718565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b6000805461028c90610730565b80601f01602080910402602001604051908101604052809291908181526020018280546102b890610730565b80156103055780601f106102da57610100808354040283529160200191610305565b820191906000526020600020905b8154815290600101906020018083116102e857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103689086815260200190565b60405180910390a350600192915050565b6001600160a01b03831660009081526003602052604081205482111561039e57600080fd5b6001600160a01b03841633148015906103dc57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561044a576001600160a01b038416600090815260046020908152604080832033845290915290205482111561041157600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091528120805484929061044490849061076a565b90915550505b6001600160a01b0384166000908152600360205260408120805484929061047290849061076a565b90915550506001600160a01b0383166000908152600360205260408120805484929061049f908490610718565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104eb91815260200190565b60405180910390a35060019392505050565b3360009081526003602052604090205481111561051957600080fd5b336000908152600360205260408120805483929061053890849061076a565b9091555050604051339082156108fc029083906000818181858888f1935050505015801561056a573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b6001805461028c90610730565b60006105bd338484610379565b9392505050565b600060208083528351808285015260005b818110156105f1578581018301518582016040015282016105d5565b81811115610603576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461063057600080fd5b919050565b6000806040838503121561064857600080fd5b61065183610619565b946020939093013593505050565b60008060006060848603121561067457600080fd5b61067d84610619565b925061068b60208501610619565b9150604084013590509250925092565b6000602082840312156106ad57600080fd5b5035919050565b6000602082840312156106c657600080fd5b6105bd82610619565b600080604083850312156106e257600080fd5b6106eb83610619565b91506106f960208401610619565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561072b5761072b610702565b500190565b600181811c9082168061074457607f821691505b60208210810361076457634e487b7160e01b600052602260045260246000fd5b50919050565b60008282101561077c5761077c610702565b50039056fea26469706673582212205c24d8a3eef7a1da1bc1a94176592008291a40aa8f22e64ec05658dfaa71d87364736f6c634300080d0033\",\n        \"sourceCode\": [\n            {\n                \"content\": \"// SPDX-License-Identifier: MIT\\npragma solidity 0.8.13;\\n\\ncontract WrappedMonad {\\n    string public name = \\\"Wrapped Monad\\\";\\n    string public symbol = \\\"WMON\\\";\\n    uint8 public decimals = 18;\\n\\n    event Approval(address indexed src, address indexed guy, uint256 wad);\\n    event Transfer(address indexed src, address indexed dst, uint256 wad);\\n    event Deposit(address indexed dst, uint256 wad);\\n    event Withdrawal(address indexed src, uint256 wad);\\n\\n    mapping(address =\\u003e uint256) public balanceOf;\\n    mapping(address =\\u003e mapping(address =\\u003e uint256)) public allowance;\\n\\n    fallback() external payable {\\n        deposit();\\n    }\\n\\n    function deposit() public payable {\\n        balanceOf[msg.sender] += msg.value;\\n        emit Deposit(msg.sender, msg.value);\\n    }\\n\\n    function withdraw(uint256 wad) public {\\n        require(balanceOf[msg.sender] \\u003e= wad);\\n        balanceOf[msg.sender] -= wad;\\n        payable(msg.sender).transfer(wad);\\n        emit Withdrawal(msg.sender, wad);\\n    }\\n\\n    function totalSupply() public view returns (uint256) {\\n        return address(this).balance;\\n    }\\n\\n    function approve(address guy, uint256 wad) public returns (bool) {\\n        allowance[msg.sender][guy] = wad;\\n        emit Approval(msg.sender, guy, wad);\\n        return true;\\n    }\\n\\n    function transfer(address dst, uint256 wad) public returns (bool) {\\n        return transferFrom(msg.sender, dst, wad);\\n    }\\n\\n    function transferFrom(address src, address dst, uint256 wad) public returns (bool) {\\n        require(balanceOf[src] \\u003e= wad);\\n\\n        if (src != msg.sender \\u0026\\u0026 allowance[src][msg.sender] != type(uint256).max) {\\n            require(allowance[src][msg.sender] \\u003e= wad);\\n            allowance[src][msg.sender] -= wad;\\n        }\\n\\n        balanceOf[src] -= wad;\\n        balanceOf[dst] += wad;\\n\\n        emit Transfer(src, dst, wad);\\n\\n        return true;\\n    }\\n}\\n\",\n                \"name\": \"WrappedMonad.sol\"\n            }\n        ],\n        \"status\": \"full\"\n    }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "example": 0,
                      "default": 0
                    },
                    "reason": {
                      "type": "string",
                      "example": ""
                    },
                    "message": {
                      "type": "string",
                      "example": "OK"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "contractAddress": {
                          "type": "string",
                          "example": "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701"
                        },
                        "contractName": {
                          "type": "string",
                          "example": "WrappedMonad"
                        },
                        "abi": {
                          "type": "string",
                          "example": "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"
                        },
                        "creationByteCode": {
                          "type": "string",
                          "example": "0x60c0604052600d60808190526c15dc985c1c195908135bdb9859609a1b60a090815261002e916000919061007a565b50604080518082019091526004808252632ba6a7a760e11b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b5061014d565b82805461008690610113565b90600052602060002090601f0160209004810192826100a857600085556100ee565b82601f106100c157805160ff19168380011785556100ee565b828001600101855582156100ee579182015b828111156100ee5782518255916020019190600101906100d3565b506100fa9291506100fe565b5090565b5b808211156100fa57600081556001016100ff565b600181811c9082168061012757607f821691505b60208210810361014757634e487b7160e01b600052602260045260246000fd5b50919050565b6107b78061015c6000396000f3fe60806040526004361061009c5760003560e01c8063313ce56711610064578063313ce5671461015e57806370a082311461018a57806395d89b41146101b7578063a9059cbb146101cc578063d0e30db01461009c578063dd62ed3e146101ec5761009c565b806306fdde03146100a6578063095ea7b3146100d157806318160ddd1461010157806323b872dd1461011e5780632e1a7d4d1461013e575b6100a4610224565b005b3480156100b257600080fd5b506100bb61027f565b6040516100c891906105c4565b60405180910390f35b3480156100dd57600080fd5b506100f16100ec366004610635565b61030d565b60405190151581526020016100c8565b34801561010d57600080fd5b50475b6040519081526020016100c8565b34801561012a57600080fd5b506100f161013936600461065f565b610379565b34801561014a57600080fd5b506100a461015936600461069b565b6104fd565b34801561016a57600080fd5b506002546101789060ff1681565b60405160ff90911681526020016100c8565b34801561019657600080fd5b506101106101a53660046106b4565b60036020526000908152604090205481565b3480156101c357600080fd5b506100bb6105a3565b3480156101d857600080fd5b506100f16101e7366004610635565b6105b0565b3480156101f857600080fd5b506101106102073660046106cf565b600460209081526000928352604080842090915290825290205481565b3360009081526003602052604081208054349290610243908490610718565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b6000805461028c90610730565b80601f01602080910402602001604051908101604052809291908181526020018280546102b890610730565b80156103055780601f106102da57610100808354040283529160200191610305565b820191906000526020600020905b8154815290600101906020018083116102e857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103689086815260200190565b60405180910390a350600192915050565b6001600160a01b03831660009081526003602052604081205482111561039e57600080fd5b6001600160a01b03841633148015906103dc57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561044a576001600160a01b038416600090815260046020908152604080832033845290915290205482111561041157600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091528120805484929061044490849061076a565b90915550505b6001600160a01b0384166000908152600360205260408120805484929061047290849061076a565b90915550506001600160a01b0383166000908152600360205260408120805484929061049f908490610718565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104eb91815260200190565b60405180910390a35060019392505050565b3360009081526003602052604090205481111561051957600080fd5b336000908152600360205260408120805483929061053890849061076a565b9091555050604051339082156108fc029083906000818181858888f1935050505015801561056a573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b6001805461028c90610730565b60006105bd338484610379565b9392505050565b600060208083528351808285015260005b818110156105f1578581018301518582016040015282016105d5565b81811115610603576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461063057600080fd5b919050565b6000806040838503121561064857600080fd5b61065183610619565b946020939093013593505050565b60008060006060848603121561067457600080fd5b61067d84610619565b925061068b60208501610619565b9150604084013590509250925092565b6000602082840312156106ad57600080fd5b5035919050565b6000602082840312156106c657600080fd5b6105bd82610619565b600080604083850312156106e257600080fd5b6106eb83610619565b91506106f960208401610619565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561072b5761072b610702565b500190565b600181811c9082168061074457607f821691505b60208210810361076457634e487b7160e01b600052602260045260246000fd5b50919050565b60008282101561077c5761077c610702565b50039056fea26469706673582212205c24d8a3eef7a1da1bc1a94176592008291a40aa8f22e64ec05658dfaa71d87364736f6c634300080d0033"
                        },
                        "sourceCode": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "content": {
                                "type": "string",
                                "example": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.13;\n\ncontract WrappedMonad {\n    string public name = \"Wrapped Monad\";\n    string public symbol = \"WMON\";\n    uint8 public decimals = 18;\n\n    event Approval(address indexed src, address indexed guy, uint256 wad);\n    event Transfer(address indexed src, address indexed dst, uint256 wad);\n    event Deposit(address indexed dst, uint256 wad);\n    event Withdrawal(address indexed src, uint256 wad);\n\n    mapping(address => uint256) public balanceOf;\n    mapping(address => mapping(address => uint256)) public allowance;\n\n    fallback() external payable {\n        deposit();\n    }\n\n    function deposit() public payable {\n        balanceOf[msg.sender] += msg.value;\n        emit Deposit(msg.sender, msg.value);\n    }\n\n    function withdraw(uint256 wad) public {\n        require(balanceOf[msg.sender] >= wad);\n        balanceOf[msg.sender] -= wad;\n        payable(msg.sender).transfer(wad);\n        emit Withdrawal(msg.sender, wad);\n    }\n\n    function totalSupply() public view returns (uint256) {\n        return address(this).balance;\n    }\n\n    function approve(address guy, uint256 wad) public returns (bool) {\n        allowance[msg.sender][guy] = wad;\n        emit Approval(msg.sender, guy, wad);\n        return true;\n    }\n\n    function transfer(address dst, uint256 wad) public returns (bool) {\n        return transferFrom(msg.sender, dst, wad);\n    }\n\n    function transferFrom(address src, address dst, uint256 wad) public returns (bool) {\n        require(balanceOf[src] >= wad);\n\n        if (src != msg.sender && allowance[src][msg.sender] != type(uint256).max) {\n            require(allowance[src][msg.sender] >= wad);\n            allowance[src][msg.sender] -= wad;\n        }\n\n        balanceOf[src] -= wad;\n        balanceOf[dst] += wad;\n\n        emit Transfer(src, dst, wad);\n\n        return true;\n    }\n}\n"
                              },
                              "name": {
                                "type": "string",
                                "example": "WrappedMonad.sol"
                              }
                            }
                          }
                        },
                        "status": {
                          "type": "string",
                          "example": "full"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```