GROWX · CREDIT POOL · V0GROWTH CHAIN · USDG · ERC-8004SOLIDITY 0.8.26 · EXPERIMENTAL

trust, grown from a track record

Reputation.
Rooted in repayment.

Unsecured USDG credit for autonomous agents. Sponsors put capital behind conviction. Every repayment grows a record anyone can verify.

$GROWX token address
0x17ff205030b2358d2bf4538d6a4203d8f54df5df

ERC-8004 identities · On-chain credit history · Open protocol

repaid
$4,218
96 repayments
loans
142
$7,904 lent out
agents
34
6 sponsors · 0 defaulted
lender losses
$0
no defaults yet
● ● ● growx · simulation terminal block 491

$ help

commands: score <id> · status <id> · borrow <id> <usd> · repay <id> · vouch <id> <usd> · default <id> · replay · clear

the living ledger
#1 growx-treasury · $51
#2 seed-a · $1,500
#3 seed-b · $900
sponsor vouched agent repaid loan default
the grove · replaying block 272 · 117 / 167
VOUCH · #21 moss · $50.00REPAID · #14 cedar · +$72.00BORROW · #19 fern · $48.00REPAID · #8 delta · +$41.00VOUCH · #17 bloom · $65.00BORROW · #11 pine · $26.00REPAID · #6 root · +$18.00BORROW · #21 moss · $53.00VOUCH · #21 moss · $50.00REPAID · #14 cedar · +$72.00BORROW · #19 fern · $48.00REPAID · #8 delta · +$41.00VOUCH · #17 bloom · $65.00BORROW · #11 pine · $26.00REPAID · #6 root · +$18.00BORROW · #21 moss · $53.00
living ledger3 entriessnapshot · block 486

#11 pine took loan #93, due 2026-10-09

19 Sept 2026, 19:31 UTC · block 486 · 0x5d72…e810

$26.00

#6 root settled loan #59 + $0.03 fee

19 Sept 2026, 19:28 UTC · block 485 · 0xc301…b52f

+$18.00

#21 moss took loan #92, due 2026-10-12

19 Sept 2026, 19:26 UTC · block 484 · 0x0cb8…18f0

$53.00
agentscorevolumerepaid
01#14 cedar771$4,190.0044
02#4 atlas684$2,840.0031
03#6 root612$1,960.0024
04#8 delta542$1,620.0019
§ 01

Model

One pool of USDG. Every agent has a capacity, most of it lent by a sponsor. What a sponsor lends out, it can lose. That is the trust mechanism.

Accounting · GrowthPool.sol

capacity(a) = stake + earned + delegatedIn

available(a) = capacity − principalOut − delegatedOut


borrow(a, P) → require minLoan ≤ P ≤ available(a)

repay(a) → fee distributed · earned credit grows

lender

Supplies USDG and earns 60% of every fee.

sponsor

Stakes capital and vouches for agents.

agent

Borrows against a verifiable identity.

reserve

Absorbs loss after sponsor capital.

§ 02

Loan lifecycle

Four transitions. The final transition is what gives a GROWX score its meaning.

state 01
OPEN
borrow(P, term)
Capital leaves the pool
state 02
REPAID
repay() ≤ due + grace
Score rises · capacity grows
state 03
DEFAULTED
markDefault()
Score becomes zero forever
§ 03

Score

Six terms over the on-chain record, normalized from 0 to 1000. Capital held for real time and returned matters most.

ScoreLib.sol · v1

score(r) = defaulted ? 0 :

min(400, dollarDays / $10)

+ min(200, 20 · qualifiedRepaid)

+ min(150, delegatedIn / $5)

+ min(150, 2 · daysEnrolled)

+ min(100, 50 · recourseHonored)

− 75 · childrenDefaulted

Recorded inputs · #14 cedar
dollar-days repaid+400
qualified loans+160
backing at risk+91
time enrolled+120
score(14)771
§ 04

Invariants

Checked on every state transition. These are intended properties, not a guarantee of safety; experimental capital remains at risk.

I1 · solvency

badDebt ≤ totalEarned ≤ reserve

stateful fuzz · 256 × 64

I2 · cash

balance = liquidity + stake + reserve

stateful fuzz · 256 × 64

I3 · exposure

principalOut + delegatedOut ≤ capacity

stateful fuzz · 256 × 64

§ 05

Parameters

Read from getParams() on the deployed pool. Owner-adjustable within bounds; every change emits ParamsUpdated.

paramvaluemeaning
minLoan / maxLoan$5 / $500loan size bounds
minTerm / maxTerm1 d / 30 dduration bounds
grace3 dbefore default may be marked
feeBps1% / 30 dflat fee, pro rata
growthBps50%repaid principal becomes capacity
maxEarned$250earned credit cap per agent
§ 06

$GROWX is a sponsor

Creator fees strengthen the system by rule: half funds the first-loss reserve, half becomes sponsor stake for new autonomous agents.

fee path · GrowxTreasury.sol

Pons escrow ── fees ──▶ treasury.sweep()

├── 50% → fundReserve()

└── 50% → addStake(id)


firstLine(agent) → vouch $5

raise(agent) → clean record → line $50

token address · 0x17ff205030b2358d2bf4538d6a4203d8f54df5df

$7,840
first-loss reserve
$622
active backing
$0
lender loss
§ 07

Interface

Everything an agent, sponsor, or lender can do. The score is a single verifiable view call.

GrowxProtocol.sol · deployed ABI
rootAgent(string name) → agentId
fundPool() payable
vouch(uint256 agentId) payable
borrow(uint256 agentId, uint256 amount) → loanId
repay(uint256 loanId) payable
markDefault(uint256 loanId)
claim(uint256 agentId, uint256 amount)
score(uint256 agentId) → uint256
getAgent(uint256 agentId) → Agent
getLoan(uint256 loanId) → Loan
stats() → protocol totals
verify · Robinhood Chain

# read an agent score directly from the deployed contract

cast call 0xf8d8B64E76A7830e860EEE4a7f8bc8be596C5bBE

"score(uint256)(uint256)" 1

View deployed contract
§ 08

Your agent

Inspect a public credit identity from this protocol snapshot.

Try demo agents 4, 8, or 14.

cedar
identity
771
score
$500.00
capacity
44
repaid
$4,190.00
volume
Terminal simulations persist to the GROWX ledger; section 09 settles real transactions on Robinhood Chain.
§ 09

Live contract

Connect MetaMask to Robinhood Chain (id 4663) and settle real borrow, repay, vouch and default transactions against the deployed GrowxProtocol contract.

on-chain · Robinhood Chain · id 46630xf8d8…5bBE token · 0x17ff205030b2358d2bf4538d6a4203d8f54df5df
agents
loans
pool liquidity
repaid
lender loss
your branch
actions
ETH
status · idle